
Deepseek-r1 击溃 Openai 的 O1:揭开他们试图隐藏的训练秘密!
Image generated with DALL-E 3
在过去十年中,人工智能取得的进展令人难以置信。
这些进展大部分是在2017年谷歌发布其开创性论文“注意力机制是你所需的一切”之后取得的。
正是在那时,其他公司开始研究这篇论文中讨论的思想(变换器架构),以构建强大的大语言模型。
其中一家公司OpenAI,在发布变换器之前,曾专注于强化学习 (RL),并将其发展轨迹转向大语言模型,得益于谷歌的开源研究。
尽管OpenAI最初是一个旨在使人工智能民主化的组织,但最终将其研究和产品变得专有。
OpenAI发布的最后一个开源模型是GPT-2,该模型于2019年11月公开发布。
自那时起,他们所有的模型进展都保持秘密。
几个月前,OpenAI发布了“o1”,他们确实发现了一些非凡的东西,并训练他们的新型大语言模型花更多时间思考(通过长思维链和来自人类反馈的强化学习)来解决复杂问题。
这个过程的确切“如何”是什么?——没有人知道。
这一切现在发生了变化。
深度寻求,一家位于中国的公司,刚刚发布了‘深度寻求-R1’,这是他们最新的模型,能够像OpenAI的o1一样在复杂领域进行推理。
这个大语言模型表现非常出色,在多个数学和编码基准测试中超过了o1。
Benchmark performance of DeepSeek-R1
甚至从深度寻求-R1中提炼出的更小的大语言模型也超过了OpenAI的o1-mini、GPT-4o和Anthropic的Claude 3.5 Sonnet等模型。
这里有一个故事,我们深入探讨深度寻求-R1是如何训练的,以及这些发现将如何前所未有地加速人工智能的进步。
让我们开始吧!
但首先,大语言模型通常是如何训练的?
大语言模型的训练始于收集大量文本数据。
这些数据来自网络上公开可用的来源,或者有时来自专有来源。
用于训练GPT-3的数据集(图片来源于标题为“语言模型是少样本学习者”的ArXiv研究论文)
这些数据经过清理、格式化、标记化,并转换为文本嵌入。
接下来,通过自监督学习,利用强大的图形处理单元/ 张量处理单元 在这些未标记的数据上训练大语言模型。
这一步称为预训练,有助于教会大语言模型语言的结构(语法、语义和上下文关系)。
然后,预训练的大语言模型使用相关数据集进行监督微调 (SFT),以提高其在特定任务/领域(数学推理、编码、机器翻译等)上的性能。
经过监督微调的大语言模型随后被对齐到人类偏好,以防止有害响应生成,通常使用:
强化学习 (RL) 也被用于改善大语言模型中的思维链推理,参见OpenAI博客描述o1。
而这正是深度寻求-R1带来所有好处的秘密所在。
让我们来学习一下。
用强化学习消除监督微调
DeepSeek团队的实验以深度寻求-V3-基础作为他们的预训练基础模型。
接下来,他们不是使用监督微调,而是直接用强化学习对其进行训练,以提高推理性能。这使得模型能够在没有任何监督数据的情况下,独立发展其推理能力,在这个过程中自我演化。
他们使用的是一种内部开发的算法,而不是OpenAI开发的流行策略优化算法近端策略优化 (PPO),该算法称为群体相对策略优化 (GRPO)。
以下部分描述了它们的不同之处。
PPO vs. GRPO
在PPO中,策略模型与评论家/价值模型一起工作,以使用广义优势估计 (GAE)计算优势 A
。
GRPO去除了评论家/价值模型,并根据一组采样输出的相对奖励计算优势。
这减少了与强化学习相关的计算复杂性和训练成本。
查看他们的方程,其中GRPO直接将参考策略的KL散度集成到损失中,而PPO在奖励计算过程中间接惩罚它。
在LLM训练中最大化的目标 PPO
在LLM训练中最大化的目标 GRPO
差异在下面显示的图像中进一步演示。
PPO vs. GRPO (图像来自于DeepSeekMath研究论文在ArXiv)
关于强化学习训练的更多细节
给予模型的奖励决定了它将采取的优化方向。
在这种模型训练的情况下,研究人员使用基于规则的奖励系统,而不是结果/过程神经奖励模型。
(这是因为,使用神经奖励模型时,评估过程更模糊,可能导致奖励黑客,并且需要大量的计算成本来重新训练。)
有两种类型的奖励结合在一起指导强化学习过程:
- 准确性奖励:由基于准确性的奖励模型给予,基于模型(正在训练)响应是否正确的规则验证。
- 格式奖励:如果正在训练的模型在其响应中遵循特定格式,则由格式奖励模型给予(例如,将其思维过程放在
<think>
和</think>
标签之间)。
一个模板指导基础模型(深度寻求-V3-基础)在训练时遵循指令。
该模板确保模型首先输出其推理过程(在<think>
和</think>
标签之间),然后是答案(在<answer>
和</answer>
标签之间)。
这个模板故意保持简单,以便模型根据其发现的最佳方式进行探索和演变(而不是提示模型遵循特定的推理策略)。
用于强化学习训练的模板。‘prompt’在训练期间被特定的推理问题替换。
以这种方式训练基础模型导致了深度寻求-R1-零。
以下流程图总结了训练过程。
使用纯强化学习训练深度寻求-R1-零(图像由作者创建)。
DeepSeek-R1-Zero有多优秀?
随着强化学习训练的进展,DeepSeek-R1-Zero在AIME (2024)上的第一次通行率(pass@1
)平均准确率从15.6%提高到71%。
这接近于OpenAI o1的表现。
DeepSeek-R1-Zero在训练过程中AIME (2024)准确率的上升
两个指标用于比较这两个模型的准确率:
pass@1
:这是模型对于给定查询的第一次输出是正确的概率。const@n
:该指标涉及为给定查询生成n
个响应,然后使用多数投票来确定最终答案。
结果显示,DeepSeek-R1-Zero在AIME 2024的const@64
指标上超过了OpenAI o1(83.3% vs 86.7%准确率)!
DeepSeek-R1-Zero与OpenAI o1在不同推理相关基准上的比较。
在强化学习训练中注意到的一些有趣见解
随着强化学习训练的增加,研究人员观察到模型通过增加测试时的计算和生成数千个推理标记进行深入思考,学习解决越来越复杂的问题。
像自我反思(模型重新审视和重新评估其先前步骤)、回溯和探索替代方案等行为,自然地在模型与强化学习环境互动时出现。
随着训练的进展,每个响应的平均长度增加。这表明深度寻求-R1-零自然学习以更多的思考时间解决复杂问题。
当模型的一个中间版本决定在解决复杂数学问题时花更多时间思考和重新评估其初始方法时,出现了一个有趣的时刻。
看起来模型突然意识到它可以更好地思考,并标记了一个“顿悟时刻”!
一个有趣的“顿悟时刻”被深度寻求-R1-零的中间版本和研究团队注意到。
但是深度寻求-R1-Zero并不完美
尽管纯粹的强化学习训练对于模型中推理方法的涌现非常强大,但完全避免监督微调会导致一些问题。
深度寻求-R1-Zero混合了不同的语言,并且缺乏适当的格式,导致其推理过程的可读性差。
为了确保生成的响应清晰且连贯,研究人员进一步通过在强化学习之前使用监督微调训练基础模型进行实验。
SFT 在 RL 之前是否能构建更好的模型?
为了测试这种方法,研究人员首先收集了一小部分长的思维链 (CoT) 数据。(他们称之为“冷启动数据”。)
这些数据来自多个来源:
- 通过少量示例提示不同的大语言模型生成长的 CoT 示例
- 通过提示不同的大语言模型生成对查询的详细回答,并进行反思和验证
- 通过从深度寻求-R1-Zero 收集易于阅读的输出
接下来,所有这些推理数据都经过人类注释者的帮助进行过滤和精炼。
这些精炼后的长 CoT 数据具有预定义的输出格式如下:
special_token | <reasoning_process> | special_token |
---|
其中:
<reasoning process>
是查询的 CoT<summary>
是每个响应末尾推理结果的总结
深度寻求-V3-基础模型最终在这些长 CoT 数据上进行了监督微调。
进一步的强化学习以改善SFT模型中的推理
在监督微调(SFT)之后,该模型经历与之前用于训练深度寻求-R1-Zero相同的强化学习(RL)训练过程。
然而,这一次,引入了一种新的语言一致性奖励到整体模型奖励中,以避免语言混合问题。
该奖励基于思维链中属于目标语言的单词比例,模型在响应中使用更多目标语言单词时将获得更高的奖励。
整体的RL训练奖励是通过将该奖励直接加总到在训练深度寻求-R1-Zero时讨论的奖励中获得的。
这里的目的是在保持响应语言清晰和连贯的同时改善模型推理。
这一部分的RL训练被称为面向推理的强化学习。
消融实验表明,使结果更易于人类阅读会略微降低模型的性能,这是一个非常有趣的观点。
监督微调以进一步迭代自我改进
一旦完成此步骤,生成的模型将作为检查点,以获取更多数据进行进一步的监督微调。
这些数据的形式为:
- 推理数据: 通过拒绝采样获得60万条与推理相关的(数学、代码和逻辑)训练样本,方法是提示上述模型检查点生成多个推理轨迹(长思维链),并使用预定义规则或生成模型(深度寻求-V3)拒绝不合适的轨迹。
- 非推理数据: 通过提示深度寻求-V3或从训练深度寻求-V3时使用的SFT数据获得20万条训练样本。这些样本与推理无关,而是与写作、事实问答、自我认知和语言翻译等任务相关。
这总共80万条样本进一步用于监督微调模型。
将模型与人类偏好对齐
注意,虽然上述步骤专注于推理和非推理任务,但模型仍然需要与人类偏好对齐,以便变得无害且有帮助。
这通过一个次级强化学习 (RL) 阶段来实现。
为了将其推理响应与人类偏好对齐,使用基于规则的奖励,类似于我们之前在训练 DeepSeek-R1-Zero 时讨论的内容。
对于非推理响应,使用基于 DeepSeek-V3 构建的人类偏好对齐奖励模型进行其 RLHF 训练。
这完成了 DeepSeek-R1 的训练。
以下流程图描述了完整的过程。
DeepSeek-R1 及其提炼模型的训练过程如下面所述(图像由作者创建)
提炼深度寻求-R1到更小的模型
如果你是知识蒸馏的新手,这是一种使用大型复杂模型(教师模型)来训练更小、更简单且更节省内存的模型(学生模型)的技术。
该过程的目的是将教师模型的知识转移到学生模型,以便它可以在资源受限的环境中部署,同时仍能与教师模型的性能相当。
还记得之前从深度寻求-R1模型检查点获得的80万训练样本吗?
这些样本用于通过监督微调来提炼多个Qwen和Llama模型。
在此过程中提炼的基础模型如下(括号中显示结果模型):
- Qwen2.5-Math-1.5B(结果为深度寻求-R1-蒸馏-Qwen-1.5B)
- Qwen2.5-Math-7B(结果为深度寻求-R1-蒸馏-Qwen-7B)
- Qwen2.5-14B(结果为深度寻求-R1-蒸馏-Qwen-14B)
- Qwen2.5–32B(结果为深度寻求-R1-蒸馏-Qwen-32B)
- Llama-3.1–8B(结果为深度寻求-R1-蒸馏-Llama-8B)
- Llama-3.3–70B-Instruct(结果为深度寻求-R1-蒸馏-Llama-70B)
请注意,蒸馏模型不进行强化学习训练。
DeepSeek-R1 有多优秀?
DeepSeek-R1 在以下方面优于 DeepSeek-V3:
- 面向教育的知识基准 (MMLU, MMLU-Pro, GPQA Diamond)
- 长上下文依赖的问题回答基准 (FRAMES)
- 事实基准 (SimpleQA)
- 写作任务和开放领域问题回答(通过 AlpacaEval2.0 和 ArenaHard 进行评估,生成相对简洁的结果)
它在遵循格式指令方面也表现出色,正如其在 IF-Eval 基准 上的出色表现所示。
它的性能与(或 优于)OpenAI o1 相当:
- 数学推理基准 (AIME 和 MATH-500)
- 编程基准 (LiveCodeBench, SWE Verified 和 Codeforces)
这些结果对于开源模型来说是一个巨大的胜利!
DeepSeek-R1 与其他流行的大语言模型在语言、编码和数学基准上的比较。
较小的蒸馏模型表现如何?
与其他类似能力的流行大语言模型相比,使用DeepSeek-R1输出蒸馏的不同Qwen和Llama模型也产生了惊人的结果。
DeepSeek-R1-Distill-Llama-70B在大多数基准测试中显著超越了OpenAI o1-mini(以及其他竞争大语言模型)。
同样,DeepSeek-R1-Distill-Qwen-32B的表现优于其他模型,特别是在AIME(2024)基准测试中,OpenAI o1-mini的首次通过准确率(pass@1
)也是如此。
从DeepSeek-R1蒸馏的模型与其他可比模型在推理相关基准测试中的比较。
值得注意的是,这些结果是在监督微调(SFT)之后得出的,这显示了DeepSeek-R1在传授其知识方面是多么强大。
你一定在想,当我们用与DeepSeek-R1-Zero相同的强化学习(RL)过程训练这些较小的模型,而不仅仅是蒸馏它们时,会发生什么。
研究人员也考虑到了这一点。
为了回答这个问题,他们使用数学、代码和STEM数据对Qwen-32B模型进行了RL训练,从而创建了DeepSeek-R1-Zero-Qwen-32B。
DeepSeek-R1-Distill-Qwen-32B的训练过程(作者创作的图像)。
该模型的能力足以与来自Qwen系列的高级推理模型QwQ-32B-Preview相媲美。
然而,从DeepSeek-R1蒸馏而来的DeepSeek-R1-Distill-Qwen-32B在所有基准测试中表现显著优于它和QwQ-32B-Preview!
** 这显示了从大型和更智能模型中进行知识蒸馏的过程是多么强大! **
蒸馏/强化学习训练的较小模型与QwQ-32B-Preview之间的比较。
训练深度寻求-R1的成本是多少?
深度寻求-R1 拥有6710亿个参数,基于混合专家(MoE)架构(就像它的基础模型,深度寻求 V3)。
尽管原始研究论文没有描述训练它的成本,我引用了一篇《自然》出版的新闻文章中的估算如下:
“专家估计,租用训练该模型所需的硬件成本约为600万美元,而Meta的Llama 3.1 405B则花费超过6000万美元,后者使用了11倍的计算资源。”
训练GPT-4的成本可能为1亿美元,而o1的训练成本仍未披露(也许是10-20倍?我不知道)。
与这些相比,训练深度寻求-R1的成本感觉就像花了几分钱。
对于最终用户,使用o1的成本为$60 / 1M输出标记。
对于深度寻求-R1,这个价格仅为$2.19 / 1M输出标记。
换句话说,使用OpenAI的o1比深度寻求-R1贵27倍。
但是深度寻求-R1并不完美,是吗?
不,这个模型并不是在所有任务中都是最好的。
在以下任务中,它不如深度寻求-V3:
- 函数调用
- 多轮对话
- 复杂角色扮演
- JSON 输出生成
在软件工程基准测试中,它的表现也并没有比深度寻求-V3好多少。
原因在于它在这些任务上没有经过大规模的强化学习训练。
该模型还针对中文和英文进行了优化,即使查询是用其他语言进行的,它也可能仍然使用这些语言进行推理和响应。
还观察到,少量示例提示会降低模型性能。
因此,为了获得最佳结果,建议直接描述问题并使用零样本提示指定输出格式。
深度寻求永远改变了人工智能构建游戏
对深度寻求-R1的研究完全改变了大语言模型的训练方式,并激励了全球多个人工智能研究人员。
Hugging Face已经发布了其开源复现版本,名为Open-R1。
不久之后,多个项目将从中涌现并迅速发展,彰显开源相较于专有人工智能的真正力量。
我对未来的到来感到兴奋。
Yann LeCun关于深度寻求-R1的帖子(图片来源于他的LinkedIn个人资料)
进一步阅读
- 研究论文《深度寻求-R1:通过强化学习激励大语言模型的推理能力》发表于ArXiv
- 描述群体相对策略优化的研究论文《深度寻求数学:推动开放语言模型中的数学推理极限》发表于ArXiv
- Hugging Face在GitHub上完全开放的深度寻求-R1复现
图像来源
所有图像均来自原始研究论文,除非在说明中另有说明。