- 论文标题:WarriorCoder: Learning from Expert Battles to Augment Code Large Language Models
- 论文链接:https://arxiv.org/pdf/2412.17395
01 背景
大型语言模型(LLMs)在代码任务上表现出色,各种代码大模型不断涌现。大规模代码数据预训练显著提升了模型编程能力。然而,post-training 方法依赖高质量数据,数据收集和注释存在挑战。为解决此问题,一些方法设计了数据飞轮生成 instruction 数据,但依赖现有数据集和私有 LLM,成本高且数据多样性有限。本文提出 WarriorCoder,一种全新的代码大模型数据飞轮训练范式,通过学习专家对抗方式集成代码专家大模型优点,无需种子数据,融合多个模型优势,消除数据收集对人工和私有 LLM 的依赖,以低成本收集高质量、多样化训练数据。实验表明,WarriorCoder 在代码生成任务中达到 SOTA,在 code reasoning 和 libraries using 等基准上也取得卓越成绩。
02 方法
本文构建代码大模型竞技场,先进代码专家大模型相互对抗,每个模型利用知识挑战其他模型,其余模型担任裁判评估结果。目标模型从胜者学习,逐步整合所有竞争者优势。本文将参赛者视为一组,通过组内相对优势答案优化模型。本文选取五个 75B 以内先进大模型作为竞争者,包括 Athene-V2-Chat、DeepSeek-Coder-V2-Lite-Instruct、Llama-3.3-70B-Instruct、Qwen2.5-72B-Instruct 和 QwQ-32B-Preview。本文设计基于对话补全方式挖掘大模型已掌握能力,通过不同生成参数配置收集 instruction 数据,并采用裁判模型评估难度,最终仅使用 Excellent 和 Good 等级指令。
03 实验
WarriorCoder 在 code generation benchmark 上取得 SOTA,无需私有大模型即取得惊艳效果。在 code reasoning 和 libraries using benchmark 上,WarriorCoder 取得卓越成绩,在绝大多数指标上表现最优,甚至超越 15B 和 34B 等更大量级模型,证明方法具有良好的泛化性。
04 相关资源
尽管作者未开源模型,但已有人复现工作,项目链接:https://huggingface.co/HuggingMicah/warriorcoder_reproduce

暂无评论