写点什么

[特殊字符] DeepSeek-R1 原理解析及项目实践(含小白向概念解读)

  • 2025-02-13
    北京
  • 本文字数:3109 字

    阅读完需:约 10 分钟

作者:京东零售 王加伟

一、概念解读(小白向)

我们打开 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 训练。目前正在尝试复现该项目效果中,后续将更新。




发布于: 刚刚阅读数: 2
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
[特殊字符] DeepSeek-R1原理解析及项目实践(含小白向概念解读)_京东科技开发者_InfoQ写作社区