简介DeepSeek-R1技术报告论文面向大语言模型研究者、算法工程师及对强化学习推理方向感兴趣的进阶学习者系统阐述如何通过强化学习激发LLM的推理能力。报告完整呈现DeepSeek-R1-Zero在无监督微调条件下经大规模RL训练涌现出的推理行为以及针对可读性差、语言混杂等问题引入多阶段训练与冷启动数据后的DeepSeek-R1方案并给出与OpenAI-o1-1217在AIME 2024、Codeforces、GPQA Diamond、MATH-500、MMLU、SWE-bench等基准上的对比结果。资源为1个PDF文件压缩包约1.27MB内容涵盖贡献总结、方法论、RL算法与奖励建模、蒸馏策略及失败尝试讨论并开源R1-Zero、R1与六个基于Qwen和Llama的密集模型。已有5205人学习适合作为复现思路、撰写综述或设计推理训练方案的参考底稿。1. 从 AIME 15.6% 到 71.0%纯 RL 为什么能把基座模型逼出推理能力DeepSeek-R1 技术报告里最反直觉的一组数字是 DeepSeek-R1-Zero 在 AIME 2024 上的 pass1 从 15.6% 涨到 71.0%而这条曲线背后没有任何 SFT 数据。也就是说团队没有先喂几万条「标准解题过程」而是直接拿 DeepSeek-V3-Base 上 GRPO让模型自己在think标签里摸索怎么想问题。这件事对做 LLM 后训练的人意义很大过去大家默认「先 SFT 冷启动、再 RL 对齐」是必经流程报告用实验说明纯 RL 也能让模型自发涌现出自我验证、反思、拉长 CoT 这些行为。这份技术报告适合三类人读一是正在搭后训练流水线的算法工程师想知道 GRPO 相比 PPO 省掉了什么二是想复现推理模型但卡在数据标注成本上的团队关心冷启动数据到底要多少三是准备把 R1 蒸馏到 7B/14B/32B 做私有部署的开发者需要看清蒸馏和直接 RL 的差距。下面按算法、奖励、流水线、蒸馏、排错五块拆开讲能抄的参数和模板都给出。2. GRPO 目标函数与规则奖励R1-Zero 的训练信号从哪来2.1 为什么用 GRPO 而不是 PPOPPO 在 LLM 上做 RL 时需要额外维护一个和策略模型同尺寸的 critic 网络来估计 baseline显存和训练成本直接翻倍。GRPO 的做法是对同一个 question 采样一组输出{o1, o2, ..., oG}用这组输出的奖励均值当 baseline省掉 critic。报告里给出的目标函数是J_GRPO(θ) E[ q~P(Q), {oi}~π_old(O|q) ] (1/G) Σ_i [ min( π_θ(oi|q)/π_old(oi|q) * Ai, clip(π_θ(oi|q)/π_old(oi|q), 1-ε, 1ε) * Ai ) - β * D_KL(π_θ || π_ref) ]其中优势Ai用组内奖励标准化得到Ai (ri - mean({r1,...,rG})) / std({r1,...,rG})这个设计的关键在于「组内相对」。同一道题采样 8 条或 16 条回答谁比同组平均好谁就拿到正优势不需要一个绝对的价值函数去判断「这条回答值多少分」。对数学题这种答案可验证的场景组内比较天然合适。2.1.1 参数含义与调参方向参数含义常见取值调大后的影响G每题采样条数8 / 16优势估计更稳显存线性上升εclip 范围0.2更新更保守训练更慢但更稳βKL 惩罚系数0.001~0.04约束偏离参考模型过大导致学不动temperature采样温度1.0 左右过高输出发散过低组内奖励无差异提示G 太小比如 4时组内 std 容易接近 0优势计算会除以极小值训练出现尖峰。报告用的是较大 group复现时建议从 8 起步。2.2 规则奖励准确率奖励 格式奖励R1-Zero 没有用神经奖励模型原因是报告明确提到 neural reward model 在大规模 RL 中会出现 reward hacking而且重训奖励模型要额外资源、把流水线搞复杂。它用的是两类规则奖励准确率奖励数学题要求把最终答案写在指定格式里比如 boxed用规则校验对错LeetCode 类题目用编译器跑预定义测试用例给反馈。格式奖励强制模型把思考过程放进think/think答案放进answer/answer。训练模板大致长这样A conversation between User and Assistant. The user asks a question, and the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer. The reasoning process and answer are enclosed within think/think and answer/answer tags, respectively. User: {prompt} Assistant:2.2.1 用 Python 写一个规则奖励校验器复现时最容易被低估的是答案抽取的鲁棒性。下面是一个常见的数学答案校验骨架import re def extract_boxed(text: str): # 抽取最后一个 \boxed{...} 里的内容处理嵌套花括号 idx text.rfind(\\boxed{) if idx -1: return None depth, start 0, idx len(\\boxed{) for i in range(start, len(text)): if text[i] {: depth 1 elif text[i] }: if depth 0: return text[start:i] depth - 1 return None def accuracy_reward(response: str, gold: str) - float: pred extract_boxed(response) if pred is None: return 0.0 # 归一化去空格、统一大小写、去掉千分位逗号 norm lambda s: s.strip().lower().replace(,, ).replace( , ) return 1.0 if norm(pred) norm(gold) else 0.0 def format_reward(response: str) - float: # 必须同时出现 think 和 answer 标签且顺序正确 has_think think in response and /think in response has_answer answer in response and /answer in response if has_think and has_answer: return 1.0 if response.index(think) response.index(answer) else 0.0 return 0.0extract_boxed用深度计数处理嵌套花括号避免\boxed{\frac{1}{2}}被截断accuracy_reward做归一化是因为模型经常输出1,000和1000这种等价形式format_reward只检查结构不检查内容和报告「避免内容偏见」的思路一致。最终奖励一般是accuracy λ * formatλ 取 0.1 量级即可格式奖励只是引导不能盖过正确性。3. 多阶段流水线冷启动数据、拒绝采样与两轮 RL 怎么串3.1 R1-Zero 的两个硬伤纯 RL 出来的 R1-Zero 推理能力够强但报告点出两个问题可读性差、语言混杂中英文夹杂。原因是训练模板只约束了结构没约束语言和表达风格。这两个问题在面向用户的场景里是致命的所以 R1 在 RL 之前加了一小批冷启动数据。3.2 四步流水线拆解报告里 R1 的训练流程可以拆成四步冷启动 SFT收集数千条长 CoT 数据微调 DeepSeek-V3-Base。注意是「数千条」量级不是几十万目的是给模型一个可读的推理格式起点。推理导向 RL在冷启动 checkpoint 上做和 R1-Zero 类似的 RL但这次要处理语言一致性通常做法是在奖励里加语言一致性项。拒绝采样 SFTRL 接近收敛时用当前 checkpoint 做拒绝采样生成新 SFT 数据再混入 DeepSeek-V3 在写作、事实问答、自我认知等领域的监督数据重新训练基座。全场景 RL用上一步的 checkpoint 再做一轮 RL这次 prompt 覆盖所有场景不只是推理题目的是兼顾有用性和无害性。3.2.1 拒绝采样的过滤逻辑拒绝采样不是「采样完直接用」而是按规则筛。常见做法是def rejection_filter(samples, gold, min_format_score1.0): kept [] for s in samples: # 1. 答案必须正确 if accuracy_reward(s, gold) 1.0: continue # 2. 格式必须合规 if format_reward(s) min_format_score: continue # 3. 语言一致性中英文混杂比例过高的丢弃 if mixed_language_ratio(s) 0.1: continue kept.append(s) return keptmixed_language_ratio一般统计非目标语言字符占比超过阈值就丢。这一步决定了第三阶段 SFT 数据的质量过滤太松会把 R1-Zero 的语言混杂问题带进 R1。注意冷启动数据的「数千条」是报告给的量级实际复现时如果基座不同、任务域不同这个数要重新试。太少模型学不会格式太多会限制 RL 阶段的探索空间。3.3 两轮 RL 的分工第一轮 RL 专注推理奖励以准确率为主第二轮 RL 覆盖全场景奖励要兼顾有用性、无害性和推理。两轮之间夹一次 SFT作用是「把 RL 探索到的好模式固化下来」同时把非推理能力补回来。这个「RL → 采样 → SFT → RL」的循环是 R1 和 R1-Zero 最大的结构差异。4. 蒸馏 1.5B 到 70B为什么直接蒸馏比在小模型上跑 RL 更划算4.1 蒸馏 vs 小模型 RL 的对比结论报告里一个明确结论用 Qwen2.5-32B 做基座直接从 DeepSeek-R1 蒸馏效果超过在这个 32B 模型上直接跑 RL。这说明大模型 RL 阶段探索出的推理模式本身是稀缺资源小模型自己 RL 很难摸索出同等质量的模式。对资源有限的团队这意味着「拿 R1 生成数据 SFT 小模型」比「自己搭 RL 训小模型」性价比高得多。4.2 开源蒸馏模型的规格与表现报告开源了基于 Qwen 和 Llama 的六个 dense 模型模型基座AIME 2024MATH-500LiveCodeBenchR1-Distill-Qwen-7BQwen2.5-7B55.5%——R1-Distill-Qwen-32BQwen2.5-32B72.6%94.3%57.2%R1-Distill-Llama-70BLlama3-70B———7B 蒸馏版在 AIME 2024 上 55.5%已经超过 QwQ-32B-Preview32B 版 72.6%接近 o1-mini。这组数字说明蒸馏路线的天花板比很多人预期的高。4.3 蒸馏数据的构造要点蒸馏不是把 R1 的输出原样喂给小模型。常见做法是# 用 R1 的 API 或本地部署批量生成推理数据 # 关键只保留最终答案正确的样本且格式统一 python generate_distill_data.py \ --model deepseek-r1 \ --input math_problems.jsonl \ --output distill_raw.jsonl \ --temperature 0.7 \ --max_tokens 8192 # 过滤答案正确 格式合规 长度在合理区间 python filter_distill.py \ --input distill_raw.jsonl \ --output distill_clean.jsonl \ --min-len 200 \ --max-len 8000temperature取 0.7 左右是为了保留一定多样性太低会让蒸馏数据千篇一律max_tokens要够大因为 R1 的 CoT 经常几千 token过滤阶段限制长度下限是为了丢掉那些「直接给答案没推理过程」的样本。4.3.1 蒸馏时的 loss 掩码SFT 蒸馏时通常只对 assistant 回复部分算 lossprompt 部分 mask 掉def build_labels(input_ids, prompt_len): labels input_ids.clone() labels[:, :prompt_len] -100 # -100 在 CrossEntropyLoss 里被忽略 return labelsprompt_len是用户问题加模板的长度-100是 PyTorch 的 ignore_index。如果忘了 mask模型会去学「怎么复述问题」浪费容量。5. 复现排错奖励尖峰、语言混杂与长度失控怎么定位5.1 训练不稳定的三个典型症状复现 RL 阶段时最常见的三类问题奖励尖峰后崩塌通常是组内 std 接近 0 导致优势爆炸检查 G 是否太小、temperature 是否太低。输出语言混杂R1-Zero 的已知问题如果做 R1 复现要在奖励里加语言一致性项或在冷启动数据里强化单语表达。CoT 长度失控模型为了拿格式奖励疯狂拉长输出检查是否给长度设了软约束或格式奖励权重是否过高。5.2 用 KL 散度监控偏离程度GRPO 目标里的D_KL(π_θ || π_ref)是判断训练是否跑偏的关键指标。常见做法是每个 step 记录 KLdef compute_kl(policy_logprobs, ref_logprobs): # 逐 token 的 KL 估计报告里用的是 k3 估计量 log_ratio ref_logprobs - policy_logprobs return torch.exp(log_ratio) - log_ratio - 1.0这个 k3 估计量恒非负比直接算log(p/q)更稳。KL 持续上升说明策略在快速偏离参考模型如果同时奖励没涨基本可以判定是奖励被 hack 了需要调大 β 或检查奖励函数。5.3 一个可复用的排查顺序遇到训练异常我一般按这个顺序查先看奖励分布是不是所有样本奖励都一样组内无区分度。再看 KL 曲线是不是单调飙升。然后抽样看输出是不是格式崩了或语言乱了。最后才动超参优先调 G 和 temperature再调 β 和 ε。提示报告里提到 neural reward model 会 reward hacking复现时如果非要用务必加 KL 约束和人工抽检否则模型会学会「讨好奖励模型」而不是「答对题」。5.4 验证蒸馏模型是否真的学到了推理蒸馏完不能只看 loss要在留出的推理题上测 pass1并且人工看几条 CoT 是否结构完整。一个快速验证脚本python eval_pass_at_1.py \ --model ./r1-distill-qwen-7b \ --dataset aime2024.jsonl \ --n_samples 1 \ --temperature 0.6n_samples1对应 pass1temperature评测时一般比训练低取 0.6 左右减少随机性。如果 pass1 明显低于报告里同规格模型的数字优先检查蒸馏数据的格式是否和评测模板一致——模板不匹配是蒸馏复现里最常见的坑。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
Python新手第一站:用官方IDLE彻底搞懂Hello World与运行原理 你装好Python之后,桌面上或者开始菜单里多半会出现一个叫IDLE的东西。很多第一次接触Python的人双击打开它,看到一个白底窗口加几个>>>符号,完全不知道这玩意儿能干嘛,然后转头就去下载VSCode或者PyCharm了。其实这个随P… · 2026/9/23 23:02:38
小学形近字教学四步闭环法:部首唤醒+部件手术+笔顺重演+错题溯源 1. 这不是字帖,是形近字“拆解手术刀”你有没有被孩子作业本上反复出现的“拔—拨”“辨—辩”“已—己”气到想撕本子?不是孩子不用心,而是小学阶段的形近字,根本不是靠“多写几遍”就能解决的——它是一套精密的视觉识别系统&am… · 2026/9/23 23:02:38
非均匀FFT与离散插值:破解非均匀采样频谱分析难题 简介:一份面向信号处理与图像处理学习者的MATLAB代码包,聚焦离散插值与非均匀快速傅里叶变换(NUFFT)实现,专门解决不规则采样数据的插值与频谱分析问题。压缩包共4个文件,包含1个.m脚本与3个.xlsx数据表&am… · 2026/9/23 23:02:32
Anki-Android 模块化架构中的 `:anki-common`:打破循环依赖的共享层设计详解 移动开发教育 【免费下载链接】Anki-Android AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention. 项目地址: https://gitcode.com/gh_mirrors/an/Anki-Android 点击查看 免费下载 导读
本文以 Anki-Android… · 2026/9/23 23:43:58
游戏美术本质:视觉决策系统与交互翻译 1. 游戏美术到底是什么?——不是画图,而是用视觉语言讲清楚“玩家该往哪走、该信什么、该怕什么”很多人第一次听说“游戏美术”这个词,下意识反应是:“哦,就是画游戏里那些角色和场景的吧?”——这就像说“… · 2026/9/23 23:43:52
Apache Doris Web 管理控制台(ui)开发指南:从环境搭建到构建部署 Apache Doris Web 管理控制台(ui)开发指南:从环境搭建到构建部署 【免费下载链接】doris Apache Doris is an easy-to-use, high performance and unified analytics database. 项目地址: https://gitcode.com/gh_mirrors/dori/doris
… · 2026/9/23 23:43:46
排列技术:解决心理内耗的高效方法 1. 理解"内耗"的本质与表现生活中我们常遇到这样的状态:明明没做什么体力劳动,却感觉精疲力尽;面对选择时反复纠结无法行动;脑海中不断上演自我否定的对话...这些都是典型的内耗表现。从心理学角度看,内耗是… · 2026/9/23 23:43:21
基于SpringBoot和大数据的毕业生去向追踪系统设计与实现 1. 项目背景与核心价值毕业生去向追踪系统是高校学生管理信息化建设的重要组成部分。传统的人工统计方式存在数据滞后、信息孤岛、分析维度单一等问题,难以满足现代高校对学生发展质量监测的需求。这个基于SpringBoot和大数据技术的解决方案,通过整合多源… · 2026/9/23 23:43:15
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29