继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

图解DeepSeek-R1

狐的传说
关注TA
已关注
手记 337
粉丝 88
获赞 556

DeepSeek-R1是AI发展进程中的最新重要成果。对机器学习研发社区而言,这一版本具有重要意义,原因包括:

  1. 该模型采用开放权重策略,并提供了经过蒸馏的较小版本
  2. 它公开分享了复现类似OpenAI O1推理模型的训练方法,并进行了深入分析

在本文中,我们将深入探讨其构建过程。

其他语言版本 : 中文, 韩文, 土耳其语 (欢迎翻译本文并提交翻译链接以供收录)

目录:

  • 回顾:大语言模型的训练方式
  • DeepSeek-R1训练方法
  • 1- 长链推理SFT数据
  • 2- 中间优质推理大语言模型(非推理任务表现较差)
  • 3- 使用大规模强化学习创建推理模型

  • 3.1- 大规模面向推理的强化学习(R1-Zero)

  • 3.2- 使用中间推理模型创建SFT推理数据

  • 3.3- 通用RL训练阶段
  • 架构
回顾:大语言模型的训练方式

与大多数现有的大语言模型类似,DeepSeek-R1采用逐词元生成方式,但其在解决数学和推理问题方面表现卓越,因为它能够通过生成解释思维链的思考词元(thinking tokens)来花费更多时间处理问题。

下图展示了创建高质量大语言模型的通用三阶段流程:

1) 语言建模阶段:使用海量网络数据训练模型预测下一个词元,得到基础模型

2) 监督微调阶段:使模型更好地遵循指令和回答问题,得到指令微调模型或SFT模型

3) 偏好对齐阶段:进一步优化模型行为并与人类偏好对齐,得到最终可在应用中使用的大语言模型

DeepSeek-R1训练方法

DeepSeek-R1遵循这一通用流程。第一阶段的具体细节基于DeepSeek-V3模型的前期研究。R1使用该研究中的基础模型(非最终版DeepSeek-V3),同样经过SFT和偏好对齐阶段,但其具体实现方式有所不同。

R1创建过程中有三个关键特点值得关注:

1- 长链推理SFT数据

该阶段使用了大量长链思维推理示例(达60万个)。此类数据获取难度大,且在此规模下进行人工标注成本极高,因此其创建过程成为第二个关键特点。

2- 中间优质推理大语言模型(非推理任务表现较差)

这些数据由R1的一个前身模型生成,这是一个未命名的、专门擅长推理的兄弟模型。该模型的灵感来源于名为R1-Zero的第三个模型。其重要性在于仅需极少标注数据,结合大规模强化学习,就能产生擅长解决推理问题的模型。

该专业推理模型的输出可用于训练更通用的模型,使其在非推理任务上也达到用户期望的水平。

3- 使用大规模强化学习创建推理模型

该过程分为两个步骤:

3.1 大规模面向推理的强化学习(R1-Zero)

在此阶段,RL用于创建中间推理模型,该模型随后用于生成SFT推理示例。实现这一目标的关键是前期创建的DeepSeek-R1-Zero模型。

R1-Zero的特殊性在于无需标注的SFT训练集就能在推理任务中表现出色。其训练直接从预训练基础模型通过RL过程进行(跳过SFT阶段),性能足以与o1竞争。

这一突破意义重大,因为数据一直是机器学习模型能力的核心驱动力。该模型的成功基于两个关键因素:

  1. 现代基础模型已在质量和能力上达到特定阈值(该基础模型使用14.8万亿高质量词元训练)
  2. 与通用任务不同,推理问题可实现自动验证和标注
示例:推理问题的自动验证

考虑以下RL训练中的提示问题:

编写Python代码,接收数字列表并返回排序结果,同时在开头添加42

此类问题支持多种自动验证方式。模型生成的补全可进行以下验证:

  • 代码语法检查器验证Python语法正确性
  • 实际执行测试代码运行情况
  • 其他编码大语言模型生成单元测试验证功能
  • 进一步比较不同正确解决方案的执行性能

通过生成多个候选解决方案,系统可自动评估各方案质量:

自动评估结果显示:第一个补全非代码,第二个非Python代码,第三个功能不正确,第四个为正确解决方案。

这些评估信号直接用于模型改进,通过小批量处理和连续训练步骤实现持续优化。

奖励信号和模型更新的持续迭代使模型在RL训练过程中不断改进,如论文图2所示。

模型能力的提升伴随生成长度的增加,表现为生成更多思考词元来处理复杂问题。

尽管R1-Zero在推理任务上表现出色,但其在实际应用中存在局限性:

DeepSeek-R1-Zero虽然展现出强大的推理能力和自主发展的创新行为,但仍面临可读性差、语言混杂等挑战

R1旨在成为更实用的模型,因此在两个关键环节使用RL技术:

  1. 创建中间推理模型生成SFT数据点
  2. 训练R1模型改进推理和非推理任务性能

3.2 使用中间推理模型创建SFT推理数据

为提高中间推理模型的实用性,需对其进行监督微调训练,使用数千个推理问题示例(部分来自R1-Zero生成和筛选)。论文将此称为"冷启动数据":

2.3.1. 冷启动
与DeepSeek-R1-Zero不同,为避免从基础模型开始RL训练时的不稳定阶段,我们为DeepSeek-R1构建并收集了少量长链思维数据用于模型微调,作为初始RL行动者。数据收集方法包括:使用长链思维示例的少样本提示、直接提示模型生成带反思和验证的详细答案、收集R1-Zero的可读格式输出,以及人工标注后处理。

RL过程的必要性在于数据规模需求:虽然可获得数千个示例,但训练R1需要60万个示例,中间模型有效解决了这一数据缺口。

监督微调过程向模型提供提示和正确补全组成的训练示例:

3.3 通用RL训练阶段

此阶段使R1在推理和非推理任务上均表现出色。训练过程与前述RL流程类似,但针对非推理应用引入了帮助性和安全性奖励模型。

架构

DeepSeek-R1采用Transformer解码器块堆叠架构,包含61个块体。前三个为稠密层,其余采用混合专家层设计。

模型维度和其他超参数配置如下:

详细架构信息参考以下技术文献:

结论

通过以上分析,读者应对DeepSeek-R1模型的核心原理建立清晰认知。

扩展阅读
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP