866ai

突破代码生成瓶颈:基于信息增益的双模型协同训练范式

· 0 次浏览 ·来源: 866ai
arXiv:2609.21208v1 Announce Type: new Abstract: Self-play methods that co-train a single language model as both coder and test author promise to move code-generation RL beyond fixed test suites, but they suffer from two coupled pathologies: permissiveness collapse, where pass-rate rewards are maximised by trivial, non-discriminative tests, and concentration bias, where i.i.d. sampled tests cluster on modal inputs and inflate estimator variance....

重塑代码生成评估的内在逻辑

大型语言模型在代码生成领域的突飞猛进,固然离不开强大的模型参数与预训练数据的积累,但其背后的评估体系与训练范式同样扮演着关键角色。当前主流的强化学习从RLHF向RLHF的转型,旨在让模型在生成代码的同时学会自我纠错。然而,正如业内资深从业者所见,这种“自我对抗”并非坦途。文章开篇所揭示的两大核心病理现象——“宽容崩溃”与“集中偏差”,实际上是对当前训练机制的深刻剖析。前者指模型在面对琐碎、非判别性测试时,被轻易说服通过,导致评估指标虚高;后者则指出,如果测试用例来源单一、趋于同质,模型对常见输入的估计方差会被人为放大,从而掩盖真实的性能短板。这两者如同两面镜像,共同限制了代码生成能力的真实释放。

CoVer框架:信息增益与多样性的双重护航

针对上述痛点,作者提出了CoVer(Co-trained Coder and Verifier)框架,其核心在于重新定义“良好测试”的标准。传统方法往往仅关注测试的通过率,而CoVer引入了“信息增益”奖励机制。简单来说,该奖励不再单纯看测试是否通过,而是计算测试通过/失败向量与标准答案(ground-truth)之间的互信息。更关键的是,该机制通过协方差的符号进行门控,确保只有那些能够真正区分模型正确与错误的测试才能获得正向奖励。这种设计巧妙地规避了“宽容崩溃”,迫使模型去生成那些有深度、有挑战性的测试案例。 然而,单靠奖励机制是不够的。为了对抗“集中偏差”,CoVer引入了三阶段的多样性感知筛选策略。这并非简单的随机抽样,而是基于“无效性”、“输入字符串”和“执行配置文件”三个维度对候选测试池进行层层剔析。这一过程相当于为模型构建了一个“行为上非冗余”的测试套件。通过这种方式,即使在固定的执行预算下,模型也能从中获取到更高效的信号,有效提升了信息估计器的有效样本量。这对于资源有限的实际部署场景具有重要意义。

实证验证:从基准测试到实际应用的跃升

文章通过在五大主流基准测试——LiveBench、MBPP、LiveCodeBench、CodeContests及Code-Forces——上的实验,展示了CoVer的强大实力。数据表明,相比于Qwen2.5-Instruct这一骨干模型,CoVer在7B参数规模下提升了5.8个点,14B规模下提升了7.1个点的one-shot pass@1得分。更值得一提的是,该方法实现了所有比较方法中最高的宏平均分,这在一定程度上验证了其在不同规模、不同任务泛化能力的均衡性。 值得关注的是,文章还探讨了CoVer作为“插件”式骨干模型在CodeT排序管道中的应用。结果显示,CoVer-7B作为排序模型加入后,整体性能额外提升了3.5分。这说明该框架的价值不仅限于单纯的代码生成,更在于其对测试选择与排序环节的深度重塑。这种“生成与选择”双向协同的效应,为代码生成流程的优化提供了新的思路。

展望与思考

展望未来,CoVer框架的提出标志着代码生成RL方向的一次重要范式转移。它不再满足于依赖固定的、人工精心设计的测试集,而是试图通过模型自身的协同进化,构建出更具生命力的评估体系。这种基于信息论的奖励设计与多样性筛选相结合的方法,有望在解决模型“自我放大”效应的同时,保持对真实代码质量的敏感度。 然而,任何新范式的落地都面临着实际工程上的权衡。信息增益的计算需要访问 ground-truth 信号,这在某些闭源或数据敏感的场景中可能受限。此外,多样性筛选的计算开销也需要在有限的推理预算内寻找最佳平衡点。尽管如此,CoVer所展现出的突破性成效,无疑为解决大模型在代码生成中面临的评估难题提供了宝贵的参考范式。它提醒我们,在追求模型能力的过程中,如何设计“好”的自我挑战机制,或许比单纯堆砌参数更为关键。