AI内部:从未被编程的东西

没有人编写这些规则。梯度下降自己找到了它们——一个隐藏的三角算法、一个自学的复制电路,以及一个从未有人绘制过的游戏棋盘,并将它们留在了权重中,研究人员现在可以将它们读出来。这里有三个真实的发现,其中两个是我从零开始复制的。

AI内部:从未被编程的东西
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

现代AI的构建方式有一个奇怪的地方。没有人编程它。

这听起来像一个口号,但它是字面意思。程序员不会坐下来编写语言模型遵循的规则。他们编写一个更小的东西——一个学习过程,然后向它展示海量数据,让它调整数十亿个被称为权重的数字,直到它完成工作。这些数字最终意味着什么,没有人预先决定。它们会稳定在任何恰好能减少错误的配置上。

多年来,工作假设是那些稳定在权重中的东西是一个巨大的、混乱的查找表,包含表面统计数据、相关性,"这个词往往跟随那个词"。没有深层结构。只是一个非常复杂的鹦鹉。

然后研究人员开始仔细地观察内部,发现了真正让他们惊讶的东西。在这些网络的权重中——没有人放置,没有一行代码指定——是实际的算法。真实的、离散的、可逆向工程的过程。一个训练来添加数字的网络悄悄发明了傅里叶变换的三角学。一个训练来预测棋盘游戏下一步的网络建立了一个棋盘模型。一个训练来预测文本的网络生长出一个特定的小电路,用于复制模式,而这个电路最终成为这些系统拥有的最重要的能力之一的种子。

这些都不是被编程的。所有这些都是在事后被发现的,科学家们做的更像是生物学而不是工程学,解剖一个工作系统来弄清楚它变成了什么。

这篇文章将介绍其中的三个发现。它们都是真实的,都是已发表的,我会引用论文。但我不想只是报道它们,所以对于三个中的两个,我在沙盒中从零开始重建了实验,使用纯NumPy,没有深度学习库,没有什么隐藏的,并亲眼看着结构出现。我将向你展示确切发生了什么,包括我自己的复制失败的地方以及那次失败教会了我什么。

关于"没有什么隐藏"的说明,因为它对论点很重要。我没有导入一个机器学习框架,其中重要的机制隐藏在库调用中。我将整个东西写到了算术层面,包括在几百行NumPy中计算如何调整每个权重的引擎。这既是固执也是重点:如果声称这些网络内部出现的结构无处可藏,那么训练代码也不应该有任何可藏的地方。下面每个实验中的每个数字都来自随本文附带的代码,没有一步是一个耐心的读者无法手动跟踪的。

让我们从最奇怪的一个开始。

1、记忆网络,然后突然理解

这里有一个你可以对孩子说的实验。教一个小网络添加两个数字,但有一个转折:答案会环绕,就像时钟一样。在一个17小时的时钟上,9 + 12不是21;它是4。这被称为模运算,唯一重要的是它是一个清晰的、确定的规则,网络要么知道,要么不知道。

现在是关键部分。不要向网络展示整个加法表。只展示一些配对,比如60%的配对,保留其余的。然后训练它,并在训练过程中观察两个数字:它在看过的例子上表现如何,以及在没看过的例子上表现如何。

我正是从零开始构建了这个。以下是发生的情况。

图表

看看那两条曲线做了什么。很早的时候,大约在第500步,网络在看过的例子上达到了100%。它实际上记住了答案。而在同一时刻,它从未见过的保留配对上,它几乎得到了零分。这看起来完全像一个死记硬背答案而什么都没理解的学生。

如果你正在训练这个网络,只看训练准确率,你会在第500步宣布胜利并停止。你会得到一个无用的模型。

但如果你继续走下去,远远超过训练准确率已经完美且显然没有更多事情发生的点,看看会发生什么。在数千步中,似乎什么都没有发生。然后,在大约第3000步时,保留准确率突然飙升到90%以上。网络,早已记住了例子,突然泛化。它停止成为一个查找表,开始真正地计算从未展示过的配对上的模加法。

这个现象是真实的,它有一个名字:grokking。它由Alethea Power和OpenAI的同事在2022年记录下来,它之所以令人吃惊,是因为一个特定的原因。它意味着在第500步到第3000步之间的某个地方,当训练准确率固定在100%且损失看起来平坦而无聊时,权重内部仍然有东西在变化。一些结构正在慢慢形成。当它完成形成时,理解就像灯一样被打开。

在那段平坦的平台上推动的东西出乎意料地平淡,值得理解,因为它揭开了整个事情的神秘面纱。除了"获得训练示例正确"的指令外,网络还被训练有一个温和的、持续的压力来保持其权重很小,这是一种称为权重衰减的标准技术,用于阻止过于复杂的解决方案。记忆查找表在某种意义上是一个非常复杂的解决方案:它需要许多精细调整的权重来单独存储每个答案。真正的算法——实际计算答案的那个——存储起来要简单得多。所以在那个漫长的平坦平台上,网络正在被悄悄地挤压。它已经使训练数据正确,所以唯一剩下的压力是"用更小的权重做到这一点",满足这一点的方法是发现一个紧凑的规则来替代笨重的记忆表。Grokking就是当那个挤压最终成功时从外面看到的样子。在我自己的复制中,移除权重衰减完全移除了grokking;网络记住了,然后永远坐在那里,永不泛化。简化的压力是理解的引擎。

这就引出了一个明显的问题。如果网络不只是记忆,如果它建立了一些真正计算答案的东西,那么它究竟建立了什么?

2、它自学了三角学

你实际上可以打开一个grokked网络并读出算法。这是即使我自己做过之后仍然感觉有点不真实的部分。

当Neel Nanda和同事在2023年这样做时,在一项名为"通过机械可解释性进行grokking的进展度量"的研究中,他们发现网络已经确定了一种特定的、优雅的方法来做模加法,这是一种数学家会认出的方法。它将每个数字表示为一组正弦和余弦波,几个纯频率,它通过旋转这些波并将它们组合来执行加法。这本质上是离散傅里叶变换,它确实是做环绕圆形的算术的自然方式。环绕圆形的波是环绕圆形的数字的明显工具。

没有人告诉网络关于正弦波的事情。没有人将三角学放入其中。梯度下降找到了傅里叶方法,因为在所有拟合数据的方法中,那一种是紧凑且稳健的,并且能承受简化的压力。

我测试了我自己的grokked网络是否做了同样的事情。测试很简单:获取网络内部的数字表示——"嵌入",它用来代表0到16的向量——并问它们是否由几个纯频率构成。如果是,那么通过频率分解它们(嵌入本身的傅里叶变换)应该显示几个尖锐的峰值,其他地方几乎沉默。如果网络只是记住了,频率将是一个模糊的混乱,能量分散在各处。

频率图

就是这样。网络表示"能量"的87%集中在四个频率上。频谱的其余部分几乎是空的。如果这是记忆,能量将大致均匀地分布在所有八个可能的频率上,每个约12%,那条平坦的虚线。相反,它几乎完全坍缩到一小部分上。

这种浓度就是算法,变得可见。网络找到了数学家会选择用来构建时钟的同样的一小组频率,并抛弃了其他一切。这不是一个记住加法表的网络。这是一个重新发明了一部分傅里叶分析的网络,因为那部分傅里叶分析是最有效的东西。

两个实验之后,一个模式已经在形成。出现在这些网络内部的结构不是随机的垃圾。它是问题的自然结构——一个好的数学家或工程师会伸手去拿的解决方案,自动被发现因为它有效。

现在让我们从算术转向更像智能的东西。

3、从示例中学习的电路

这里有一个大型语言模型做的事情,第一次注意到时几乎感觉神奇。你可以给它一个从未见过的模式*"maison → house, chat → cat, chien → dog, oiseau →"*,它会补全:"bird"。它没有在你特定的列表上训练。它从你刚刚给它的示例中获取了模式,并立即应用了它。这被称为上下文学习,这是使这些系统有用的一个重要部分。

这种能力从何而来?2022年,Anthropic的一个由Catherine Olsson领导的团队将其中很大一部分追溯到一个特定的、微小的机制,它在训练过程中在transformers内部形成。他们称它为感应头,它实现的规则非常简单:当你看到你之前见过的东西时,看看上次它之后是什么,并再次预测它。简而言之:给定"...[A][B]……[A]",预测"[B]"。通过示例复制。

这一发现不仅仅在于这个电路存在。它在于它在训练过程中如何出现。它不是逐渐淡入的。在训练的某个点,对于大小差异很大的模型,会有一个突然的相变——一个小凸起,模型突然变得更好地使用上下文,而那个凸起就是感应头就位。Olsson的团队发现它在大约2.5到5万亿个训练令牌之后出现,一致地,就像一个开关被打开。

值得说明为什么这需要两个层一起工作,因为两部分结构是整个优雅之处。想想"回顾你上次看到这个令牌的时候并复制接下来的内容"实际需要什么。首先,模型的某些部分必须能够在每个位置回答"我之前是什么令牌?"这是一个前一个令牌头,它是第一层的工作。一旦该信息通过序列传递,第二个头就可以执行聪明的部分:它获取当前令牌,搜索早期位置中该令牌出现的地方,并读出接下来是什么。没有一层可以单独完成这项工作。第一层组装原材料;第二层执行搜索和复制。感应头实际上是这对头部,在两个不同的层中,这正是为什么单层模型无法长出一个,以及为什么我的复制需要两层才能工作。

我想看看这个发生。所以我从零开始构建了一个两层注意力模型——两层是文档中的最小值,因为电路需要一层来找到早期出现,另一层来复制接下来的内容——并训练它在一个纯复制任务上:键值对序列,重复,其中预测第二次传递中值的唯一方法是回顾键第一次出现的地方。键值映射在每个序列中随机重绘,所以没有办法记住它。模型只能通过学习回顾的策略来获胜。

相变图

这就是我自己的小模型中的相变。在前几百步中,它以4%的机会猜测,二十四分之一。然后,在一个非常短的窗口内,它突然跳到100%并保持在那里。在第200步时不存在的能力在第400步时完全存在。没有人写下"回顾并复制"。预测下一个令牌的训练压力使这个电路成为最有用的东西,所以它变成了它。

让这个工作也教会了我一些东西,我会提到,因为这个系列有一个关于诚实的规则。我的前几次尝试完全失败了;分数永远停留在机会水平。一个原因是真正的错误:我破坏了让注意力模式学习的路径,所以模型决定在哪里看的部分被冻结了。一旦我修复了那个问题,它仍然不会训练,直到我从普通梯度下降切换到Adam优化器并开始在小批次上进行平均。电路是真实的,它可靠地形成,但它很微妙,条件必须正确才能结晶。事实证明,这是这个领域的一个主题。

因为当我查看我的模型实际如何解决任务时,我得到了一个惊喜。

4、正确答案,错误连接

感应头的教科书图景是干净的:在重复的令牌处,模型的注意力应该精确地跳到该令牌早期出现之后的位置——它需要复制的"值"。那就是机制。所以我从训练好的模型中读出注意力模式,期望看到它精确地指向那里。

它没有。

注意力模式图

我的模型100%的时间都能得到正确答案。它0%的时间使用教科书注意力模式。它真正地、稳健地解决了这个问题,在从未见过的数据上,通过某种其他路线,跨其两层组合信息,这种方式与干净的单跳故事不匹配。相同的功能;不同的电路。

我想明确说明这不是失败或错误。这是整个领域中最重要的教训之一,它意外地落在我身上。行为和机制是两回事,你不能从一个读出另一个。模型可以为看起来完全不像你预期的原因做完全正确的事情。如果你只检查它是否正确复制,你会得出结论"啊,它建立了教科书感应头",你会对内部结构感到错误。

这不仅仅是我的玩具模型古怪。它反映了实际研究中的一个真实且有点令人谦卑的事件,这把我们带到了第三个发现——三个中最令人印象深刻的,也是有最多有趣伤疤的那个。

5、没有人绘制的棋盘

2023年,Kenneth Li和同事发表了一个让很多人坐起来的结果。他们训练了一个transformer来玩棋盘游戏Othello,但以一种非常特定的、故意贫乏的方式。模型只被展示了移动列表。移动27,移动14,移动9,等等。它从未被展示过棋盘。它从未被告知规则。它从未被给出棋子、方格或捕获的概念。它的唯一工作是在序列中预测下一个合法移动。

你可以想象这样一个模型通过纯粹的模式匹配在移动序列上变得擅长其工作,而没有这些移动意味着什么的概念。但当研究人员探测其内部激活时,他们发现了其他东西。网络内部是一个棋盘的表示——游戏的实际当前状态,哪些棋子坐在哪里。模型重建了它从未被展示过的东西,因为重建它是预测合法移动的最有效方式。他们称之为"涌现的世界表示",这个短语完全正确:一个小小的世界模型,仅从移动流构建。

那个句子中的"因为"是核心,值得具体化。在Othello中,一个移动是否合法完全取决于当前棋盘;你只能在你夹住并捕获对手棋子的地方下。所以移动序列不是随机字符串;它被棋盘状态紧紧约束,而模型从未直接看到。真的只有两种方法可以擅长预测下一个合法移动。你可以尝试记住天文数字般的序列到移动关联,这是没有希望的;可能的游戏数量远远超过任何小模型可以存储的东西。或者你可以做真正紧凑的事情:从到目前为止的移动内部重建棋盘,然后预测合法移动变得容易,因为你可以看到棋盘。第二种选择效率高得多,效率是训练奖励的。所以模型建立了一个棋盘,不是因为任何人要求它,而是因为携带棋盘比记住没有棋盘的后果更便宜。这与傅里叶算法和复制电路的逻辑相同,穿着不同的服装:有用的内部结构出现是因为它是高效的解决方案,而训练是对高效解决方案的无情搜索。

棋盘表示图

故事变得更好,然后更复杂,以一种真正具有教育意义的方式。

更好的首先是:Neel Nanda在2023年跟进并表明棋盘不仅仅是以某种混乱、不可读的形式存在。它的表示是线性的,足够干净,你可以用最简单的探测器找到它,只要你问对问题。原始团队探测了"这个方格是黑色还是白色?"并只发现了一个混乱的非线性信号。Nanda尝试了"这个方格是我的还是对手的?"——对于一个玩双方的模型来说是自然框架——表示突然变成一个干净的线性视图。更好的是,你可以编辑它:改变模型内部表示中的棋盘,它的移动预测会相应地改变,就像你改变了真正的棋盘一样。它不是一张被动的图片。模型使用它。

现在是复杂性,我爱它,因为它和我的感应头教给我的教训一样。2024年,Nanda自己培训计划中的一组研究人员用更仔细的实验回过头来论证,整洁的"它有一个世界模型"的故事太整洁了,模型所做的很多事情更适合描述为"启发式方法的集合",一堆小规则集体表现得像棋盘跟踪,而不一定是整洁的、统一的棋盘表示所暗示的。辩论仍在进行。Melanie Mitchell写了一篇深思熟虑的文章,说明为什么强烈的解释值得审查。

那种来回不是领域的失败。它是领域在工作,它是事物的诚实状态,这就是我包括它而不是向你兜售干净版本的原因。

7、我自己的棋盘阅读在哪里失败了

我也试图复制Othello的结果,这里我必须报告一个直接的负面结果,因为这个系列的规则是失败也要放进去。

我构建了一个小型Othello引擎,生成了数万个随机合法游戏,并训练了一个从零开始的注意力模型来预测下一步,在同样的设置中,以小型化的方式。然后我用棋盘探测它。

我的第一次探测看起来像一个胜利:它以83%的准确率恢复了棋盘。但我运行了必要的控制:我探测了一个未经训练的模型,一个完全随机权重的模型,它也得了82%。那一分的差距讲述了真实的故事:我的探测器不是从模型中读取学习到的棋盘。它主要是在读取输入移动,这些移动直接泄漏了很多棋盘。探测器在做工作,而不是网络。

所以我让测试变得诚实。我只在那些颜色被后续移动翻转的捕获方格上评估探测器,其真实状态你确实无法在不模拟规则的情况下从移动列表中读取。在那个更难、更公平的测试中,我的模型得分不比随机模型好。棋盘不在那里。

为什么我的失败了而Li的成功了?规模和训练,几乎可以肯定。我的模型很小,用手工制作的优化器短暂训练,它在一个中等水平的游戏中达到平台期;它的移动预测从未变得足够好以至于需要内部棋盘。涌现的世界模型出现在真实结果中,正是因为模型被足够强烈地推动,足够长的时间,以至于重建棋盘成为保持改进的最便宜的方式。我的从未被推动到那个点。结构在问题要求它时出现,而在任务上不是很好的模型还没有那个要求。

我发现那个失败是澄清的,而不是令人失望的。它说涌现的结构不是魔法,也不是保证。它是一个在压力足够高以召唤它时出现的解决方案,而不是之前。

8、关于"涌现"真正含义的说明

"涌现"这个词在AI写作中被随意使用,通常意味着"令人惊讶",所以值得固定它在这里的含义,因为三个发现给了它一个精确的意义。

这些结构在训练开始时都不存在。一个新初始化的网络是随机噪声;我在Othello实验中直接检查了这一点,其中未经训练的模型根本不包含棋盘。它们中没有一个是由设计师放置的;没有一行代码说"将数字表示为正弦波"或"构建一个棋盘"。"涌现"在这个上下文中的含义是特定的:结构在训练过程中出现,作为执行压力的结果,它出现是因为它是满足那种压力的有效方式。它是涌现的,就像穿过田野的路径是涌现的:没有人勘测或铺设它,但足够多的脚步寻找最短的路线将其磨损到存在,现在它明显在那里。

那是一个比"令人惊讶"更强更奇怪的说法。它说能力是问题的发现属性,而不是设计师的发明属性。改变问题就会出现不同的结构;设计师的角色只是设置压力并让搜索运行。这正是为什么观察内部是了解你拥有的唯一方式;结构是训练发现的事实,而训练不会提交报告。

9、这三个发现有什么共同点

总结图

退后一步,这三个发现是相似的。

在每种情况下,网络都被赋予了一个狭窄的、几乎是卑微的目标:填写加法表,预测下一步,预测下一个令牌。在每种情况下,没有人指定如何做。在每种情况下,网络都收敛于一个深思熟虑的人类设计师会识别为问题的正确结构:圆上算术的傅里叶方法,上下文学习的回顾和复制电路,棋盘游戏的棋盘表示。

这就是线索。结构不是任意的。它是问题的自然形状,被自动发现因为自然形状是有效的,而梯度下降对效率是无情的。给定足够的执行压力,网络不会停留在查找表。它会生长出任务实际要求的机器。

这就是为什么研究这个领域的研究领域有一个听起来像笑话但不是的名字:机械可解释性。它像生物学家对待有机体一样对待训练好的神经网络,作为一个工作系统,其部分必须被识别,其电路必须被追踪,其功能必须通过实验建立。Chris Olah在Anthropic领导这项工作,描述了在大型模型中找到特定且未编程的概念的特征,如金门大桥——网络激活中的一个方向,为那座桥亮起,当人为放大时,会使模型无论你问什么都会提到那座桥。他们2024年的工作报告从生产模型中提取了数千万个这样的特征。没有人标记它们。它们被发现了。

10、为什么这不仅仅令人惊叹

如果这仅仅是美妙的,那就足够了,但它也以一种实用且略显清醒的方式很重要。

如果这些系统内部有用的结构是生长的而不是编写的,那么我们不会自动知道里面有什么。我们为能力涌现创造条件;我们不是手动放置能力。这就是为什么可解释性越来越被视为安全优先级,而不仅仅是一个好奇心。阅读这些网络、找到感应头、世界模型、特征的整个项目,是用"我们训练了它,我们可以看到它为什么有效"来替代"我们训练了它,它有效"的项目。

而我自己实验中的感应头教训是保持那个项目诚实的警示笔记。一个做正确事情的模型并不是它为你假设的原因做这件事的证明。我的小复制器达到了100%,并且没有使用教科书预测的任何机制。将那个关注扩大到做出真正决策的系统,你就能看到为什么"它在我们的测试上表现良好"是一个需要内部观点来支持的说法。行为是你从外部可以测量的东西。机制是实际存在的东西。它们之间的差距正是惊喜存在的地方,而这个整个领域的存在就是为了缩小它。

11、诚实的局限性

我在这里构建的一切都是故意微小的,小模型可能在两个方向上误导。我的grokking网络真正重新发明了傅里叶方法;结果是可靠的,符合文献。我的感应头真正形成并真正泛化,但它令人惊讶的接线是一个单独的玩具模型,在声称关于它喜欢哪种替代机制的任何普遍性之前,我需要许多次运行。我的Othello复制根本没有成功,我已经坦率地报告了;积极的结果属于Li、Nanda和他们的合作者,规模我没有匹配。

更大的警告是从这些干净的玩具问题到真实语言模型的飞跃。模加法和Othello有清晰的、可知道的正确答案,这正是让你说"看,它找到了真正的算法"的原因。真实语言没有这样整洁的地面真相,从前沿模型中读取结构比从训练来添加mod 17的网络中读取要困难得多,也更有争议。Othello"启发式方法的集合"辩论是一个活生生的例子,说明即使是一个干净的情况也抵制干净的结论。将玩具结果视为这种事情发生的存在的证明,而不是声称每个模型中的每个能力都是一个整洁的、可读的算法。这些系统内部的很多东西仍然没有被真正理解。

12、底线

我们曾经假设没有人编程的系统不可能包含任何值得称为结构的东西;没有设计师指定规则,你会得到复杂的模仿,仅此而已。

然后人们观察内部,假设被打破了。一个只被训练来添加的网络发现了傅里叶变换的三角学,并抛弃了它不需要的一切,将其87%的表示集中在四个频率上。一个只被训练来预测文本的网络生长出一个通过示例复制的电路,它作为一个突然的相变就位,并最终成为上下文学习的种子。一个只被训练来预测游戏移动的网络重建了它从未被展示过的棋盘,足够干净以阅读甚至编辑——一个真实到足以发表的结果,也足够有争议以至于仍在被争论。

我从零开始复制了前两个,看着它们出现,甚至抓住了我自己的复制电路通过教科书没有预测的机制解决其任务——这是我整个星期学到的最有用的东西,因为这就是这个领域困难的原因。没有人写下任何东西。它被发现,坐在权重中,等待某人去观察。

这就是现代AI之下令人惊讶的事实。我们不再只是构建这些系统。我们越来越多地发现我们构建了什么,而观察内部的工具正在竞相跟上不断出现在那里的东西。

源代码:https://github.com/HAYANAN-T/ai这就是线索。结构不是任意的。它是问题的自然形状,被自动发现因为自然形状是有效的,而梯度下降对效率是无情的。给定足够的执行压力,网络不会停留在查找表。它会生长出任务实际要求的机器。

这就是为什么研究这个领域的研究领域有一个听起来像笑话但不是的名字:机械可解释性。它像生物学家对待有机体一样对待训练好的神经网络,作为一个工作系统,其部分必须被识别,其电路必须被追踪,其功能必须通过实验建立。Chris Olah在Anthropic领导这项工作,描述了在大型模型中找到特定且未编程的概念的特征,如金门大桥——网络激活中的一个方向,为那座桥亮起,当人为放大时,会使模型无论你问什么都会提到那座桥。他们2024年的工作报告从生产模型中提取了数千万个这样的特征。没有人标记它们。它们被发现了。

13、为什么这不仅仅令人惊叹

如果这仅仅是美妙的,那就足够了,但它也以一种实用且略显清醒的方式很重要。

如果这些系统内部有用的结构是生长的而不是编写的,那么我们不会自动知道里面有什么。我们为能力涌现创造条件;我们不是手动放置能力。这就是为什么可解释性越来越被视为安全优先级,而不仅仅是一个好奇心。阅读这些网络、找到感应头、世界模型、特征的整个项目,是用"我们训练了它,我们可以看到它为什么有效"来替代"我们训练了它,它有效"的项目。

而我自己实验中的感应头教训是保持那个项目诚实的警示笔记。一个做正确事情的模型并不是它为你假设的原因做这件事的证明。我的小复制器达到了100%,并且没有使用教科书预测的任何机制。将那个关注扩大到做出真正决策的系统,你就能看到为什么"它在我们的测试上表现良好"是一个需要内部观点来支持的说法。行为是你从外部可以测量的东西。机制是实际存在的东西。它们之间的差距正是惊喜存在的地方,而这个整个领域的存在就是为了缩小它。

14、诚实的局限性

我在这里构建的一切都是故意微小的,小模型可能在两个方向上误导。我的grokking网络真正重新发明了傅里叶方法;结果是可靠的,符合文献。我的感应头真正形成并真正泛化,但它令人惊讶的接线是一个单独的玩具模型,在声称关于它喜欢哪种替代机制的任何普遍性之前,我需要许多次运行。我的Othello复制根本没有成功,我已经坦率地报告了;积极的结果属于Li、Nanda和他们的合作者,规模我没有匹配。

更大的警告是从这些干净的玩具问题到真实语言模型的飞跃。模加法和Othello有清晰的、可知道的正确答案,这正是让你说"看,它找到了真正的算法"的原因。真实语言没有这样整洁的地面真相,从前沿模型中读取结构比从训练来添加mod 17的网络中读取要困难得多,也更有争议。Othello"启发式方法的集合"辩论是一个活生生的例子,说明即使是一个干净的情况也抵制干净的结论。将玩具结果视为这种事情发生的存在的证明,而不是声称每个模型中的每个能力都是一个整洁的、可读的算法。这些系统内部的很多东西仍然没有被真正理解。

15、底线

我们曾经假设没有人编程的系统不可能包含任何值得称为结构的东西;没有设计师指定规则,你会得到复杂的模仿,仅此而已。

然后人们观察内部,假设被打破了。一个只被训练来添加的网络发现了傅里叶变换的三角学,并抛弃了它不需要的一切,将其87%的表示集中在四个频率上。一个只被训练来预测文本的网络生长出一个通过示例复制的电路,它作为一个突然的相变就位,并最终成为上下文学习的种子。一个只被训练来预测游戏移动的网络重建了它从未被展示过的棋盘,足够干净以阅读甚至编辑——一个真实到足以发表的结果,也足够有争议以至于仍在被争论。

我从零开始复制了前两个,看着它们出现,甚至抓住了我自己的复制电路通过教科书没有预测的机制解决其任务——这是我整个星期学到的最有用的东西,因为这就是这个领域困难的原因。没有人写下任何东西。它被发现,坐在权重中,等待某人去观察。

这就是现代AI之下令人惊讶的事实。我们不再只是构建这些系统。我们越来越多地发现我们构建了什么,而观察内部的工具正在竞相跟上不断出现在那里的东西。


原文链接: Scientists Found Something Inside AI That Was Never Programmed

汇智网翻译整理,转载请标明出处