当前位置: 首页 > article >正文

DeepSeek专题:以专业角度详细讲讲Deepseek-R1的高质量数据合成过程⌛

 AIGCmagic社区知识星球是国内首个以AIGC全栈技术与商业变现为主线的学习交流平台,涉及AI绘画、AI视频、大模型、AI多模态、数字人以及全行业AIGC赋能等100+应用方向。星球内部包含海量学习资源、专业问答、前沿资讯、内推招聘、AI课程、AIGC模型、AIGC数据集和源码等干货。

AIGCmagic社区知识星球

截至目前,星球内已经累积了2000+AICG时代的前沿技术、干货资源以及学习资源;涵盖了600+AIGC行业商业变现的落地实操与精华报告;完整构建了以AI绘画、AI视频、大模型、AI多模态以及数字人为核心的AIGC时代五大技术方向架构,其中包含近500万字完整的AIGC学习资源与实践经验。


DeepSeek 在海内外掀起的波澜,至今仍余波未平。当中国大模型成功突破硅谷的技术壁垒,原本被认为在AI领域稍显滞后的中国AI军团,竟实现了反向技术输出,引发全球范围内对DeepSeek的复现热潮。

尽管DeepSeek-R1以开源形式发布,但并非完全开源,其训练数据、训练脚本等关键信息仍未完全公开。然而,技术报告的发布为复现R1提供了明确的指导方针

已有不少执行力强的团队通过小模型验证了其核心价值,成功捕捉到了“aha moment”。在这场声势浩大的复刻浪潮中,最引人注目的当属由Hugging Face主导的Open R1项目。

Open R1项目旨在完全开放复现DeepSeek-R1,并补齐DeepSeek未公开的所有技术细节。尽管项目启动仅数周,他们已取得显著进展,包括:

  • 实现了GRPO算法

  • 完成了训练与评估代码的开发

  • 构建了用于合成数据的生成器

    项目地址:https://github.com/huggingface/open-r1

    在开源社区的众志成城,Open R1 更是动作迅速。近期他们发布了 OpenR1-Math-220k 数据集,又补全了一块 DeepSeek R1「碎片」—— 合成数据。

    数据集链接:https://huggingface.co/datasets/open-r1/OpenR1-Math-220k


    DeepSeek R1 的一个重要优势在于它能够将高级推理能力迁移到较小的模型中。DeepSeek 团队生成了 60 万条推理数据,在 Qwen 和 Llama 等开源模型上证明了这种迁移能力。即使不使用强化学习,直接从 R1 模型进行迁移也能实现强大的推理性能

    然而,这些合成数据仅 DeepSeek 可见,未对其他团队开放阅读权限OpenR1-Math-220k 数据集就是来补上这块空缺的

    具体而言,Open R1 团队使用 DeepSeek R1 生成了 80 万条推理轨迹,经过筛选和验证后得到了 22 万条高质量数据。这些数据可以用来支持更小的模型,来达到媲美 DeepSeek R1 的效果。比如在 OpenR1-Math-220k 数据集上训练出来的 Qwen-7B-Math-Instruct,达到了与 DeepSeek-Distill-Qwen-7B 相当的性能

    下面就让我们来看看 OpenR1-Math-220k 数据集的特点,以及它是怎么诞生的。


    🧭 自动过滤正确答案&本地高效生成

    目前,开源社区已经发布了 OpenThoughts-114k、Bespoke-Stratos-17k、Dolphin-R1 和 LIMO 等多个推理数据集。然而,为了进行推理公众公开发布,这促使社区独立重建类似的数据集。另外,社区已经发布了多个开放数据集,包括 OpenThoughts-114k、Bespoke-Stratos-17k、Dolphin-R1 和 LIMO

    为了整理 OpenR1-Math-220k,Open R1 还和开发了广受欢迎的 NuminaMath-CoT 数据集开发团队 Numina 进行了合作。那么,与现有数据集相比,Open R1 的数据集有什么新特点呢

    • 80 万条 R1 推理轨迹:使用 DeepSeek R1 为 40 万个问题各生成了两个答案,最终经过筛选后保留了 22 万个具有正确推理轨迹的问题。

    • 本地运行 512 个 H100:没有依赖 API,而是在计算集群上利用 vLLM 和 SGLang 本地运行生成任务,每天可以生成 18 万条推理轨迹。

    • 基于 NuminaMath 1.5:专注于数学推理公式,为 NuminaMath 1.5(NuminaMath-CoT 数据集的改进版本)中的问题生成答案。

    • 自动过滤:Open R1 团队通过数学验证,只保留至少有一个正确答案的问题,还让 Llama3.3-70B-Instruct 作为「判官」,以筛选出更多正确的样本,特别是那些因格式错误而无法通过基于规则的解析器验证的答案。

      OpenR1-Math-220k 训练出来的 Qwen-7B-Math-Instruct,达到了与 DeepSeek-Distill-Qwen-7B 相当的性能

      数据集分为两个部分:

      • default(94k 问题):这部分数据在经过监督微调(SFT)后表现最佳。

      • extended(131k 问题):这部分数据包含额外的 NuminaMath 1.5 数据源,例如 cn_k12,提供了更多的推理公式。(研究发现这个子集在经过监督微调后的性能低于默认数据集,可能是因为 cn_k12 中的问题相对简单。)


      🎡 数据生成

      为了构建数据集,OpenR1 团队让 DeepSeek R1 为来自 NuminaMath 1.5 的 40 万个问题生成答案。他们遵循了 DeepSeek 技术报告中推荐的参数设置,并在提示词前添加了以下指令:

      Please reason step by step, and put your final answer within \boxed{}.

      为了确保生成过程的高效性,团队将每次生成的 tokens 限制设置为 16k。经过分析发现,只有 75% 的问题能够在 8k tokens 内解决,而大多数剩余问题需要完整的 16k tokens

      最初,他们使用 vLLM 进行推理,每个 H100 节点每秒可以生成 15 个答案,并且相关生成脚本已分享在 OpenR1 仓库中。最近,他们又开始尝试使用 SGLang,每个 H100 节点每秒可以生成 25 个答案(速度提升了近两倍),这使得 512 个 H100 节点上每天能生成 30 万个问题的答案

      为了在后续的过滤和优化过程中提供更大的灵活性,团队为每个问题生成了 两个答案 —— 有时甚至生成四个。这样一来,不仅复刻出了类似于 DeepSeek R1 允许进行拒绝采样的方法,还能使数据集能够适用于如 DPO 等偏好优化方法

      数据生成脚本:open-r1/slurm at main · huggingface/open-r1 · GitHub。


      🌐 数据过滤

      为了确保数据集中只包含高质量且正确的推理结果,Open R1 团队设计了一套数学验证系统,用于自动比对 LLM 生成的复杂数学表达式答案与数据集中的标准答案

      在这个过程中,OpenR1 团队发现 大约 55% 的问题至少有一个正确答案。然而,NuminaMath 1.5 数据集中有很多答案是空的,或者格式不符合验证标准,这都给自动验证带来了困难。

      为了解决这些问题,Open R1 团队先是对 Math-Verify 工具进行了改进,使其能够处理更多不常见的答案格式,再使用 Llama-3.3-70B-Instruct 模型进行二次评估

      具体来说,对于那些被 Math-Verify 判定为错误的答案,使用 Llama-3.3-70B-Instruct 模型重新评估,识别实际上正确但因格式问题被错判的答案。最终,他们找回了 2.5 万条被「误判」的数据


      🌇 优化 Math-Verify 工具

      Math-Verify 工具进行了改进,使其能够处理更多不常见的答案格式。

      让 Llama-3.3-70B-Instruct 「作判官」的提示词如下:

      You are a mathematical answer validator. You will be provided with a mathematical problem and you need to compare the answer in the reference solution, and the final answer in a model's solution to determine if they are equivalent, even if formatted differently.

      PROBLEM:
      {problem}

      REFERENCE SOLUTION:
      {answer}

      MODEL'S SOLUTION:
      {generation}

      Focus ONLY on comparing the final mathematical answer provided by the model while ignoring differences in:

      • Formatting (e.g., \boxed{{}} vs plain text)

      • Multiple choice formatting (e.g., "A" vs full solution)

      • Order of coordinate pairs or solutions

      • Equivalent mathematical expressions or notation variations

      • If the model's answer is nonsense, return "Verdict: AMBIGUOUS"

        Start with a brief explanation of your comparison (2-3 sentences). Then output your final answer in one of the following formats:

        • "Verdict: EQUIVALENT"

        • "Verdict: DIFFERENT"

        • "Verdict: AMBIGUOUS"

          对于那些包含多个正确答案的数据行,团队尝试使用 奖励模型(RM)作为最终筛选器来选择最佳答案。具体操作如下:

          • 1.从每个包含多个正确答案的数据行中,去掉(<think>…</think>),提取最终答案;
          • 2.将问题和提取的答案输入到配置了 vLLM 的 Qwen/Qwen2.5-Math-RM-72B 模型中,获取每个答案的评分;
          • 3.根据模型评分,对每个包含多个正确答案的数据行排名,选择排名最高的答案纳入训练数据集。

            遗憾的是,消融实验表明,这种方法并没有比随机选择一个正确答案带来更好的模型性能。Open R1 团队的判断是,可能在使用奖励模型评分时,不仅要考虑最终答案,还要包括推理过程


            ⚓ Open R1 训练出来的新模型 VS DeepSeek-Distill-Qwen-7B

            Open R1 在 OpenR1-Math-220k 的基础上,对 Qwen2.5-Math-Instruct 进行了 3 轮微调,学习率为 5e-5

            为了将上下文长度从 4k 扩展到 32k,他们将 RoPE 频率提高到 300k。训练遵循线性学习率调度,其中包含 10% 的预热阶段

            下表展示了在 lightevalOpenR1-Qwen-7B、DeepSeek-Distill-Qwen-7B 和 OpenThinker-7B 的性能对比,可以看出在数学成绩上,OpenR1-Qwen-7B 和 DeepSeek-Distill-Qwen-7B 差距不是非常明显

            本周 AIME 2025 开赛,来自苏黎世联邦理工学院的研究人员用新题来测评了多款模型,却发现各种模型的数学能力下降了 10-20 个百分点之间。有研究者发现这些「全新」的 AIME 题可能已经在互联网论坛泄露,这有可能造成意外的过拟合问题,这也凸显了新鲜测试数据的困境。

            参考链接:

            https://huggingface.co/blog/open-r1/update-2

            https://x.com/_lewtun/status/1889002019316506684

            https://huggingface.co/open-r1


            推荐阅读

            AIGCmagic社区介绍:

            2025年《AIGCmagic社区知识星球》五大AIGC方向全新升级!

            AI多模态核心架构五部曲:

            AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码

            AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

            AI多模态模型架构之LLM主干(1):ChatGLM系列

            AI多模态模型架构之LLM主干(2):Qwen系列

            AI多模态模型架构之LLM主干(3):Llama系列  

            2025年《AIGCmagic社区知识星球》五大AIGC方向全新升级!

            AI多模态模型架构之模态生成器:Modality Generator

            AI多模态实战教程:

            AI多模态教程:从0到1搭建VisualGLM图文大模型案例

            AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

            AI多模态教程:Qwen-VL升级版多模态大模型实践指南

            AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理


            技术交流

            加入「AIGCmagic社区」,一起交流讨论,涉及AI视频、AI绘画、数字人、多模态、大模型、传统深度学习、自动驾驶等多个不同方向,可私信或添加微信号:【lzz9527288】,备注不同方向邀请入群!

            更多精彩内容,尽在AIGCmagic社区」,关注了解全栈式AIGC内容!


            http://www.kler.cn/a/548744.html

            相关文章:

          1. 机试刷题_字符串的排列【python】
          2. 容器运行常见数据库
          3. python电影数据分析及可视化系统建设
          4. 深入学习Linux命令行中的各种替换操作(命令替换、参数替换、进程替换)
          5. MySQL常见错误码及解决方法(1130、1461、2003、1040、2000、1049、1062、1129、2002、1690等)
          6. (萌新入门)如何从起步阶段开始学习STM32 ——2 我应该学习HAL库还是寄存器库?
          7. 【自学笔记】计算机视觉基础知识点总览-持续更新
          8. 使用JavaScript实现深浅拷贝
          9. 单链表的概念,结构和优缺点
          10. openharmony系统移植之显示驱动框架从framebuffer升级为drm(linux-5.10)
          11. 【JVM系列】谈一谈JVM调优
          12. 【Leetcode】解锁二分查找:突破解题瓶颈的关键技巧
          13. Java和JavaScript当中的json对象和json字符串分别讲解
          14. 栈的深度解析:从基础实现到高级算法应用——C++实现与实战指南
          15. 清华大学×DeepSeek 使用手册 2.0:《DeepSeek如何赋能职场应用?》(文末附下载链接)
          16. DeepSeek-R1论文阅读及蒸馏模型部署
          17. SpringBoot:使用spring-boot-test对web应用做单元测试时如何测试Filter?
          18. C++11新特性之final
          19. 【吾爱出品】 视频批量分段工具
          20. 物联网行业通识:从入门到深度解析