DeepSeek-R1 技术报告的非技术解读
DeepSeek-R1 并不是在 scaling law 的老路上追赶上了,而是探索出了一条新的提升模型智力的技术路线。RL 这条上限更高(其次才是更经济)的路被走通了,这才是 AI 大厂既惊喜又惊吓的原因。
技术报告的关键点
OpenAI o1 是在 inference 时增加思维链推理的长度从而获得推理能力,而 R1 是第一个验证了在 post-training 时使用 RL 让千亿参数的模型获得推理能力的研究。在 post-training 阶段使用 RL 一直是业界探索的方向,但难的是如何在这个尺寸的模型下实现成本和时间可控的 RL,之前业界主流的探索方向是 Process Reward Model (PRM) 和 Monte Carlo Tree Search (MCTS)(被传得很神的 OpenAI 的 Q* 据说是 MCTS),这次 DeepSeek 用的是自己研究的一个叫 GRPO 的 RL 框架,论文于 2024 年 2 月发表 arXiv:2402.03300。
第一步:R1-Zero
DeepSeek 首先基于 DeepSeek-V3-Base 这个预训练模型,在不使用任何监督数据的情况下仅靠 RL 就训练出极具推理能力的 R1-Zero —— 取名 Zero 暗示了这个模型的推理能力的获得路径类似于不依赖人类棋谱 的 AlphaGo Zero(感觉致敬与炫耀并存)。
RL 只对 2 种结果做奖励:准确性与格式。准确性很容易理解;格式是指模型必须把思考过程放在
<think/>
标签内,这个点很有趣,并不是传统 CoT 的做法,结果是使得 R1 成为了一种富含推理过程的合成数据源,后续还会讲到用途。有意思的发现:R1-Zero 在没有对于推理步骤长度进行奖励的情况下,发现模型为了在复杂问题下获得更准确的结果,自己自然地增加了推理步骤。
有意思的发现:R1-Zero 在思考过程中出现了 “Wait, wait. Wait. That’s an aha moment I can flag here.” 的语句 —— 这也是研究人员的 Aha moment。
有意思的发现:R1-Zero 会混合使用多语言来思考(主要是中英),如果为了迎合人类的读性强制模型使用一种语言来思考,则会略微降低模型的表现。
在应用 majority voting (我理解为通过采样不同 decode 参数生成多个候选答案后选择最高频作为结果)后,R1-Zero 在数学领域的推理表现直接追平了 o1。
第二步:R1
在 R1-Zero 之后再去开发了更具通用性的 R1 是因为:1. 探索能否通过一些高质量的训练数据集作为冷启动,使得相同的 RL 过程最终让模型获得更好的推理表现?2. 让模型在非推理场景也有好的表现,并且让思考与结果对人类更具可读性,让模型获得更广泛的适用性。
合成冷启动数据集 —— 60 万条推理数据集:1. 让 R1-Zero (规定格式)生成大量长思考链的合成数据集;2. 取其中可以通过简单规则就判断正确性的数据,如数学答案的数值验证、选择题选项是正确;3. 取可通过 DeepSeek-V3 来和真实结果进行比较校验真实性的数据;4. 过滤掉其中包含
混合语言、超长段落和代码快的数据。
合成冷启动数据集 —— 20 万条非推理数据集:在例如写作、QA、自我认知、翻译 …… 等非推理场景下,沿用了 V3 的 pipeline 和 SFT 数据集约 20 万条。
在 DeepSeek-V3-Base 的预训练模型的基础上,先对这大约 80 万条冷启动数据进行 SFT 后,再应用 R1-Zero 的 RL pipeline,让模型在除了数学领域也获得了和 o1 类似的表现。
最后为了对齐人类偏好(可读性、安全性)进行了额外一轮的 RL。
对小模型的影响
展示了仅使用 R1 的蒸馏数据作为 SFT 数据集,就能将现有小模型的推理能力获得巨大的提升。报告仅测试了 Qwen 和 Llama,结果是仅在 Qwen2.5-7B 和 Llama3.1-8B 的尺寸上,模型在数学基准上的推理能力就超越了 GPT-4o-0513,也超越了各自的 32B 版本。
报告也指出自己在 Qwen2.5-32B 上进行了一样的 RL 训练,但并没有让模型获得推理能力的提升,说明小模型的推理能力(可能受限于模型容量对长推理链的建模能力而)存在明显的上限,提升推理能力的关键是直接学习高质量的富含推理过程的训练数据即可 —— 有点像笨学生最有效提升成绩的办法就是刷题,不太需要知道为什么 🤣
Coding 能力
工程上,相比生成一道数学题的答案并验证其是否正确,生成一段代码并运行成功验证结果其稀疏性大了非常多,且非常耗时。因此 R1 在 coding 方面 RL 的训练量目前还非常受限,所以成绩还不突出。
不过相信后续可以仅仅通过工程上的调优就能改善,比如过滤一些验证起来非常耗时的代码,以及通过异步验证来提升 RL 过程的效率。
对业界的影响
以下部分是私货:
目前,scale law 虽然理论上还 work 但业界大模型的性能都已受限于人类数据都已经用完。在这个时候 R1 的出现指出了一条除了在大幅提升数据量来暴力训练之外获得更智能模型的技术路线,这种级别的技术路线的突破和对人类科技进步可能造成的深渊影响是由一家中国的中型公司做出的,这才是大家最兴奋的点。至于训练降本其实是几个月前 V3 已经实现的,这个虽然也价值巨大,但我觉得目前在传播上被过度放大了,重点并不是这个。R1 已经演示了,目前只需要把优先级放在 RL 上,想办法通过更具效率的 RL 来获得一个强推理能力的旗舰模型,其他问题(比如小模型的性能和高质量合成数据)都能迎刃而解。
R1 的技术报告展示的是一个 post-training 的 pipline,并不局限于 DeepSeek 的 base 模型,技术上可以在当今任何类似规模的基底模型上复现,只是 RL 的训练成本可能有差异。而且 R1(以及其基于的 R1-Zero 和 V3-Base)的模型是开放的,相当于给了整个开源社区高质量合成数据的源头以及强大的模拟环境,大家马上就能用 R1/R1-Zero 来在其他模型上做各种调整。
R1 只给出了一个比较粗略的技术报告,缺乏过程数据具体如何生成。大家目前都在尝试复现,Hugging Face 就建了一个 open-r1 的项目,尝试从头推导出一个 R1,并将所有代码以及数据集开源,相信很快就有进展,我们可以从完全开源的项目中获得更具体的信息。