专栏名称: 吃果冻不吐果冻皮
专注于AI工程化(LLM、MLOps、LLMOps、RAG、Agent)落地。
目录
相关文章推荐
主编温静  ·  B站发布2024年Q4及全年财报 ·  2 天前  
CHINADAILY  ·  Editorial丨China ... ·  2 天前  
CHINADAILY  ·  World丨Key exclusions ... ·  3 天前  
51好读  ›  专栏  ›  吃果冻不吐果冻皮

开源社区 DeepSeek R1 最新复现进展汇总

吃果冻不吐果冻皮  · 公众号  ·  · 2025-02-22 10:06

正文

原文: https://zhuanlan.zhihu.com/p/24906803874




自 DeepSeek-R1 发布以来,迅速风靡全球,如今已晋升为国民级产品。此后,全球范围内掀起了一股复现 DeepSeek-R1 的热潮,其中不乏一些亮点纷呈的优秀项目。本文将对这些开源项目中的亮点复现工作进行汇总。

一、DeepSeek-R1 复现汇总

下面是最新的 DeepSeek-R1 复现汇总:

接下来我们介绍下复现细节。

二、Open R1: HuggingFace 复现 DeepSeek-R1 全流程

Open R1 项目由 HuggingFace 发起,联合创始人兼 CEO Clem Delangue 是这么说的:

这个项目的目的是构建 R1 pipeline 中缺失的部分,以便所有人都能在此之上复制和构建 R1。

HuggingFace 表示,将以 DeepSeek-R1 的技术报告为指导,分 3 个步骤完成这个项目:

  • • step 1:从 DeepSeek-R1 中蒸馏高质量数据,复现 R1-Distill 模型。
  • • step 2:复现通过纯强化学习训练 R1-Zero 的过程,包括如何生成推理数据集
  • • step 3:复现训练 R1 的完整 pipeline,包括两阶段 SFT、两阶段 RL。
图1: Open R1复现DeepSeek-R1流程
图1: Open R1复现DeepSeek-R1流程

2.1 step1:复现 DeepSeek-R1-Distill

利用 DeepSeek-R1 的蒸馏数据创建了 Bespoke-Stratos-17k [1]

Bespoke-Stratos-17k 的数据构成为:

  • • APPs 和 TACO:5k
  • • NuminaMATH 数据集中的 AIME、MATH 以及 Olympiads 子集:10k
  • • STILL-2 的科学和谜题数据:1k

数据的构建方法为:

  • • 借助 Bespoke Curator (用于生成合成数据的项目) 创建了 Bespoke-Stratos-17k,利用 DeepSeek-R1 生成推理数据集,仅用了 1.5 小时和 800 美元的成本。
  • • 拒绝采样过程中,过滤掉了具有错误解决方案的推理轨迹。这对于代码验证来说是一大挑战,使用了 Ray 集群来加速验证过程。目前,HuggingFace 正致力于将代码执行验证器直接集成到 Curator。
  • • 数据过滤:使用 GPT-4o-mini 过滤错误的数学解决方案,将保留的正确解决方案的比例从 25% 提高到了 73%。

基于 Bespoke-Stratos-17k 数据训练出了 Bespoke-Stratos-32B [2] Bespoke-Stratos-7B [3] 模型。

其中,Bespoke-Stratos-32B 的效果已经和 DeepSeek-R1-Distill-Qwen-32B 非常接近,如下图所示。

图2: 复现DeepSeek-R1-Distill-Qwen-32B
图2: 复现DeepSeek-R1-Distill-Qwen-32B

全新数据集:OpenR1-Math-220k

2 月 11 日,Open R1 发布了 OpenR1-Math-220k ,这是一个大规模的数学推理数据集。该数据集在本地利用 512 个 H100 生成,每个问题均对应多个答案。为打造这一数据集,HuggingFace 与 Numina 合作,共同开发了备受欢迎的 NuminaMath-CoT 数据集的全新升级版。

相较于现有数据集,OpenR1-Math-220k 独具以下新特性:包含 80万 条 R1 推理轨迹,利用 DeepSeek R1 为 40万 道问题生成了两个答案,并经过筛选,最终保留了 22万 道带有正确推理轨迹的问题。

  • • 本地生成:未依赖API,而是借助 vLLM 和 SGLang 在科学集群上本地运行,每日生成 18万 条推理过程。
  • • 基于 NuminaMath 1.5:为 NuminaMath 1.5 中的问题提供答案,NuminaMath 1.5 是 NuminaMath-CoT 数据集的改进版。
  • • 自动过滤机制:运用 Math Verify 仅保留至少含有一个正确答案的问题,并利用 Llama3.3-70B-Instruct 作为判断器,以检索更多正确示例(如答案格式错误、无法使用基于规则的解析器验证的情况)。
  • • 在 OpenR1-Math-220k 上微调 Qwen-7B-Math-Instruct, 其性能与 DeepSeek-Distill-Qwen-7B 相媲美

通过结合基于规则的验证工具(Math Verify)与大语言模型(LLM)的评估方法,在保持数据集规模的同时,显著提升了其质量。最终,数据集 OpenR1-Math-220k 涵盖了 22万 个带有经过验证的推理过程的问题,每个问题可能有多个解决方案,下面是具体的分布:

图3: OpenR1-Math-220k回答个数分布
图3: OpenR1-Math-220k回答个数分布

其中,仅有一个回答的样本有 36759 条,而有两个回答的样本则有 184467 条,超过两个回答的样本数量极少。

该数据集分为两个划分:

  • default(包含9.4万个问题) ,在 SFT 后取得了最佳性能。
  • extended(包含13.1万个问题) ,额外融入了 NuminaMath 1.5 的来源,如 cn_k12,提供了更丰富的推理过程。然而,在此子集上进行 SFT 后的性能低于 default,这可能是由于 cn_k12 包含的问题相对其他来源更为简单。

多选一没有效果 :对于具有多个正确答案的数据,使用奖励模型 (RM) 作为最终过滤器来挑选最佳响应。对于 R1 生成的每个具有多个正确答案的推理路径,去掉 和 之前的内容,只保留最终结果,使用 Qwen/Qwen2.5-Math-RM-72B 进行评分,选择得分最高的回答。但是消融实验显示,这种方法相较于随机选择一个正确生成结果,并未能显著提升模型性能。一个潜在的改进方向是在使用 RM 进行评分时,考虑使用全部长思维链过程,而不仅仅是只使用最终答案。

与 DeepSeek-Distill-Qwen-7B 的性能比较

设置学习率为 5e-5,使用 default 部分,在 Qwen2.5-Math-Instruct 上训练 3 个 epoch。为了将上下文长度从 4k 扩展到 32k,将 RoPE 频率提高到了 300k。下图展示了使用 lighteval 评估的结果。

在 AIME25 上,效果和 DeepSeek-Distill-Qwen-7B 持平。

2.2 step2:复现 DeepSeek-R1-Zero

下图展示了直接在 Qwen2.5-0.5B 上进行 GRPO 强化,在 GSM8k 基准测试中取得了约 51% 的准确率,相比 Qwen2.5-0.5B-Instruct 模型提高了 10 个百分点。

图4:在Qwen2.5-0.5B上直接进行强化
图4:在Qwen2.5-0.5B上直接进行强化

目前 Open R1 刚开始复现 DeepSeek-R1-Zero,还没有一个好的版本出来。

三、Open-Thoughts: UC 伯克利复现 DeepSeek-Distill-Qwen-32B

近日,斯坦福、UC伯克利等多机构联手发布了开源模型: OpenThinker-32B ,性能直逼 DeepSeek-Distill-Qwen-32B。

仅使用了 114k(OpenThoughts-114k) 数据 (DeepSeek-Distill-Qwen-32B 的1/8),就与同尺寸 DeepSeek-Distill-Qwen-32B 打成平手。

团队发现,通过采用经 DeepSeek-R1 验证过的大规模优质数据集,就能够成功训练出达到 SOTA 水平的推理模型。具体实现方法包括 扩大数据量、严格验证推理过程以及扩大模型规模 。由此研发的 OpenThinker-32B 模型,在数学、代码和科学等多个基准测试中,性能表现卓越,逼近 DeepSeek-Distill-Qwen-32B 水平,而且只用了 DeepSeek-Distill-Qwen-32B 的 1/8 数据量。

图5: OpenThinker-32B评测结果
图5: OpenThinker-32B评测结果

下面介绍下数据构建的具体流程。

数据生成:OpenThoughts-114k

OpenThoughts-114k 包含 114k 高质量数据,涵盖数学、科学、代码和谜题。

除了开源数据集,还开源了模型、数据生成代码、模型评估代码。如下图所示:

图6: OpenThoughts开源了模型、数据和代码
图6: OpenThoughts开源了模型、数据和代码

数据由以下几个部分构成:

Code

  • BAAI/TACO [4]
  • codeparrot/apps [5]
  • deepmind/code_contests [6]
  • MatrixStudio/Codeforces-Python-Submissions [7]

Math

  • AI-MO/NuminaMath-CoT [8]

Science

  • camel-ai/chemistry [9]
  • camel-ai/biology [10]
  • camel-ai/physics [11]

Puzzle

  • INK-USC/riddle_sense [12]

使用上述数据集,从 DeepSeek-R1 生成推理轨迹并验证正确性以构建最终数据集。

图7: 使用DeepSeek-R1生成结果并对结果进行校验
图7: 使用DeepSeek-R1生成结果并对结果进行校验

四、LIMO:少即是多

图8: 只用817条数据大幅提升模型效果
图8: 只用817条数据大幅提升模型效果

在之前很长的时间里,大家的共识是“海量数据”才能训练出强大的模型。尤其在数学领域,业界普遍坚信,唯有依托海量数据与复杂的强化学习,才能取得突破性进展。

然而,上交大的最新研究成果却给出了一个另外答案:仅需 817 条精心策划的样本,便能让模型在数学竞赛级别的难题上超越众多现有的顶尖模型。这一发现不仅颠覆了传统认知,更揭示了一个我们可能一直忽视的事实: 大模型的数学潜能或许始终存在,关键在于如何有效激发它。

LIMO(Less Is More for Reasoning)仅用 817 条精心设计的训练样本,通过简单的 SFT,就全面超越了那些使用几十万数据训练的主流模型,如 o1-preview 和 QwQ。

在 AIME24 评测中,LIMO 的准确率从传统方法(以 Numina-Math 为例)的 6.5% 飙升至 57.1% 。而在 10 个不同的基准测试上,它实现了 40.5% 的绝对性能提升,超越了那些使用 100 倍数据训练的模型。这一突破证明了高质量、小规模的数据集,远比低效的海量数据训练更能激发大模型的推理潜能。

4.1 LIMO vs. RL Scaling

强化学习扩展(RL Scaling) : 以 OpenAI 的 o1 系列和 DeepSeek-R1 为代表,RL Scaling 方法通常通过大规模的强化学习训练来增强模型的推理能力。这种方法依赖于海量数据和复杂算法,虽然在特定任务上取得了显著成果,但其局限性也在于:它将推理能力的提升视为一个需要巨额计算资源的“探索”过程。

LIMO 的新视角 :相比之下,LIMO(Less Is More for Reasoning)提出了一种截然不同的理论框架。它认为,推理能力其实潜藏于预训练模型之中,关键在于如何通过精准的唤醒这些潜在能力。这一转变将研究的重心从“训练新技能”转向了“激活潜在能力”,凸显了方法方向的重要性。

LIMO 的核心假设是,在知识基础已经相当完善的前提下,仅需少量高质量的示例,就能激活模型的潜在推理能力。这一理论不仅重新界定了 RL Scaling 的角色,将其视为寻找最优推理路径的一种途径,更为整个研究领域提供了新的思考维度和框架。

4.2 LIMO 数据集构建

将“少即是多”(LIMO)假设形式化表述为:在预训练基座模型中,通过最小却精确协调的认知过程展示,可以激发出复杂的推理能力。这一假设建立在两个基本前提之上:

  • • 模型参数空间中蕴含着潜在的先决知识;
  • • 将复杂问题精确拆解为详尽、逻辑清晰的推理链,能够使认知过程变得明确且可追溯。

为了验证这一假设,LIMO 提出了一种系统化的方法来构建高质量、最小化的数据集,以有效唤醒模型的内在推理潜能。

问题选择

高质量的问题应该能自然地引发扩展的推理过程。选择标准包括以下几点:

  • 难度等级 优先考虑具有复杂推理链、多样化的思维过程和知识整合的问题,这些问题能够使大语言模型有效利用预训练知识进行高质量的推理。
  • 泛化性 那些偏离模型训练分布的问题可以更好地挑战其固定的思维模式,鼓励探索新的推理方法,从而扩展其推断搜索空间。
  • 知识多样性 选择的问题应涵盖各种数学领域和概念,要求模型在解决问题时整合和连接遥远的知识。

为了有效实施这些标准,LIMO 首先汇总了一个全面的候选问题池:NuminaMath-CoT。这个问题池从多个已建立的数据集中精选而出,涵盖了从高中到竞赛级别的精心标注数学问题,包括 AIME,MATH 以及其他几个数学问题来源。

然后对问题集进行筛选:

  • 弱模型初筛 :首先利用 Qwen2.5-Math-7B-Instruct 过滤掉 N 次回答全对的问题。
  • 强模型再筛 :接着,使用更强大的模型,如 DeeSeek-R1、DeepSeek-R1-Distill-Qwen32B,仅保留多次采样成功率低于指定阀值的问题。
  • 多样性选择 :最后,为确保题库的多样性,采用策略性采样技术,在数学领域和问题复杂性之间寻求平衡,同时避免概念重复。

经过这一精细的筛选过程,最终从数以千万计的候选问题中精选出了 817 道精心设计的问题。这些问题不仅符合严格质量标准,还涵盖了丰富多样的数学推理挑战。

回答构建(思维链构建)

首先,收集现有问题的官方解决方案,并补充了来自人类专家和 AI 专家的解决方案。

此外,利用 DeepSeek-R1、DeepSeek-R1-Distill-Qwen-32B 和 Qwen2.5-32b-Instruct 在内的推理模型,来生成多种解决方案。

建立区分高质量思维链的评判标准:

  • 最优结构组织 ,即解决方案具有清晰、有序的结构,步骤分解具有自适应粒度,在关键推理环节分配更多 token 和详细说明,同时保持直接步骤的简洁;
  • 有效认知 ,即高质量的解决方案通过逐步构建理解,提供渐进的概念介绍、清晰阐述关键见解以及整合概念差距;
  • 严格验证 ,即在推理过程中穿插频繁的验证步骤,包括验证中间结果、交叉检查假设以及确认每一步推论的逻辑一致性。

4.3 LIMO 回答对比

图 9 对 Qwen2.5-32B-Instruct、DeepSeek-R1 和 LIMO 生成的回答进行了比较。尽管 LIMO 使用的数据最少(仅 817 个训练样本),但其功能却与 DeepSeek-R1 相当。

图9: Qwen2.5-32B-Instruct、DeepSeek-R1和LIMO生成回复的比较
图9: Qwen2.5-32B-Instruct、DeepSeek-R1和LIMO生成回复的比较

值得一提的是,LIMO 展现出了出色的自我反思和长链思维生成能力。它能够验证自己的陈述(如“等等,24分钟是0.4小时吗?不对,60分钟是1小时,所以24分钟是24/60,即0.4小时”)并核对计算过程(如“但让我再检查一次,也许我在计算中出错了”)。此外,LIMO 还学会了在解决复杂方程时分配额外的 token(进行计算),如“现在让我们计算左侧,……,两边乘以2”,以防止出现错误。相比之下,模型 Qwen2.5-32B-Instruct 在推理过程中存在局限性,无法纠正不准确的陈述,且在解决方案中未能对方程进行交叉验证。这些结果有力地支持了 LIMO 假说:即通过少量但高质量的后训练示例,可以赋予模型强大的推理能力。

五、DeepScaleR:完美复现 DeepSeek-R1 强化学习效果

近期,UC 伯克利团队宣布,他们仅以4500美元的成本,通过简单的强化学习(RL),就成功复现并训练出了 DeepScaleR-1.5B-Preview 模型,直接超越了 o1-preview。

UC伯克利的研究团队以 Deepseek-R1-Distilled-Qwen-1.5B 为基础,通过强化学习(RL),在 40,000 个高质量数学问题上进行训练,使用了 3800 A100 小时(4500美元),训练出了 DeepScaleR-1.5B-Preview 模型。在多个竞赛级数学基准测试中优于 OpenAI 的 o1-preview。

图10: 评测结果超过 o1-preview
图10: 评测结果超过 o1-preview

5.1 秘诀:先短后长(8K->16K->24K)

RL 扩展最大的挑战之一是高昂的计算成本。如果要直接复制 DeepSeek-R1 的实验(32K输出,8000 steps),至少需要 70,000 A100 GPU 小时——即使是 1.5B 的小模型。

为了解决这个问题,团队采用了先短后长的训练策略。 先在 8K 上训练,然后再逐渐扩展到 16K 和 32K 。最总将训练成本降低到了 3800 A100 小时(4500美元)。

图11: AIME 2024测试集Pass@1准确率随训练进度而变:训练至第1040步,上下文长度扩至16K;到第1520步,上下文长度增至24K
图11: AIME 2024测试集Pass@1准确率随训练进度而变:训练至第1040步,上下文长度扩至16K;到第1520步,上下文长度增至24K

接下来,我们介绍下具体细节。

5.2 数据集构建

在训练数据集方面,研究人员精心收集了 1984 至 2023 年的美国国际数学邀请赛(AIME)题目、2023年之前的美国数学竞赛(AMC)题目,以及来自 Omni-MATH 和 Still 数据集的各国及国际数学竞赛题目。数据构成如下:

数据处理流程涵盖了三个核心步骤:

  • 答案提取 :对于 AMC 和 AIME 等数据集,研究人员利用 gemini-1.5-pro-002 模型从 AoPS 官方解答中准确提取答案
  • 问题去重 :基于 RAG 技术,并结合 sentence-transformers/all-MiniLM-L6-v2 的 embedding,消除重复问题
  • 不可评分题目过滤 :由于数据集(如 Omni-MATH)中存在部分问题无法通过 sympy 数学符号计算库进行自动评估(需依赖LLM判断),这些问题会降低训练速度并引入不稳定的奖励信号,因此研究人员增加了额外的过滤步骤,剔除了这些无法自动评分的问题。

经过这一系列的去重和过滤处理,最终得到了约4万个问题-答案对,作为训练数据集。

5.3 奖励函数设计

正如 Deepseek-R1 所倡导的,团队采用结果奖励模型(ORM),而非过程奖励模型(PRM)。奖励函数返回值如下:

  • • 返回 1:如果 LLM 的答案,既能通过 LaTeX 语法检查,又能通过 Sympy 数学验证,就给它奖励。
  • • 返回 0:要是 LLM 的答案是错的,或者格式不对,比如少了 标记,那就不给奖励。

5.4 迭代增加训练长度:先短后长

图12: 随着训练的进行,DeepScaleR的平均响应长度和训练奖励
图12: 随着训练的进行,DeepScaleR的平均响应长度和训练奖励






请到「今天看啥」查看全文