微软与清华联合推出AI编程模型,性能超越更大规模竞品
清华大学和微软的研究人员开发了X-Coder,这是一款70亿参数的AI编程模型,仅通过合成数据训练就超越了参数量两倍于它的竞争对手。该模型的详细信息发表在1月11日发布到arXiv的论文中,研究表明在实现优异编程性能方面,训练数据的任务多样性比模型规模或解决方案数量更重要。X-Coder在LiveCodeBench v5上达到了62.9%的通过率,在较新的v6基准测试中达到55.8%,尽管只有70亿参数,却超越了拥有140亿参数的DeepCoder-14B-Preview和AReal-boba2-14B。这一突破表明AI编程助手的训练方式可能发生转变,从稀缺的人工精选数据集转向可扩展的合成数据生成。完全合成的方法
X-Coder 成功的核心是 SynthSmith,这是一种新颖的数据合成流程,能够完全从零开始生成编程任务、解决方案和测试用例,而无需依赖人工编写的示例。该系统首先从一个小型的初始代码示例池中提取与编程相关的特征——算法、数据结构和优化技术,然后通过演化过程将该示例池从大约 27,000 个条目扩展到近 177,000 个。质量控制通过双重验证策略实现:系统通过对多个候选解决方案进行多数投票来确定正确的测试输出,然后根据保留测试集验证最佳解决方案。任务多样性胜过解决方案数量
研究人员发现,扩展不同任务的数量远比为每个任务增加多个解决方案更有效。在对照实验中,包含64,000个不同任务且每个任务仅有一个解决方案的数据集,其表现优于任务较少但每个问题有更多解决方案的数据集。性能随任务数量呈可预测的增长:通过率从32,000个任务时的43.7%攀升至64,000个任务时的51.3%,然后在128,000个任务时达到57.2%,在192,000个任务时达到62.7%。监督微调阶段达到了60.3%,额外的强化学习阶段又提升了4.6个百分点。对AI训练的启示
这种合成方法还解决了使用真实世界数据训练的模型所面临的基准污染问题。参考模型Qwen3-8B在旧版和新版LiveCodeBench之间出现了30分的下降,而X-Coder的下降幅度较小,仅为17.2分,这表明合成训练防止了对基准问题的记忆。SynthSmith的代码已在GitHub上开源,研究人员表示计划发布模型权重。随着AI行业越来越多地转向合成数据以克服可用训练材料的局限性,这项工作应运而生。微软本身此前就开发了SynthLLM用于更广泛的合成数据生成。