[特殊字符] DeepSeek-R1 原理解析及项目实践(含小白向概念解读)
作者:京东零售 王加伟
一、概念解读(小白向)
我们打开 deepseek 官网,会发现对话框之下:有两个按钮,那他们的含义如何理解🤔?最近爆火的 deepseek 究竟指的是哪个模型?深度思考 R1 与联网搜索的作用?

接下来对常用概念做一些入门性质的介绍:
1、联网搜索:
比较好理解,我们知道 LLM(大语言模型)的知识是有时效性的,因为大模型知识来源于海量的离线数据训练,而一般来说,其训练数据大约滞后于其发布时间半年到一年以上。比如在 OpenAI 的模型介绍网页上,可以看到 o1 模型的训练数据截止时间为 2023 年十月份,而 deepseek(此处指 V3 基座),参考其回复发现时间大约也是 2023 年 10 月。【所以对于时效性问题,LLM 回答不出来实属正常。】而联网搜索,解决的就是时效性问题,当你勾选联网搜索时,你可以把其视为一个能理解你的任意自然语言问题(传统搜索引擎仅仅为关键词搜索)的 AI 搜索引擎。

2、深度思考(R1)
在介绍深度思考之前,我们先来了解如下常见名词的含义:
deepseek:泛指性的概念,指任意 deepseek 系列模型。
deepseek V3:对话模型,最新版 deepseek 基座模型(无深度思考能力),其指令版本具备对话能力,与 gpt-4o,qwen2.5 系列等模型属于同阶段模型。参数量 671B,当前最强开源基座模型,但参数量巨大,完整部署大约需 1300G+显存。
deepseek R1:推理模型,【也就是最近爆火的模型,由于其在相对低资源的条件下,SFT+多阶段强化学习训练出能力超强推理能力而闻名】。擅长复杂问题的推理,准确率相较于 deepseek V3 更高,但思考过程过长。
deepseek R1-zero:推理模型,可以理解 deepseek R1 的先验版本,R1-zero 的训练是一个探索性的过程,它验证了 RL 本身对于激励 base 模型产生推理的能力。在这个探索结论上,才开始正式进入 R1 的训练。【此模型为实验性质,其能力低于 deepseek R1,因而也未面向 C 端用户上线】
DeepSeek-R1-Distill-Qwen-xxxB:知识蒸馏版的推理模型,使用 deepseek R1 中间阶段的 80w 条训练数据,对 Qwen2.5 系列进行 SFT 指令微调的模型。(无强化学习过程,可以理解为 COT 思维链数据的 SFT)大家平时听到的残血版,蒸馏版,大多指此版本。
二、训练原理解析
1、训练流程
Deepseek R1 的训练过程可分为两阶段迭代优化,核心是通过高质量推理数据生成和 RL 策略提升逻辑推理能力,具体流程如下:
阶段一(Phase 1):COT 数据质量提升
1.基座模型
◦使用 Deepseek V3 Base(预训练模型)作为初始基座。
2.训练步骤
◦SFT 训练:用初始逻辑推理数据(如 COT 轨迹)进行监督微调。
◦RL 强化训练:进一步优化得到 Model RL-1,提升推理轨迹的生成质量。
3.核心目的
◦利用 Model RL-1 生成更高质量的新 COT 数据,随后弃用 Model RL-1,仅保留新数据。
阶段二(Phase 2):干净基座再训练
1.基座模型回退
◦关键策略:重新使用原始 Deepseek V3 Base(非 Phase 1 的 Model RL-1,是为了避免使用低质量数据污染的基座)。
2.数据混合
◦新 COT 数据:Phase 1 生成的高质量逻辑推理数据使用拒绝采样的方式来筛选轨迹数据。
◦Post-training 数据:加入 deepseekV3 非逻辑推理类数据(如通用任务),防止模型遗忘其他能力。
3.训练流程
◦再次回到 base 模型上,首先用这 80w 的新数据对它做 2 个 epoch 的 sft。
◦接着执行 2 个阶段的 RL:
▪第 1 阶段 RL:旨在增强模型推理方面的能力。采取类似 r1 zero 的 RL 方法,使用基于规则的 RM,对模型进行 RL 训练,以提升模型在数学、代码和逻辑方面的推理能力。(这里用的数据集应该不是那 80w,是类似于 zero 直接构建 prompt)
▪第 2 阶段 RL:旨在针对模型的 helpfulness 和 harmlessness,类似于 dpsk v3 的训练 pipeline
核心训练技巧
1.迭代数据增强
◦通过前阶段模型生成更优质数据,用于后阶段训练(类似微软 rStar-Math 的 MSCT 方法)。
2.基座模型重置
◦每轮迭代均从原始干净基座出发,避免误差累积,最大化高质量数据效用。
3.防遗忘机制
◦混合逻辑与非逻辑数据,保持模型多任务平衡性。

参考图片来源:复刻 OpenAI O3 之路:Deepseek R1、Kimi K1.5 及 MCTS 技术路线探析-知乎
2、DeepSeek R1 的技术价值思考:
1、r1 zero 证明了无需 sft,直接用 base model 做单纯的 RL,已经可以取得强大的 reasoning 能力。这里单纯的 RL 是指:没有显式提供一些真正的 long cot 数据让模型去背去学,我只是在 sys_msg 里告诉模型先思考,再回答。接着通过 RL 一轮又一轮的训练,模型产出的 responses 越来越长,且在某个时刻出现了自我评估和反思的行为。
2、随着训练 steps 的增加,r1 zero 倾向于产出更长的 response(long cot),并且还出现了反思行为。这些都是在没有外部干预的情况下,r1 zero 模型在训练中自我进化的结果。
3、对于小模型,不需要依然 RL,只用蒸馏就可以使得其推理能力得到显著提升(对于大模型会是怎么样的,技术报告中没有提)
三、deepseek 复现-实践项目
1、高考数学测试
测试数据:《2024 年高考新课标一卷数学真题》,一共 19 道题,满分 150 分。
测试方式如下
1.Claude sonnet 3.5 (直接把题目输入给模型)
2.Claude sonnet 3.5 + COT
3.Claude sonnet 3.5 + MCTS+ COT(Agent 模式)
4.O1-preview (直接把题目输入给模型)
5.Qwen2.5-Math-72B (直接把题目输入给模型)
6.Deepseek-R1 (直接把题目输入给模型)
7.Deepseek-R1-Distill-Qwen-32B (直接把题目输入给模型)

详见:
https://mp.weixin.qq.com/s/jUIHibLdO59fWTAKFMX79A
2、deepscaler
UC 伯克利的研究团队基于 Deepseek-R1-Distilled-Qwen-1.5B,通过简单的强化学习(RL)微调,得到了全新的 DeepScaleR-1.5B-Preview。在 AIME2024 基准中,模型的 Pass@1 准确率达高达 43.1% ——不仅比基础模型提高了 14.3%,而且在只有 1.5B 参数的情况下超越了 OpenAI o1-preview!

Deepseek-R1 发现,直接在小型模型上用强化学习,效果不如知识蒸馏。在 Qwen-32B 模型上做对比实验,强化学习只能让 AIME 测试的准确率达到 47%,但只用知识蒸馏就能达到 72.6%。不过,要是从更大的模型中,通过蒸馏得到高质量的 SFT 数据,再用强化学习,小模型的推理能力也能大幅提升。研究证明了这一点:通过强化学习,小型模型在 AIME 测试中的准确率从 28.9%提高到了 43.1%。
https://github.com/agentica-project/deepscaler
3、Logic-RL
中科大某大四科研小组复现,在 Logic Puzzle Dataset 数据集下。
证明了:原始基座模型在测试集上只会基础的 step by step 逻辑。 但在无 Long CoT 冷启动蒸馏,三阶段 Rule Based RL 后,模型学会了:
迟疑 (标记当前不确定的 step 等后续验证),
多路径探索 (Les't test both possibilities),
回溯之前的分析 (Analyze .. statement again),
阶段性总结 (Let's summarize, Now we have determined),
Answer 前习惯于最后一次验证答案(Let's verify all statements)
https://github.com/Unakar/Logic-RL
4、Open R1
国外 huggingface 团队复现,旨在做到完全开放复现 DeepSeek-R1,补齐 DeepSeek 所有未公开的技术细节。
https://github.com/huggingface/open-r1
四、本地实践
1、本地化部署与产品使用
我们在 RAG 知识增强的问答助手 5starAI 项目上实践。使用 VLLM 部署了 DeepSeek-R1-Distill-Qwen-32B-4bit 版本,显存占用如下。速度实测约 50Tokens/S。

RAG 场景,在 Llamaindex 框架下集成,部分代码如下:

以下是应用效果截图,含思考过程:(ps 欢迎大家来尝试使用或者合作,京 Me 搜索机器人 5starAI)

2、强化学习训练实践
由于本地有 text2SQL 前置实践经验【http://xingyun.jd.com/shendeng/article/detail/31804?forumId=38&jdme_router=jdme://web/202206081297?url%3Dhttp%3A%2F%2Fsd.jd.com%2Farticle%2F31804】,并积累了相关数据集,我们计划在 text2SQL 任务上,使用 DeepSeek-R1-Distill-Qwen-1.5B 为基座(资源限制),参考https://github.com/agentica-project/deepscaler的项目经验,进行 RL 训练。目前正在尝试复现该项目效果中,后续将更新。


版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/a1b77a43e7c6c00360b27fe1e】。文章转载请联系作者。
评论