Open-R1 更新 #1:复现 DeepSeek-R1 训练与合成数据

Hugging Face 推出了 Open-R1 项目,旨在复现 DeepSeek-R1 的训练流水线和合成数据生成过程。经过一周的开发,该项目已成功复现了 DeepSeek 在 MATH-500 基准测试中报告的结果,并将 Grouped Relative Policy Optimization (GRPO) 集成到了 TRL 库中。

复现 DeepSeek-R1 的评估与性能

Hugging Face 已通过 lighteval 工具验证,可以使用该工具匹配 DeepSeek 在 MATH-500 基准测试上报告的评估分数。复现结果如下:

模型 MATH-500 (HF lighteval) MATH-500 (DeepSeek 报告)
DeepSeek-R1-Distill-Qwen-1.5B 81.6 83.9
DeepSeek-R1-Distill-Qwen-7B 91.8 92.8
DeepSeek-R1-Distill-Qwen-14B 94.2 93.9
DeepSeek-R1-Distill-Qwen-32B 95.0 94.3
DeepSeek-R1-Distill-Llama-8B 85.8 89.1
DeepSeek-R1-Distill-Llama-70B 93.4 94.5

响应长度带来的挑战

评估过程中的一个重大发现是 DeepSeek-R1 生成内容的长度极长。在 OpenThoughts 数据集中,平均响应长度为 6,000 tokens,部分甚至超过 20,000 tokens。这种长度给 GRPO 训练带来了挑战,因为生成长文本需要在优化步骤期间消耗大量的 GPU 显存来存储激活值和梯度。

训练流水线与 GRPO 集成

Grouped Relative Policy Optimization (GRPO) 已集成到 TRL 0.14 版本中。该实现允许使用一个或多个奖励函数来训练模型,并与 DeepSpeed ZeRO 1/2/3 集成,实现多 GPU 的并行扩展。为了解决在线训练的主要瓶颈——生成速度,该流水线利用 vLLM 进行快速推理。

扩展合成数据生成

为了复现用于改进较小模型的合成推理轨迹,Hugging Face 开发了一个扩展推理流水线,使用大型 R1 模型来生成数据。

基础设施与吞吐量优化

使用两个 8xH100 节点配合 vLLM 进行的初步测试显示,吞吐量并不理想,因为 GPU KV cache 填充过快,导致请求被抢占。为了解决这个问题,团队将配置扩展到了 32 个 GPU(四个 8xH100 节点),提供了足够的显存来处理 32 个并行请求而无需重新调度。

转向流式请求

为了稳定 GPU 利用率并消除批处理推理中由“掉队者”(stragglers)引起的延迟,团队从批处理请求转向了流式处理方法。通过保持恒定的活动任务数量(例如 500 个)并在其他任务完成时立即启动新请求,他们实现了更稳定的生成率。

社区生态与数据集开发

自 DeepSeek-R1 发布以来,开源社区已经产出了多个旨在以更小规模复现推理能力的项目和数据集:

著名的社区项目

  • TinyZero: 展示了使用 3B 基座模型在不到 30 美元的成本下实现推理的“顿悟时刻”(aha-moment)。
  • Mini-R1: 提供复现推理涌现过程的指南教程。
  • HKUST Researchers: 展示了在 7B 数学模型中出现的推理能力。
  • Evolving LLM Lab: 正在开发 R1 的多模态版本。

关键合成推理数据集

  • OpenThoughts-114k: 包含 114,000 个涵盖科学、数学、代码和谜题的高质量示例。
  • Bespoke-Stratos-17k: 使用 DeepSeek-R1 创建推理轨迹的 Berkeley Sky-T1 流水线的复现版本。
  • Dolphin-r1: 结合了来自 DeepSeek-R1、Gemini Flash 和 Dolphin Chat 完成内容的 800,000 个样本。
  • Magpie-Reasoning-V2-250K: 由 DeepSeek-R1-Distill-Llama-70B 生成的 250,000 个推理响应。

行业背景与市场反应

DeepSeek-R1 的发布引发了广泛的行业反应。OpenAI CEO Sam Altman 注意到其发现的想法与 o1 所使用的想法相似,而 Anthropic CEO Dario Amodei 则强调了出口管制的必要性。此外,包括 AWS(通过 BedRock 和 SageMaker)、Dell、Together AI 和 Fireworks AI 在内的主要供应商都已将 DeepSeek-R1 集成到其平台中。

Sources