最近有三篇很火的bolg,第一篇是OpenAI researcher 姚顺雨的“欢迎来到下半场”,第二篇是David Silver和Richard S. Sutton的“Welcome to the Era of Experience”,这是第三篇,Lilian Weng的Why We Think。
Lilian Weng的最新blog,还找了John Schulman润色。
道理其实很朴素,里边的内容大家都聊过,我们绝大部分也单独写过,但是这篇blog系统性地梳理了AI最新范式:test-time compute。
LLM大模型是怎么思考的?
①从心理学角度:理论来源于丹尼尔·卡尼曼的《思考,快与慢》。
与人类思考方式有相似之处。
人脑有“系统1”(直觉、快速)和“系统2”(分析、缓慢)。
在推理模型出现之前,大模型的答案“脱口而出”,这就是系统1。给AI多点时间思考,就像是激活了它们的“系统2”。
②从计算资源角度:
思考就是多分配点计算资源。
思维链让模型能根据问题难度使用可变的计算量,特别适合复杂推理任务。
③从数学角度:
可以把整个“问题 (x
) - 思考过程 (z
) - 答案 (y
)”看作一个概率模型。
思考过程z
就是那个隐变量。把各种可能的思考路径都考虑进去,自然能得到更好的答案分布。
如何让模型:学会思考?
第一大招:思维链
早期的工作都在试图改进CoT——先是让模型学习人类写的推理过程,后来发现 在可以自动检查答案的数据集上做强化学习效果更好。
这里有个有趣的趋势:模型越大,从思维链中获得的好处就越多!
推理过程中,我们有两种主要方法:
并行采样:一次性让模型生成好几条不同的思考路径,最简单的就是best-of-N。特别复杂的技术概念,Self-consistency之类的就不细讲了。
其实两种各有千秋。
第二大招:强化学习在推理上scale起来了
一个范式性的变化是开始于OpenAI o1-previe,以及后续一系列推理模型的发展。
以DeepSeek R1的训练过程为例:
还要记住DeepSeek Zero,即使是纯粹的RL训练,模型也能自己学会高级推理能力。
DeepSeek团队还坦诚分享了他们的失败尝试,比如用过程奖励模型和蒙特卡洛树搜索都没搞定。
第三大招:外部工具使用(External Tool Use)
模型在思考过程中,会调用外部工具提高效率或者增加准确性。比如,遇到复杂的数学计算,模型会调用一个代码解释器来执行。
OpenAI最近发布的o3和o4-mini模型特别强调了工具的使用,比如网页搜索、代码执行、甚至图像处理。如果大家细心会发现,最近的Claude sonnet3.7也开始调用工具了。
这也是一个范式性的变化。
一些探讨:
①模型的CoT是否忠实地反映了它的真实思考过程?
假如模型告诉你“我先算出这个方程的根,再代入原式……”,它真的是这样思考的吗?还是只是在编故事?
这就是思考忠实性问题。
结果发现,专门针对推理训练的模型比普通模型更容易展示忠实的思维链。
还有一点也特别有趣!!如果我们尝试直接奖励模型展示“诚实”的思考过程,模型反而学会了更巧妙地隐藏其真实意图!这让我想起那句老话:只要有评估,就会有作弊。
②除了cot,还有一些其他的模型思考方式
比如,让循环神经网络能够动态地决定每个输入token
需要经过多少个循环计算层,相当于在“深度”上进行自适应思考。
还有一些工作尝试改进Transformer架构,使其具有循环特性。
引入特殊的**“思考token”。简单来说,就是在输入序列的特定位置插入一些本身不携带具体语义,但能给模型争取更多内部计算时间的特殊token
。比如Quiet-STaR生成的那个“内心独白”。
把“思考”看作潜变量:将思考视为概率模型中的隐变量,用变分EM算法优化
Scaling Laws for Thinking Time—— “多想”总是有益的吗?
现在的模型发展阶段,增加test-time的计算量投入,可以比单纯增加模型参数更能有效提高性能。
但是,这也不是万灵药。我们也多次聊到过这件事,推理模型的能力取决于基础模型的潜力。如果自身天赋不够,榨干它也没啥用。
在文章的最后,Lilian姐也高屋建瓴地提出了一系列值得未来深入研究的开放性问题,这简直就是给搞科研的指明了挖坑的方向啊!比如:
在RL训练中,我们如何才能激励模型生成既人类可读、又能真实反映其“思考”过程的CoT,同时还能有效避免reward hacking
行为?
到底什么是reward hacking
?如何才能避免那种头痛医头,脚痛医脚式的修补?
没有标准答案时,我们如何训练模型有效地纠正自己的错误,同时又不会产生新的幻觉或导致性能衰退?
对于那些高度依赖上下文、具有个性化需求、且难以客观评分的任务,我们应该如何设计CoT的RL训练方法?
如何将性能提升平滑地“迁移”或“蒸馏”回基础模型?
写到这里,我不禁想:如果有一天,AI能真正地“思考”,而不仅仅是模拟思考,那会是什么样子呢?
也许,那一天已经不远了。