Synth Daily

大模型并非世界模型

大型语言模型(LLM)并非真正的“世界模型”,它们的核心机制是基于海量数据预测下一个词,但这并不等同于对现实世界拥有真正的理解或逻辑推理能力。通过在国际象棋、图像编辑和编程等领域的实例可以看出,LLM 在处理需要基本逻辑或物理世界知识的任务时会暴露出根本性的缺陷。尽管LLM在工程上可以走得很远,但它们本身不足以实现通用人工智能,并且在处理大型代码库或识别自身知识盲区等问题上将永远存在局限。

核心论点:语言模型 ≠ 世界模型

大型语言模型(LLM)的核心优化目标是预测文本序列,而不是构建一个关于世界如何运作的内部模型。它们通过学习海量文本中的模式来生成看似合理的回答,但这种能力并不意味着它们理解了文字所指代的概念。

拥有阅读一万亿场国际象棋比赛的能力,LLM 们,具体来说,并没有学会下棋前需要知道棋子在哪里的规则。它们为什么要学呢?对于预测棋局中的走法或评论——这是它们被优化的目标——这几乎没有任何帮助。

实例一:国际象棋的失败

当面对一个大型语言模型时,如果走出其训练数据中常见的“好棋”,它可能会表现得不错。但一旦走出它没见过的“弱棋”或不寻常的棋路,它很快就会犯下低级错误,比如移动一个根本不存在的棋子。

  • 问题核心: LLM 没有建立一个棋盘状态的内部模型。
  • 表现: 它只是在模仿它在训练数据中见过的棋局,而不是根据棋盘的实际情况进行推理。
  • 结论: 这有力地反驳了“LLM通过建模文本来理解世界”的观点,因为它甚至无法学会国际象棋最基本的第一条规则。

实例二:图像混合模式的误解

当被问及图像编辑器中“正常混合模式”的数学原理时,一个 LLM 回答说这个模式“不使用数学公式”,只是简单地显示顶层颜色。

这个回答暴露了它缺乏一些基础到可笑的知识:

  • 计算机用数字工作,颜色在计算机里就是数字。
  • 任何颜色处理,必然涉及数学公式或计算。
  • “透明”意味着你能看穿某物,你看到的最终颜色必然是顶层和底层颜色共同作用的结果。

即使你可以通过提示引导它给出正确的“Alpha 混合”公式,那也只证明了它知道如何将正确的词语排列组合,而不是它真正理解了这些概念。

实例三:Python 多线程的固执己见

在关于 Python 列表的线程安全问题上,LLM 固执地认为,一旦移除了全局解释器锁(GIL),多线程操作就可能像 C 语言一样导致内存损坏和程序崩溃。

它不知道(纯)Python 是一种内存安全的语言,任何使其变得内存不安全的提议都不会被接受。

尽管被反复告知 Python 的设计哲学,并指出它引用的“崩溃报告”其实是待修复的 bug(这恰恰证明了内存安全是设计要求,而非可选项),LLM 仍然坚持其错误的观点。这表明,它既没有关于编程语言设计原则的模型,也无法正确解读证据。

结论与预测

一个从根本上错误的方法,在投入足够多的工程努力后,实践中也可以走得很远。LLM 就是这样一个例子。尽管它们很有用,但其根本局限性决定了它们的未来。

“一个从根本上错误的方法,在实践中可以通过足够的工程努力走得很远。”

基于这些观察,可以做出以下预测:

  • 世界模型的突破: 机器学习领域未来必然会在“世界模型”上取得重大突破,实现一种更通用的、能对新领域建立模型的能力。
  • 减少训练数据: 另一个突破将是大幅减少模型所需的训练数据量,因为当前依赖海量数据的模式从根本上是低效的。
  • LLM 不是通往通用人工智能的路径: 它们本身不足以实现通用智能,甚至可能是一种干扰。
  • LLM 永远无法自主处理大型代码库: 因为这需要一个对程序逻辑的精确模型,而它们连追踪棋盘上的棋子都做不到。
  • LLM 永远无法可靠地知道自己不知道什么: 建立“知识”、“真理”和“谬误”等概念需要一个世界模型。它们将永远在编造内容。

最终,LLM 就像一个苏联笑话里的孩子:他学会了如何正确地回答问题(预测下一个词),比如自己的名字是“米奇”,想当“宇航员”,但当被问及年龄时,他仍然只会回答自己的名字“米奇”。

故事的寓意是,你可以学会在不了解世界的情况下预测下一个词——至少在一定程度上是这样。