Together AI 和 Agentica 的研究人员发布了 DeepCoder-14B,这是一个新的编程模型,其性能可与 OpenAI 的 o3-mini 等领先的专有模型相媲美。
该模型基于 DeepSeek-R1 构建,为将高性能代码生成和推理能力集成到实际应用中提供了更大的灵活性。重要的是,研究团队已完全开源了模型、训练数据、代码、日志和系统优化,这可以帮助研究人员改进工作并加速进展。
小巧但功能强大的编程能力
研究团队的实验表明,DeepCoder-14B 在多个具有挑战性的编程基准测试中表现出色,包括 LiveCodeBench (LCB)、Codeforces 和 HumanEval+。
研究人员在描述该模型的博客文章中写道:"我们的模型在所有编程基准测试中都表现出色...可与 o3-mini (low) 和 o1 的性能相媲美。"
有趣的是,尽管主要针对编程任务进行训练,该模型在数学推理方面也有所提升,在 AIME 2024 基准测试中得分为 73.8%,比其基础模型 (DeepSeek-R1-Distill-Qwen-14B) 提高了 4.1%。这表明通过代码强化学习开发的推理技能可以有效地推广到其他领域。
最引人注目的是,仅用 140 亿参数就达到了这种性能水平。这使得 DeepCoder 比许多前沿模型更小,运行效率可能更高。
推动 DeepCoder 性能的创新
在开发模型的过程中,研究人员解决了使用强化学习 (RL) 训练编码模型的一些关键挑战。
第一个挑战是整理训练数据。强化学习需要可靠的奖励信号来表明模型的输出是正确的。正如研究人员指出的:"与数学领域不同——互联网上有大量高质量、可验证的数据——编码领域相对缺乏此类数据。"
为了解决这个问题,DeepCoder 团队实施了严格的流程,从不同数据集收集示例并对其进行有效性、复杂性和重复性的筛选。这个过程产生了 24,000 个高质量问题,为有效的 RL 训练提供了坚实的基础。
团队还设计了一个简单的奖励函数,只有在生成的代码在特定时间限制内通过所有采样单元测试时才提供正向信号。结合高质量的训练示例,这种以结果为导向的奖励系统可以防止模型学习一些技巧,如为公开测试打印记忆的答案或仅针对简单边缘情况进行优化而不解决核心问题。
模型的核心训练算法基于群体相对策略优化 (GRPO),这是一种在 DeepSeek-R1 中非常成功的强化学习算法。然而,团队对算法进行了多项修改,使其更加稳定,并允许模型在训练时间延长时继续改进。
最后,团队逐步扩展了模型的上下文窗口,首先在较短的推理序列上进行训练,然后逐渐增加长度。他们还开发了一种过滤方法,以避免在模型在解决困难提示时创建超出上下文限制的推理链时对其进行惩罚。
研究人员解释了核心理念:"为了保持长上下文推理的同时实现高效训练,我们引入了超长过滤...这种技术在训练期间屏蔽被截断的序列,这样模型就不会因为生成超出当前上下文限制的深思熟虑但冗长的输出而受到惩罚。"
训练从 16K 逐步扩展到 32K 上下文窗口,最终模型还能解决需要多达 64K tokens 的问题。
优化长上下文 RL 训练
使用 RL 训练大型模型,特别是在需要长序列生成(如编码或复杂推理)的任务上,计算密集且速度慢。一个主要瓶颈是"采样"步骤,模型在批处理中可能为每个示例生成数千个 tokens。响应长度的变化意味着某些响应比其他响应完成得晚得多,导致 GPU 闲置并减慢整个训练循环。
为了加速这一过程,团队开发了 verl-pipeline,这是对开源 verl 库的优化扩展,用于人类反馈的强化学习 (RLHF)。他们称之为"一次性流水线"的关键创新,重新安排了响应采样和模型更新,以减少瓶颈和加速器空闲时间。
他们的实验表明,与基准实现相比,一次性流水线为编码 RL 任务提供了高达 2 倍的加速。这种优化对于在合理的时间范围内训练 DeepCoder (在 32 个 H100 上用时 2.5 周) 至关重要,现在作为 verl-pipeline 的一部分开源供社区使用和扩展。
企业影响
研究人员已在 GitHub 和 Hugging Face 上提供了训练和运行 DeepCoder-14B 的所有资料,并采用宽松的许可证。
研究人员写道:"通过完全共享我们的数据集、代码和训练方案,我们使社区能够复制我们的工作,让 RL 训练对所有人都可以访问。"
DeepCoder-14B 有力地展示了 AI 领域一个更广泛、加速发展的趋势:高性能且高效、开放访问的模型的崛起。
对于企业界来说,这种转变意味着更多选择和更高的先进模型可访问性。最前沿的性能不再仅仅是超大规模企业或愿意支付高额 API 费用的企业的专属领域。像 DeepCoder 这样的模型可以使各种规模的组织都能利用复杂的代码生成和推理,根据其特定需求定制解决方案,并在其环境中安全部署。
这一趋势可以降低 AI 采用的门槛,培养一个更具竞争力和创新性的生态系统,通过开源协作推动进步。