- 简介自从基于推理的大型语言模型问世以来,许多人通过将推理能力蒸馏到小型模型中取得了显著的成功。这类技术极大地缩小了推理模型与标准大语言模型在编程任务上的差距。然而,大多数关于蒸馏推理模型的进展要么被专有数据集所限制,要么缺乏关于数据收集、过滤和后续训练的详细信息。为了解决这一问题,我们构建了一个高质量的监督微调(SFT)数据集,利用它在不同规模的模型上实现了最先进的编程能力结果。我们的蒸馏模型仅通过SFT就在LiveCodeBench上达到了61.8%的准确率,在CodeContests上达到了24.6%的准确率,超过了使用强化学习训练的模型。随后,我们对用于构建数据集的数据源、代码执行过滤的影响以及指令/解决方案多样性的重要性进行了分析。我们发现,执行过滤对基准测试的准确性产生了负面影响,因此我们更加重视指令的多样性而非解决方案的正确性。最后,我们还分析了这些模型所使用的标记效率和推理模式。我们将把这些数据集和蒸馏模型开源给社区。
- 图表
- 解决问题该论文试图解决如何通过蒸馏技术提升中小型模型在代码生成任务上的推理能力问题。具体来说,研究目标是通过构建高质量的监督微调(SFT)数据集来实现与强化学习方法相媲美甚至超越的效果。这是一个重要的研究方向,因为当前许多蒸馏方法依赖于专有数据或缺乏透明性。
- 关键思路论文的关键思路是专注于构建一个高质量的SFT数据集,并通过仅使用SFT方法训练模型以达到先进的编码性能。相比传统的蒸馏方法,本文强调了指令/解决方案多样性的重要性,并发现执行过滤可能会对基准准确性产生负面影响。此外,论文还探索了令牌效率和推理模式等特性,为后续研究提供了新的视角。
- 其它亮点1. 模型在LiveCodeBench上达到了61.8%的准确率,在CodeContests上达到了24.6%,超过了基于强化学习的方法;2. 研究表明,指令多样性比解决方案正确性更重要,这为数据集设计提供了新方向;3. 数据集和蒸馏模型将被开源,促进了社区的进一步研究;4. 论文详细分析了不同数据源对模型性能的影响,为未来工作提供了参考。
- 近期相关研究包括:1.《CodeT5+: Closing the Gap Between Pretrained Language Models and Specialized Code Models》——探讨了结合文本和代码预训练模型的能力;2.《Reinforcement Learning for Code Generation with Human Feedback》——利用强化学习优化代码生成模型;3.《Leveraging Large-Scale Execution-Traced Data for Neural Program Synthesis》——研究了大规模执行追踪数据对神经程序合成的帮助。这些研究共同推动了代码生成和推理领域的发展。
沙发等你来抢
去评论
评论
沙发等你来抢