动物与幽灵

终于有机会完整听完这期与 Sutton 的 Dwarkesh 播客,挺有意思,也颇为好玩。

作为背景,Sutton 的《The Bitter Lesson》(苦涩教训)在前沿 LLM 圈子里几乎成了一篇“圣经”。研究者们经常会谈论、甚至反复盘问某个方案是否足够“吃苦教训”(即是否以一种能“白嫖”更大算力收益的方式安排方法),以此做为它是否可行、是否值得尝试的代理判断。潜在的前提是:LLM 当然是高度“吃苦教训”的——只要看看扩展定律:把算力放到 x 轴,指标就会一路向右上走。所以看到《苦涩教训》的作者 Sutton 本人对 LLM 是否“吃苦教训”反而持保留态度,这就很有趣了。LLM 训练在巨大的、根本上是“人类数据”的语料上,这些数据既是 1)由人类生成的,又是 2)有限的。用完了怎么办?如何避免人类偏见?于是你就得到了这样一种场面:被苦涩教训“洗脑”的 LLM 研究者,反而被苦涩教训本人的作者给“教做人”了——有点惨!

在某种意义上,Dwarkesh(在播客中代表 LLM 研究者视角)和 Sutton 有点“鸡同鸭讲”,因为 Sutton 心里想的是截然不同的体系结构,而 LLM 违背了它的许多原则。他自称“古典派”,援引图灵最初提出的“儿童机器”概念——一个通过与世界的动态交互,从经验中学习的系统。这里没有模仿互联网网页的巨型预训练阶段;也没有监督式微调,他指出这在动物王国里并不存在(这是个细微点,但 Sutton 从强意义上是对的:动物当然会观察示范,但它们的动作并不会被其他动物直接“强制/遥操作”)。他还强调,即便你把预训练仅仅当作在强化学习之前的一种先验初始化,Sutton 也认为这种做法带着人类偏见,从根本上“跑偏”了——有点像 AlphaZero(从未见过人类棋谱)击败 AlphaGo(从人类棋谱初始化)那样。在 Sutton 的世界观里,智能只存在于与世界的交互之中,通过强化学习;奖励函数一部分由环境决定,也一部分源自内在动机,比如“乐趣”“好奇心”,以及与你的世界模型预测质量相关。智能体在“测试时”也总在学习——不是训练一次、此后就固定部署。总体而言,Sutton 更关注我们与动物王国的共性,而不是差异。“如果我们把松鼠弄明白了,我们就差不多完成了。”

至于我的看法……

首先我得说,我觉得 Sutton 是这期播客的绝佳嘉宾。我喜欢 AI 领域保持思想熵,而不是所有人都在榨取 LLM 的下一个本地极小改进。AI 历史上主导范式已经经历了太多次离散式的转变,绝不能丢掉这种多样性。我也认为他对 LLM 没有真正“吃苦教训”的批评并非不当。前沿 LLM 如今是高度复杂的产物,在各个环节都充满了“人味儿”——地基(预训练数据)是人类文本,微调数据是人类且经过策展,强化学习的环境混合也是由人类工程师调出来的。我们事实上并没有一个真正、单一、干净、货真价实的“吃苦教训”的“转动曲柄”算法,可以把它放到世界上,任其凭经验自动学习。

这样的算法真的存在吗?找到它当然会是巨大的 AI 突破。通常会给出两个“例证”来论证它可能存在。第一个例子是 AlphaZero 完全从零、在没有任何人类监督的情况下学会围棋。但围棋显然是个非常简单、封闭的环境,很难看到把它类比到现实世界一团糟的样子。我热爱围棋,但从算法和范畴上说,它本质上只是比井字棋更难的版本。第二个例子是动物,比如松鼠。就此我个人也颇为犹豫:这个类比是否合适?因为动物是经由一种与工业界现实中我们可用的计算过程和约束完全不同的方式产生的。动物的大脑在出生时远不是它看起来那样的一块白板。首先,很多通常被归因于“学习”的东西,在我看来其实更多是“成熟”。其次,即便那些显然属于“学习”、而非“成熟”的部分,也更像是在某种强大且先验存在之上的“微调”。举个例子:一只斑马宝宝出生后几十分钟内就能在草原上奔跑并跟着妈妈。这是个高度复杂的感知—运动任务,我不相信这能从一张白纸、凭空学成。动物的大脑,以及其中的数十亿个参数,都带着一个强大的初始化,它被编码在 DNA 的 ATCG 里,并在进化这条“外层循环”优化过程中训练出来。如果斑马宝宝像强化学习那样以随机策略初始化,随意抽搐着肌肉,它根本走不了多远。同样地,我们的 AI 如今也有拥有数十亿参数的神经网络。这些参数需要它们自己的、丰富且高信息密度的监督信号。我们不可能重跑一遍进化。但我们确实拥有成山的互联网文档。是的,这基本上是监督学习——在动物王国里大体缺席。但这是一种将软约束覆盖到数十亿参数上的实际办法,力图把系统带到一个不再“从零开始”的点。总结一下:预训练是我们蹩脚的“进化”。它是冷启动问题的一个候选解,随后再在更“正确”的任务上进行微调,例如在强化学习框架内——也正是当下前沿 LLM 实验室普遍在做的。

我仍然认为,从动物身上汲取灵感是值得的。我觉得 LLM 代理在算法上缺失多项强大的点子,而这些仍可从动物智能中移植。而且我依然认为“苦涩教训”是正确的,但在现实世界、从实用角度看,我更把它当作一个柏拉图式的追求目标,而非一定要抵达的终点。这两点我都保留两位数百分比的不确定性,并为那些不同意、尤其是更激进“吃苦教训”的研究工作喝彩。

这就带我们回到当下。直截了当地说,今天的前沿 LLM 研究不是在“造动物”,而是在“召唤幽灵”。你可以把“幽灵”看作是在可能智能空间中的另一类根本不同的点。它们被人类所浸染,被人类彻底工程化。它们是不完美的复制品,是对人类文档的一种统计蒸馏,然后再撒点“佐料”。它们并不柏拉图式地“吃苦教训”,但也许在实践上确实比过去很多做法更“吃苦教训”。在我看来,随着时间推移,我们可以进一步把这些“幽灵”微调得越来越像“动物”;也许这不是根本不相容,而更像是在智能空间里不同的初始化。也完全可能它们会越走越偏,最终永久性地不同于动物、不那么“动物态”,但依然极其有用、并切实改变世界。也许“幽灵:动物 :: 飞机:鸟”。

总之,整体且可操作地说,我觉得这期播客是 Sutton 面向前沿 LLM 研究者的一次扎实“掏心窝子”。大家可能把档位打得太“开发/榨取”向了。我们大概率仍然不够“吃苦教训”,很可能还存在更强的点子和范式,而不是一味地搭基准、刷基准。此外,动物或许是一个很好的灵感来源:内在动机、乐趣、好奇心、赋能、多智能体自博弈、文化……尽情展开你的想象力。

  • 也可读作一条推文在这里,如果你想回复/评论。
  • 也可读作一段ChatGPT 对话,如果你想在包含全部上下文(播客文字稿、《苦涩教训》和本文)的基础上分叉并提问。

Appendix

  • 我同意 Sutton 的观点:动物不做监督学习。我知道这是个细微之处,容易让很多人困惑。动物确实会观察示范,但它们并不会像监督学习那样被“直接用行动监督”——动物在训练中从来不是被“遥操作”的。我能想到最接近的例子,是你比方说帮孩子用勺子吃饭,几乎是握着他的手给他演示动作。即便如此,他们的大脑是否“字面上”在用这个进行训练也不清楚;这可能仍然更准确地属于“观察”的范畴。但无论如何,这类情况总体非常稀少,而在 LLM 里,这却是预训练和 SFT 的默认学习模式。也许换一种说法更贴切:对应到 LLM 世界,人类做的可能更像是:给定这道数学题与一份人类示例解在上下文中,请解题;若正确则奖励 1。这不是 SFT,而是 RL。
  • Dwarkesh 曾简要提到,LLM 在测试时也有自己的持续学习,只不过不是基于权重更新。我觉得 Sutton 没有充分接这个话题。上下文学习是一种测试时适应的形式,例如为什么少样本提示有效。最近也有很多工作对“记忆”很感兴趣(想想 CLAUDE.md 文件),把文本/上下文而非权重当作测试时学习的载体。
  • Dwarkesh 提出过一个极长时程、稀疏奖励的例子(比如打造一个成功的创业公司),以及这可能如何实现。Sutton 给出的解释是时序差分学习,本质上是对未来奖励进行折扣,我对此并不特别信服。之前我写过一点,我觉得这里发生的是别的东西,在我看来它并不是强化学习。
  • 关于“梯度下降不会让你泛化得很好”的讨论和相关话题有很多,我没有完全跟上。
  • 有人指出,幽灵挺吓人的。不一定啊,看看卡斯柏,我童年的最爱。