Deepseek R1可能找到了超越人类的办法

我本想写一篇关于 DeepSeek R1 的科普文但发现很多人仅仅把它理解为 OpenAI 的复制品而忽略了它在论文中揭示的惊人一跃所以我决定重新写一篇讲讲从 AlphaGo 到 ChatGPT再到最近的 DeepSeek R1 底层原理的突破以及为什么它对所谓的 AGI/ASI 很重要作为一名普通的 AI 算法工程师我可能无法做到非常深入如有错误欢迎指出

AlphaGo 突破人类上限

1997 年IBM 公司开发的国际象棋 AI 深蓝击败了世界冠军卡斯帕罗夫而引发轰动接近二十年后的 2016 年由 DeepMind 开发的围棋 AI AlphaGo 击败了围棋世界冠军李世石再次引发轰动

表面上看这两个 AI 都是在棋盘上击败了最强的人类棋手但它们对人类的意义完全不同国际象棋的棋盘只有 64 个格子而围棋的棋盘有 19x19 个格子假如我们用一盘棋能有多少种下法(状态空间)来衡量复杂度那么二者对比如下

  1. 理论上的状态空间
    • 国际象棋每局约 80 步每步有 35 种走法 → 理论状态空间为 $35^{80} \approx 10^{123}$
    • 围棋每局约 150 步每步有 250 种走法 → 理论状态空间为 $250^{150} \approx 10^{360}$
  2. 规则约束后的实际状态空间
    • 国际象棋棋子移动受限如兵不能倒退王车易位规则 → 实际值 $10^{47}$
    • 围棋棋子不可移动且依赖的判定 → 实际值 $10^{170}$
维度 国际象棋深蓝 围棋AlphaGo
棋盘大小 8×864 格 19×19361 点
平均每步合法走法 35 种 250 种
平均对局步数 80 步/局 150 步/局
状态空间复杂度 $10^{47}$ 种可能局面 $10^{170}$ 种可能局面
▲ 国际象棋和围棋的复杂度对比

尽管规则大幅压缩了复杂度围棋的实际状态空间仍是国际象棋的 $10^{123}$这是一个巨大的量级差异要知道宇宙中的所有原子数量大约是 $10^{78}$$10^{47}$范围内的计算依赖 IBM 计算机可以暴力搜索计算出所有可能的走法所以严格意义上来讲深蓝的突破和神经网络模型没有一点关系它只是基于规则的暴力搜索相当于一个比人类快得多的计算器

$10^{170}$的量级已经远远超出了当前超级计算机的算力这迫使 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 经费投入最终收获的成果寥寥无几数得过来的的可能只有人脸识别语音识别和合成自动驾驶对抗生成网络等——但这些都算不上超越人类的智能

为何如此强大的超越人类的能力却没有在其他领域大放异彩人们发现围棋这种规则明确目标单一的封闭空间游戏最适合强化学习与之类似的还有 DotA星际争霸王者荣耀斗地主等对比之下现实世界则复杂得多开放空间每一步都有无限种可能没有确定的目标(比如)没有明确的成败判定依据(比如占据棋盘更多区域)试错成本也很高自动驾驶一旦出错后果严重

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 的内容就是

人类:请翻译这句: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]:

AI 和儿童一样有两种学习模式1通过模仿专家玩家来学习观察并重复即预训练监督微调2通过不断试错和强化学习来赢得比赛我最喜欢的简单例子是 AlphaGo

几乎每一个深度学习的惊人结果以及所有魔法的来源总是 2强化学习RL很强大但强化学习与人类反馈RLHF并不相同RLHF 不是 RL

附上我之前的一条想法

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
</思考>
<回答>x⁴ - 2a x² - x + (a² - a) = 0</回答>

上面这段文本就包含了一个完整的思维链我们可以通过正则表达式匹配出思考过程和最终回答从而对模型的推理过程和结果进行定量评估

在训练强化学习(RL)时R1 并没有显式地对思维链的每一步进行奖励和惩罚而是创造了一种名为 GRPO (Group Relative Policy Optimization) 的强化学习算法给逻辑连贯思维链格式的正确结果给予奖励从而隐式鼓励模型 self-play 形成思维链

这个帖子用一个很好的例子解释了 GRPO 的原理我翻译一下让模型同时生成多个回答计算每个回答的得分组内对比出有相对优势的回答对模型进行 RL 训练使其倾向于得分更高的回答

以问题$2+3=?$为例

第一步: 模型生成多个回答

  • “5”
  • “6”
  • “<思考>2+3=5</思考><结果>5</结果>”

第二步: 对每个回答进行打分

  • “5” → 1 分 (正确, 没有思维链)
  • “6” → 0 分 (错误)
  • “<思考>2+3=5</思考><结果>5</结果>” → 2 分 (正确, 有思维链)

第三步: 计算所有回答的平均得分

  • 平均得分 = (1 + 0 + 2) / 3 = 1

第四步: 将每个回答的得分与平均得分进行比较

  • “5” → 1 - 1 = 0 (与平均分相同)
  • “6” → 0 - 1 = -1 (低于平均分)
  • “<思考>2+3=5</思考><结果>5</结果>” → 2 - 1 = 1 (高于平均分)

第五步: 强化学习使模型倾向于生成得分更高的回答也就是包含思维链且结果正确

以上就是 GRPO 的大致原理

他们基于 V3 模型在数学和代码这两类数据上用 GRPO 进行 RL 训练最终得到的 R1-Zero 模型在各项推理指标上相比 DeepSeek V3 显著提升证明仅通过 RL 就能激发模型的推理能力

这是另一个 AlphaZero 时刻在 R1-Zero 的训练过程完全不依赖人类的智商经验和偏好仅靠 RL 去学习那些客观可测量的人类真理最终让推理能力远强于所有非 Reasoning 模型

但 R1-Zero 模型只是单纯地进行强化学习并没有进行监督学习所以它没有学会人类的问答模式无法回答人类的问题并且它在思考过程中存在语言混合问题一会儿说英语一会儿说中文可读性差所以 DeepSeek 团队

  1. 先收集了少量高质量的 Chain-of-ThoughtCoT数据对 V3 模型进行初步的监督微调解决了输出语言不一致问题得到冷启动模型
  2. 然后他们在这个冷启动模型上进行类似 R1-Zero 的纯 RL 训练并加入语言一致性奖励
  3. 最后为了适应更普遍广泛的非推理任务如写作事实问答他们构造了一组数据对模型进行二次微调
  4. 结合推理和通用任务数据使用混合奖励信号进行最终强化学习

这个过程大概就是

监督学习(SFT) - 强化学习(RL) - 监督学习(SFT) - 强化学习(RL)

经过以上过程就得到了 DeepSeek R1

DeepSeek R1 给世界的贡献是开源世界上第一个比肩闭源(o1)的 Reasoning 模型现在全世界的用户都可以看到模型在回答问题前的推理过程也就是"内心独白"并且完全免费

更重要的是它向研究者们揭示了 OpenAI 一直在隐藏的秘密强化学习可以不依赖人类反馈纯 RL 也能训练出最强的 Reasoning 模型所以在我心目中R1-Zero 比 R1 更有意义

对齐人类品味 VS 超越人类

几个月前我读了 Suno 和 Recraft 创始人们的访谈[6][7]Suno 试图让 AI 生成的音乐更悦耳动听Recraft 试图让 AI 生成的图像更美更有艺术感读完后我有一个朦胧的感觉将模型对齐到人类品味而非客观真理似乎就能避开真正残酷的性能可量化的大模型竞技场

每天跟所有对手在 AIMESWE-benchMATH-500 这些榜单上竞争多累啊而且不知道哪天一个新模型出来自己就落后了但人类品味就像时尚不会提升只会改变Suno/Recraft 们显然是明智的他们只要让行业内最有品味的音乐人和艺术家们满意就够了(当然这也很难)榜单并不重要

但坏处也很明显你的努力和心血带来的效果提升也很难被量化比如Suno V4 真的比 V3.5 更好吗我的经验是 V4 只是音质提升了创造力并没有提升并且依赖人类品味的模型注定无法超越人类如果 AI 推导出一个超越当代人类理解范围的数学定理它会被奉为上帝但如果 Suno 创造出一首人类品味和理解范围外的音乐在普通人耳朵里听起来可能就只是单纯的噪音

对齐客观真理的竞争痛苦但让人神往因为它有超越人类的可能

对质疑的一些反驳

DeepSeek 的 R1 模型是否真的超越了 OpenAI

从指标上看R1 的推理能力超越了所有的非 Reasoning 模型也就是 ChatGPT/GPT-4/4o 和 Claude 3.5 Sonnet与同为 Reasoning 模型 的 o1接近逊色于 o3但 o1/o3 都是闭源模型

很多人的实际体验可能不同因为 Claude 3.5 Sonnet 在对用户意图理解上更胜一筹

DeepSeek 会收集用户聊天内容用于训练

很多人有个误区认为类似 ChatGPT 这类聊天软件会通过收集用户聊天内容用于训练而变得更聪明其实不然如果真是这样那么微信和 Messenger 就能做出世界上最强的大模型了

相信你看完这篇文章之后就能意识到大部分普通用户的日常聊天数据已经不重要了RL 模型只需要在非常高质量的包含思维链的推理数据上进行训练例如数学和代码这些数据可以通过模型自己生成无需人类标注因此 做模型数据标注的公司 Scale AI 的 CEO Alexandr Wang 现在很可能正如临大敌未来的模型对人类标注需求会越来越少

更新ARC-AGI 的这篇分析 r1-zero 的文章暗示了一个新想法未来的 Reasoning 模型可以收集用户和模型聊天时 AI 生成的思维链来训练——和人们假想的 AI 偷偷用聊天记录训练不同用户说了什么其实不重要在他们付费得到结果的同时模型 0 成本增加了一条推理思维链数据

DeepSeek R1 厉害是因为偷偷蒸馏了 OpenAI 的模型

R1 最主要的性能提升来自强化学习你可以看到纯 RL不需要监督数据的 R1-Zero 模型在推理能力上也很强而 R1 在冷启动时使用了一些监督学习数据主要是用于解决语言一致性问题这些数据并不会提升模型的推理能力

另外很多人对蒸馏有误解蒸馏通常是指用一个强大的模型作为老师(Teacher)将它的输出结果用于指导一个参数更小性能更差的学生(Student)模型让学生模型直接背答案变得更强例如 R1 模型可以用于蒸馏 LLama-70B蒸馏的学生模型性能几乎一定比老师模型更差但 R1 模型在某些指标性能比 o1 更强所以说 R1 的性能源于蒸馏 o1 是非常愚蠢的

我问 DeepSeek 它 说自己是 OpenAI 的模型所以它是套壳的

大模型在训练时并不知道当前的时间自己究竟被谁训练训练自己的机器是 H100 还是 H800X 上有位用户给出了精妙的比喻[8]这就像你问一个 Uber 乘客他坐的这辆车轮胎是什么品牌模型没有理由知道这些信息

一些感受

AI 终于除掉了人类反馈的枷锁DeepSeek R1-Zero 展示了如何使用几乎不使用人类反馈来提升模型性能的方法这是它的 AlphaZero 时刻很多人曾说人工智能有多少人工就有多少智能这个观点可能不再正确了如果模型能根据直角三角形推导出勾股定理我们有理由相信它终有一天能推导出现有数学家尚未发现的定理

写代码是否仍然有意义我不知道今早看到 Github 上热门项目 llama.cpp一个代码共享者提交了 PR表示他通过对 SIMD 指令加速将 WASM 运行速度提升 2 倍而其中 99%的代码由 DeepSeek R1 完成[9]这肯定不是初级工程师级别的代码了我无法再说 AI 只能取代初级程序员

ggml : x2 speed for WASM by optimizing SIMD

当然我仍然对此感到非常高兴人类的能力边界再次被拓展了干得好 DeepSeek它是目前世界上最酷的公司

参考资料


  1. Wikipedia: AlphaGo versus Lee Sedol ↩︎

  2. Nature: Mastering the game of Go without human knowledge ↩︎

  3. The New Yorker: ChatGPT is a blurry JPEG of the web ↩︎

  4. X: Andrej Karpathy ↩︎

  5. On DeepSeek and Export Controls ↩︎

  6. Suno 创始人访谈至少对音乐来说Scaling Law 不是万灵药 ↩︎

  7. Recraft 专访20 人8 个月做出了最好的文生图大模型目标是 AI 版的 Photoshop ↩︎

  8. X: DeepSeek forgot to censor their bot from revealing they use H100 not H800. ↩︎

  9. ggml : x2 speed for WASM by optimizing SIMD ↩︎