Large Language Models (LLM) 能够为用户提示提供看似令人印象深刻的补全(NYT 报道),从而引起了公众的关注。 它们是极其简单的算法与海量数据和计算能力的巧妙结合。 它们通过自己一遍又一遍地玩猜下一个单词的游戏来接受训练。 每次,模型都会查看部分句子并猜测以下单词。 如果它做对了,它会更新它的参数来增强它的信心; 否则,它将从错误中吸取教训,并在下次给出更好的猜测。

虽然基础训练算法大致保持不变,但最近模型和数据量的增加带来了质的新行为,例如编写基本代码或解决逻辑难题。

这些模型如何实现这种性能? 它们只是记住训练数据并大声重读,还是在学习英语语法规则和 C 语言的句法? 他们是否在构建类似于内部世界模型的东西——一个可理解的序列生成过程模型?

从各种哲学和数学的角度来看,一些研究人员认为,用猜测下一个单词训练的模型根本不可能学习语言的“含义”,它们的表现仅仅是记忆的结果 “表面统计”,即不反映生成序列的过程的因果模型的一长串相关性。 在不知道情况是否如此的情况下,很难使模型与人类价值观保持一致并清除模型拾取的虚假相关性。 这个问题具有实际意义,因为依赖虚假相关可能会导致分布外数据出现问题。

我们的目标是在精心控制的环境中探索这个问题。正如我们将要讨论的那样,我们发现了一些有趣的证据,表明简单的序列预测可以导致世界模型的形成。 但在深入探讨技术细节之前,我们先从一个寓言开始。

考虑以下思想实验。 想象一下,您有一个喜欢棋盘游戏的朋友,并且经常来您家玩。 你们两个认真对待比赛,在比赛过程中除了用标准的黑白棋记法大声喊出每一步棋外,其他人都保持沉默。 现在想象一下,在奥赛罗棋盘的视野之外,有一只乌鸦栖息在一扇开着的窗户外面。 在您的朋友多次造访之后,乌鸦开始叫出自己的动作。令您惊讶的是,考虑到当前的棋盘,这些动作几乎总是合法的。

你自然想知道乌鸦是怎么做到的。 它是通过“随意拼接”表面统计数据产生合法移动,例如哪些开局是常见的,或者角方块的名称将在游戏后期被调用的事实?或者它是否以某种方式跟踪和使用状态怎么玩,虽然没见过棋盘

但是有一天,在清洁乌鸦栖息的窗台时,您注意到两种鸟食呈网格状排列——它看起来非常像您玩的上一场奥赛罗游戏的配置。 下次你的朋友过来时,你们两个在游戏中看着窗台。 果不其然,种子显示了你当前的位置,乌鸦用它的喙轻推了一颗种子来反映你刚刚的移动。 然后它开始查看种子,特别注意可能决定下一步行动合法性的网格部分。 您的朋友是个爱恶作剧的人,他决定尝试一个把戏:分散乌鸦的注意力并将一些种子重新排列到新的位置。 当乌鸦回头看棋盘时,它会抬起头并宣布下一步,只有在新的、重新排列的位置上才合法。

在这一点上,可以公平地得出乌鸦依赖的不仅仅是表面统计数据的结论。 它显然已经形成了它所听说的游戏模型,一个人类可以理解甚至用来引导乌鸦行为的模型。 当然,乌鸦可能遗漏了很多东西:什么是好的着法,玩游戏的意义,获胜让你快乐,你曾经故意做出错误的着法来让你的朋友高兴等等。 我们不评论乌鸦是否“理解”它所听到的或在任何意义上“智能”。 然而,我们可以说,它已经开发出一种可解释(与乌鸦脑袋相比)和可控(可以有目的地改变)的游戏状态表示。

Othello-GPT:综合测试平台
聪明的读者可能已经猜到,乌鸦是我们争论的主题,一个大型语言模型。

我们正在通过仅在 Othello 游戏脚本上训练 GPT 模型(称为 Othello-GPT)来研究辩论。 奥赛罗由两名玩家(黑人和白人)下棋,他们交替将棋子放在 8x8 的棋盘上。 每一步都必须通过包抄/夹在一条直线上来翻转多个对手的棋子。 当无法移动时游戏结束,棋盘上有更多棋子的玩家获胜。

我们选择奥赛罗游戏,它比国际象棋简单,但保留了足够大的游戏树以避免记忆。 我们的策略是在没有任何规则或棋盘结构先验知识的情况下,通过简单地观察游戏记录来了解 GPT 变体学到了什么(如果有的话)。

值得指出的是我们的模型和 AlphaGo 等强化学习模型之间的一个关键区别:对于 AlphaGo,游戏脚本是用于预测导致获胜的最佳下一步的历史,因此游戏规则和棋盘结构被嵌入其中 尽可能多; 相比之下,游戏脚本与 Othello-GPT 具有独特生成过程的序列没有区别,而大型语言模型可以在多大程度上发现生成过程正是我们感兴趣的。因此,与 AlphaGo 不同,不知道 给出了棋盘结构或游戏规则。 该模型经过训练,可以学习仅从移动列表中做出合法移动,例如:E3、D3、C4……每个图块都被标记为一个单词。 然后训练 Othello-GPT 以根据前面的部分游戏预测下一步行动,以捕获游戏数据集中游戏(句子)的分布。

我们发现经过训练的 Othello-GPT 通常会走合法的棋步。 错误率为0.01%; 为了进行比较,未经训练的 Othello-GPT 的错误率为 93.29%。 这很像我们在乌鸦宣布下一步行动的寓言中的观察。

为了检验这个假设,我们首先介绍探测,这是 NLP中的一项成熟技术,用于测试神经网络内部信息的内部表示。 我们将使用这种技术来识别合成语言模型中的世界模型(如果存在)。

启发式很简单:对于容量受限的分类器,其输入对特定目标的信息越多,在训练预测目标时可以达到的准确性就越高。 在这种情况下,简单的分类器称为探针,它将模型中的不同激活作为输入,并经过训练以预测输入句子的某些属性,例如词性标签和解析树深度。 人们相信,这些分类器可以获得的准确性越高,激活对这些真实世界属性的了解就越好,即这些概念在模型中的存在。

一项早期工作探讨了具有 10 种语言属性的句子嵌入,例如时态、解析树深度和顶级选区。 后来人们发现语法树嵌入到 BERT 模型的上下文词嵌入中。

回到大型语言模型是学习表面统计还是世界模型的谜团,有一些诱人的线索表明语言模型可以使用探测技术构建可解释的“世界模型”。 他们建议语言模型可以在其内部表示(逐层激活)中为非常简单的概念开发世界模型,例如颜色、方向或在合成任务期间跟踪布尔状态。 他们发现,与随机初始化模型相比,这些概念的不同类别的表示更容易分离。 通过将经过训练的语言模型的探测准确度与随机初始化基线的探测准确度进行比较,他们得出结论,语言模型至少从这些属性中获得了一些信息。

内容中包含的图片若涉及版权问题,请及时与我们联系删除