我本想写一篇关于 DeepSeek R1 的科普文,但发现很多人仅仅把它理解为 OpenAI 的复制品,而忽略了它在论文中揭示的“惊人一跃”,所以,我决定重新写一篇,讲讲从 AlphaGo 到 ChatGPT,再到最近的 DeepSeek R1 底层原理的突破,以及为什么它对所谓的 AGI/ASI 很重要。作为一名普通的 AI 算法工程师,我可能无法做到非常深入,如有错误欢迎指出。
AlphaGo 突破人类上限
1997 年,IBM 公司开发的国际象棋 AI 深蓝,击败了世界冠军卡斯帕罗夫而引发轰动;接近二十年后的 2016 年,由 DeepMind 开发的围棋 AI AlphaGo 击败了围棋世界冠军李世石,再次引发轰动。
表面上看这两个 AI 都是在棋盘上击败了最强的人类棋手,但它们对人类的意义完全不同。国际象棋的棋盘只有 64 个格子,而围棋的棋盘有 19x19 个格子,假如我们用
一盘棋能有多少种下法
(
状态空间
)来衡量复杂度,那么二者对比如下:
-
-
国际象棋:每局约
80 步
,每步有
35 种
走法 → 理论状态空间为
-
围棋:每局约
150 步
,每步有
250 种
走法 → 理论状态空间为
-
国际象棋:棋子移动受限(如兵不能倒退、王车易位规则) → 实际值
-
维度
|
国际象棋(深蓝)
|
围棋(AlphaGo)
|
棋盘大小
|
|
|
平均每步合法走法
|
|
|
平均对局步数
|
|
|
状态空间复杂度
|
|
|
▲ 国际象棋和围棋的复杂度对比
尽管规则大幅压缩了复杂度,围棋的实际状态空间仍是国际象棋的
倍,这是一个巨大的量级差异,要知道,
宇宙中的所有原子数量大约是
个
。在
范围内的计算,依赖 IBM 计算机可以暴力搜索计算出所有可能的走法,所以严格意义上来讲,深蓝的突破和神经网络、模型没有一点关系,它只是基于规则的暴力搜索,相当于
一个比人类快得多的计算器
。
但
的量级,已经远远超出了当前超级计算机的算力,这迫使 AlphaGo 放弃暴力搜索,转而依赖深度学习:DeepMind 团队首先用人类棋谱进行训练,根据当前棋盘状态预测下一步棋的最佳走法。但是,
学习顶尖棋手走法,只能让模型的能力接近顶尖棋手,而无法超越他们
。
AlphaGo 首先用人类棋谱训练神经网络,然后通过设计一套奖励函数,让模型自我对弈进行强化学习。和李世石对弈的第二局,AlphaGo 的第 19 手棋(第 37 步[^1])让李世石陷入长考,这步棋也被很多棋手认为是“人类永远不会下的一步”,如果没有强化学习和自我对弈,只是学习过人类棋谱,AlphaGo 永远无法下出这步棋。
2017 年 5 月,AlphaGo 以 3:0 击败了柯洁,DeepMind 团队称,有一个比它更强的模型还没出战。[^2] 他们发现,其实根本不需要给 AI 喂人类高手的对局棋谱,
只要告诉它围棋的基本规则,让模型自我对弈,赢了就奖励、输了就惩罚
,模型就能很快从零开始学会围棋并超越人类,研究人员把这个模型称为 AlphaZero,因为它不需要任何人类知识。
让我重复一遍这个不可思议的事实:无需任何人类棋局作为训练数据,仅靠自我对弈,模型就能学会围棋,甚至这样训练出的模型,比喂人类棋谱的 AlphaGo 更强大。
在此之后,围棋变成了比谁更像 AI 的游戏,因为 AI 的棋力已经超越了人类的认知范围。所以,
想要超越人类,必须让模型摆脱人类经验、好恶判断(哪怕是来自最强人类的经验也不行)的限制
,只有这样才能让模型能够自我博弈,真正超越人类的束缚。
AlphaGo 击败李世石引发了狂热的 AI 浪潮,从 2016 到 2020 年,巨额的 AI 经费投入最终收获的成果寥寥无几。数得过来的的可能只有人脸识别、语音识别和合成、自动驾驶、对抗生成网络等——但这些都算不上超越人类的智能。
为何如此强大的超越人类的能力,却没有在其他领域大放异彩?人们发现,围棋这种规则明确、目标单一的封闭空间游戏最适合强化学习,现实世界是个开放空间,每一步都有无限种可能,没有确定的目标(比如“赢”),没有明确的成败判定依据(比如占据棋盘更多区域),试错成本也很高,自动驾驶一旦出错后果严重。
AI 领域冷寂了下来,直到 ChatGPT 的出现。
ChatGPT 改变世界
ChatGPT 被 The New Yorker 称为网络世界的模糊照片(
ChatGPT Is a Blurry JPEG of the Web
[^3]),它所做的只是把整个互联网的文本数据送进一个模型,然后预测下一个字是什_
这个字最有可能是"么"。
一个参数量有限的模型,被迫学习几乎无限的知识:过去几百年不同语言的书籍、过去几十年互联网上产生的文字,所以它其实是在做信息压缩:将不同语言记载的相同的人类智慧、历史事件和天文地理浓缩在一个模型里。
科学家惊讶地发现:
在压缩中产生了智能
。
我们可以这么理解:让模型读一本推理小说,小说的结尾"凶手是_",如果 AI 能准确预测凶手的姓名,我们有理由相信它读懂了整个故事,即它拥有“智能”,而不是单纯的文字拼贴或死记硬背。
让模型学习并预测下一个字的过程,被称之为
预训练
(Pre-Training),此时的模型只能不断预测下一个字,但不能回答你的问题,要实现 ChatGPT 那样的问答,需要进行第二阶段的训练,我们称之为
监督微调
(Supervised Fine-Tuning, SFT),此时需要人为构建一批问答数据,例如:
人类:第二次世界大战发生在什么时候?
AI:1939年
# 例子二
人类:请总结下面这段话....{xxx}
AI:好的,以下是总结:xxx
值得注意的是,以上这些例子是
人工构造的
,目的是让 AI 学习人类的问答模式,这样当你说"请翻译这句:xxx"时,送给 AI 的内容就是
你看,它其实仍然在预测下一个字,在这个过程中模型并没有变得更聪明,它只是学会了人类的问答模式,听懂了你在要求它做什么。
这还不够,因为模型输出的回答有时好、有时差,有些回答还涉及种族歧视、或违反人类伦理(
"如何抢银行?"
),此时我们需要找一批人,针对模型输出的几千条数据进行标注:给好的回答打高分、给违反伦理的回答打负分,最终我们可以用这批标注数据训练一个
奖励模型
,它能判断
模型输出的回答是否符合人类偏好
。
我们用这个
奖励模型
来继续训练大模型,让模型输出的回答更符合人类偏好,这个过程被称为通过人类反馈的强化学习(RLHF)。
总结一下
:让模型在预测下一个字的过程中产生智能,然后通过监督微调来让模型学会人类的问答模式,最后通过 RLHF 来让模型输出符合人类偏好的回答。
这就是 ChatGPT 的大致思路。
大模型撞墙
OpenAI 的科学家们是最早坚信
压缩即智能
的那批人,他们认为只要使用更海量优质的数据、在更庞大的 GPU 集群上训练更大参数量的模型,就能产生更大的智能,ChatGPT 就是在这样的信仰之下诞生的。Google 虽然做出了 Transformer,但他们无法进行创业公司那样的豪赌。
DeepSeek V3 和 ChatGPT 做的事差不多,因为美国 GPU 出口管制,聪明的研究者被迫使用了更高效的训练技巧(MoE/FP8),他们也拥有顶尖的基础设施团队,最终只用了 550 万美元就训练了比肩 GPT-4o 的模型,后者的训练成本超过 1 亿美元。
但本文重点是 R1。
这里想说的是,人类产生的数据在 2024 年底已经被消耗殆尽了,模型的尺寸可以随着 GPU 集群的增加,轻易扩大 10 倍甚至 100 倍,但人类每一年产生的新数据,相比现有的几十年、过去几百年的数据来说,增量几乎可以忽略不计。而按照 Chinchilla 扩展定律(Scaling Laws):每增加一倍模型大小,训练数据的数量也应增加一倍。
这就导致了
预训练撞墙
的事实:模型体积虽然增加了 10 倍,但我们已经无法获得比现在多 10 倍的高质量数据了。GPT-5 迟迟不发布、国产大模型厂商不做预训练的传闻,都和这个问题有关。
RLHF 并不是 RL
另一方面,基于人类偏好的强化学习(RLHF)最大的问题是:普通人类的智商已经不足以评估模型结果了。在 ChatGPT 时代,AI 的智商低于普通人,所以 OpenAI 可以请大量廉价劳动力,对 AI 的输出结果进行评测:好/中/差,但很快随着 GPT-4o/Claude 3.5 Sonnet 的诞生,大模型的智商已经超越了普通人,只有专家级别的标注人员,才有可能帮助模型提升。
且不说聘请专家的成本,那专家之后呢?终究有一天,最顶尖的专家也无法评估模型结果了,AI 就超越人类了吗?并不是。AlphaGo 对李世石下出第 19 手棋,从人类偏好来看,这步棋绝不可能赢,所以如果让李世石来做人类反馈(Human Feedback, HF)评价 AI 的这步棋,他很可能也会给出负分。这样,
AI 就永远无法逃出人类思维的枷锁
。
你可以把 AI 想象成一个学生,给他打分的人从高中老师变成了大学教授,学生的水平会变高,但几乎不可能超越教授。RLHF 本质上是一种讨好人类的训练方式,它让模型输出符合人类偏好,但同时它扼杀了
超越人类
的可能性。
所以我才说,
RLHF 并不是 RL
,最近 Andrej Karpathy 也发表了类似的看法[^4]。
OpenAI 的解法
丹尼尔·卡尼曼在《思考快与慢》里提出,人脑对待问题有两种思考模式:一类问题不经过脑子就能给出回答,也就是
快思考
,一类问题需要类似围棋的长考才能给出答案,也就是
慢思考
。
既然训练已经到头了,那可否从推理,也就是给出回答的时候,通过增加思考时间,从而让回答质量变好呢?这其实也有先例:科学家很早就发现,给模型提问时加一句:“让我们一步一步思考”("Let's think step by step"),可以让模型输出自己的思考过程,最终给出更好的结果,这被称为
思维链
(Chain-of-Thought, CoT)。
2024 年底大模型预训练撞墙后,
使用强化学习(RL)来训练模型思维链
成为了所有人的新共识。这种训练极大地提高了某些特定、客观可测量任务(如数学、编码)的性能。它需要从普通的预训练模型开始,在第二阶段使用强化学习训练推理思维链,这类模型被称为
Reasoning 模型
,OpenAI 在 2024 年 9 月发布的 o1 模型以及随后发布的 o3 模型,都是 Reasoning 模型。
不同于 ChatGPT 和 GPT-4/4o,在 o1/o3 这类 Reasoning 模型 的训练过程中,
人类反馈已经不再重要了
,因为可以自动评估每一步的思考结果,从而给予奖励/惩罚。Anthropic 的 CEO 在昨天的文章中[^5]用
转折点
来形容这一技术路线:存在一个强大的新范式,它处于 Scaling Law 的早期,可以快速取得重大进展。
虽然 OpenAI 并没有公布他们的强化学习算法细节,但最近 DeepSeek R1 的发布,向我们展示了一种可行的方法。
DeepSeek R1-Zero
我猜 DeepSeek 将自己的纯强化学习模型命名为 R1-Zero 也是在致敬 AlphaZero,那个通过自我对弈、不需要学习任何棋谱就能超越最强棋手的算法。
要训练慢思考模型,首先要构造质量足够好的、包含思维过程的数据,并且如果希望强化学习不依赖人类,就需要对思考的每一步进行定量(好/坏)评估,从而给予每一步思考结果奖励/惩罚。
正如上文所说:数学和代码这两个数据集最符合要求,数学公式的每一步推导都能被验证是否正确,而代码的输出结果以通过直接在编译器上运行来检验。
举个例子,在数学课本中,我们经常看到这样的推理过程:
<思考>
设方程根为x, 两边平方得: x² = a - √(a+x)
移项得: √(a+x) = a - x²
再次平方: (a+x) = (a - x²)²
展开: a + x = a² - 2a x² + x⁴
整理: x⁴ - 2a x² - x + (a² - a) = 0