我认为推理的定义非常模糊。如果你正确编写了一个计算机程序,它可以任意好地泛化,我们可以证明它是完美的等等。这是推理吗?我不确定。这些模型可能并没有实现算法,对吧?它们实现的是启发式方法,你知道,至少在训练时,它们足够好以适应,对吧?但是一旦它们偏离分布,
它们的泛化能力就会很糟糕。我喜欢我们的结果,因为我们给出了一个可以直接测量的量,比如说明这种情况正在 Transformer 中发生。而其他结果更像是关于你可以表示这类语言等等的建设性证明。所以它们有点相关,但在某种程度上是截然不同的方法。
Federico,欢迎来到 MLST,很高兴你来到这里,感谢你邀请我。为什么 Transformer 需要眼镜?也许我不应该再选择标题了,因为我认为我想出了这些古怪的标题,但关键的想法是,为什么这个短语对我来说很好,就像
它们似乎非常糟糕,这正是这篇论文的重点。它们似乎非常擅长检测……就像,如果你关心单个标记或其他什么,在某些时候它就会失效,对吧?这与……你知道的,它们至少在极限情况下,随着上下文大小的增长,它们不可能擅长关心单个标记有关。这是一种……
尤其是在结尾的时候。所以,Tufalabs 是一个新的 AI 研究实验室。我在苏黎世学习。它由 Paz Ventures 资助,也涉及 AI。所以我们是 DeepSeq 的瑞士版本。一小群人,非常非常有动力,非常努力工作。我们尝试进行一些 AI 研究,从 LLM 和 O1 风格的模型开始。我们现在正在寻找首席科学家和研究工程师。你可以在 tufalabs.ai 上查看职位。
所以让我们来讨论一下。我认为在第二页有一张图,你谈到了表示在结尾处被压缩。你能解释一下这张图吗?想象一下,一系列不断增长的序列。你重复它的最后一个标记。例如,在论文中,我们有,你知道,你能计算这个序列中 1 的数量吗?现在你加了一个额外的 1,对吧?所以现在这两个序列有……
两个不同的答案,对吧,基本上重复了一个额外 1 的序列的答案是 n+1 或 k+1,这种构造实际上存在一个问题,那就是在某些时候,这个最终的 1 的影响
消失了,对吧?这是根本性的想法,对吧?随着这些序列的增长,你真的关心最后一个 1,那个给你正确答案的 1。但在某些时候,如果你开始在模型内部测量表示,我想我们也在数学上证明了这一点,在某些时候,这些表示会越来越接近,对吧?然后问题是计算机有精度,对吧?如果
如果这个表示太接近了,它低于机器的精度,
那么你就会被迫将这两个序列映射到同一件事上。所以其中一个必须有错误。让我们来概述一下。我不确定我是否完全记住了实验,但它类似于你生成一个序列。所以它可能是 1, 0, 1, 0, 1, 0。也许你概率地生成 1 和 0。所以 70% 的时间是 1,30% 的时间是 0。然后
最后你问一个问题,对吧,你问有多少个 1 或者最后一个是什么,你是在说,随着序列变长,网络变得对最近的东西有点盲点,对我来说,令人惊讶的是,你构建这个序列的方式,比如说,让我们坚持复制,因为这也许是
一个更简单的例子,对吧?就像,你能复制序列的最后一个元素吗?这对人类来说是一种完全微不足道的操作。人类永远不会犯这个错误。不管……我认为这是好事,对吧?如果你在计算一个巨大的序列,
人类很可能会犯错误。但如果你只是问最后一个元素是什么,你基本上永远不会犯错误,对吧?因为这就像一个完全微不足道的一般化,你不需要进行任何计算,基本上,对吧?就像,只要看看最后的东西就行了。但不知何故,机器或 Transformer,你知道,我们用 Gemini 尝试过这个,你知道,
在当时最强大的东西上。在某些时候,如果你给它例如 1 1 1,一个很长的 1 序列,结尾处有一个 0,在某些时候它开始输出 1。我认为这很好地解释了,在某些时候,序列中存在 0 的事实会在表示中丢失,这样你就可以知道表示,我们当然在一个较小的模型中测量了这一点,因为我们需要权重和所有东西来做到这一点,并且
但这发生在……你可以真正地看到表示彼此收敛。我认为这是一件好事,因为它有点像说,“看,我们真的可以找到一个量来
解释为什么我们在这项任务中失败了,对吧?是的。我们稍后会谈谈你的直觉和理论,因为我认为它真的很酷。这就像一个直觉泵,让人们思考。但在家的人们会发现它有趣的原因是,我认为我们大多数人都觉得存在一种近期偏差。如果有什么不同的话,它更有可能知道你刚刚说过的事情,而不是很久以前的事情。当然,当我们看到
一些具有大型上下文的这些大型模型时,我们会看到一种 U 形曲线,不是吗?对,是的,是的。那么这如何与你的新模型相符呢?在这里,我们必须谈谈这篇论文的主要直觉之一,对吧,它与这种表示崩溃的想法有关,但它就像,我认为在我们的论文中,我们正在将其发展为它自己的想法,对吧?那就是不知何故,这些 Transformer 中信息流动的方向,
实际上具有内在的机械偏差,对吧?它实际上是朝着序列的开头。但是当你训练这些模型时,对吧,你训练它们来预测下一个标记,这个下一个标记很可能取决于最近的标记,对吧?所以在某种意义上,训练动力促使它关注最近的事情,但是……
信息的机制却促使它关注或至少保留序列开头的信息。我们相信这种很好的……有一种很好的现象被观察到,那就是如果你要求语言模型进行信息检索,它们往往会发现中间更难,对吧?对我们来说,这在某种程度上解释了这种现象,因为从机械上讲,Transformer 在开头很好,但它们学习关注
结尾?中间的东西不知何故丢失了。MLST 由 Sentinel 赞助,Sentinel 是一个专门针对 AI 工作负载优化的计算平台。它们开箱即用地支持所有最新的开源语言模型,例如 Lama。你可以按需付费,或者你可以拥有一个始终工作的模型,或者在你不用的时候可以冷冻它。
他们部署的所有模型都开箱即用地支持 OpenAI API 规范,这意味着只需更改一行代码,就可以切换到 Sentinel,开始节省资金并加快应用程序的速度。我们应该稍微停留一下。也许我们现在应该在屏幕上显示一张图,这张图与这种通过网络的拓扑信息传输有关。
真正有趣的是,你越早,通往预测标记的拓扑路径就越多。所以如果你考虑一下,这个自注意力 Transformer,首先,它有……
因果掩码,你应该介绍一下,但这只是一件事,这样当我们训练它时,它不能通过查看未来作弊,但受因果掩码的限制,你越往回走,通过这个自注意力矩阵的路径就越多,在它进行预测之前,是的,预测,你声称的是,路径越多
信息越不可能被压缩。我认为这些想法在图神经网络文献中非常流行。所以这并不是凭空产生的。但正如你正确提到的那样,这确实是
你有一个因果机制到位,对吧?这基本上意味着注意力现在看起来像一个下三角矩阵,对吧?就像注意力只允许你向后看。这真的是一个训练技巧,对吧?当然,你可以有像 BERT 这样的 Transformer 不这样做,对吧?但是如果我们想有效地训练外部分,你不能让你的 Transformer 向前看,对吧?因为这会使做事情变得非常低效。并且
所以我们指出,因果注意力的这种选择对信息传播的方式有影响。这正是你关心的路径数量。直觉上,如果你是最后一个标记,你的信息通过注意力机制存活下来的唯一方法是,如果你对自己的注意力
很高。但这意味着,因为存在这种总和为一的约束,其他所有东西都很低。所以存在这种权衡,对吧?如果你想让自己存活下来,而你是最后一个标记,你基本上就不能进行注意力,对吧?所以我发现这实际上解释了很多有趣的现象……
这就是为什么我非常喜欢这种直觉。这里有一篇非常有趣的文献,因为当然,顺便说一句,你的导师是 Michael Bronstein。对,或者仍然是,我想。我喜欢 Michael。他太棒了。但当然,Michael 在 GNN 中的这种压缩思想上做了很多工作。甚至在此之前,人们还在 RNN 中谈论梯度消失之类的问题。
我认为我在你的论文中读到过,你说在 GNN 文献和压缩中,有一个概念,我不记得你用的是什么词,但它与出租车距离或类似的东西有关。所以就像你必须走的步数越多,你就会越压缩。这篇论文,对吧?它就像……
从这种图网络工作中汲取灵感,建立桥梁,对吧?一种非常常见的思考方式……实际上,这是我过去做过的工作。我过去研究图网络中的信息传播。所以这项工作并不令人惊讶,对吧?就像,我开始研究这个。但它就像,本质上,人们研究图网络传播的方式是将其与谱图理论联系起来。并且……
你将这与这些……甚至像马尔可夫链联系起来,我想。现在你得到了一些自然的量。你提到的出租车距离通常被称为通勤时间。是的。它是一个衡量的量……想象一下你在一个图上,你……
你定义了一个随机游走,它说我是一个度数为 5 的节点,所以我拥有 5 个邻居。我可以以 1/5 的概率跳到任何一个邻居,对吧?等等。所以这定义了一种过程,你知道,你从一个点或节点开始,你采样,你可以创建你的小旅程,对吧?这个通勤时间
基本上是在问这个问题:“让我在图上选择两个节点,让我从其中一个节点开始。我需要走多少步才能到达另一个节点并返回?”所以它是通勤的,因为你想让你的随机游走到达那个节点并返回。不知何故,这与图上的热方程密切相关,也许并不奇怪。
因为在热量如何传播和随机粒子如何移动之间存在这种关系,对吧?所以存在这种很好的、经过充分研究的行为。事实证明,图神经网络,取决于你如何选择它们,例如,图卷积网络与热方程非常相似。它们实际上……
你可以将它们视为图上热方程的离散化,这实际上是定义得很好的,那么它们对两个节点相互交谈的敏感程度就不足为奇了
与这个通勤时间有关,对吧?这就是人们最近研究图神经网络的方式,并且它被证明……我们实际上有一篇关于这方面的论文,你可以证明在某些任务上,仅仅改变图的连接方式就会严重影响图神经网络使两件事变得多么容易
沟通或如何在两者之间传输信息。并进一步解释热方程。你是在谈论热力学第二定律和纳维-斯托克斯方程之类的东西吗?但在图的上下文中,你的自由度较少,因为你可以与你的邻居交谈,显然,但这有点不同。对,对。所以你可以从字面上定义图上的热方程,你可以定义拉普拉斯算子并使其演化,对吧?这就像
研究这个算子的谱是……这与连续热方程有非常强的类比,你知道吗?你可以真正地将图视为离散类型的曲面,然后
你可以画出很多很多平行线,由于某种原因,神奇地,也许不神奇地,它非常一致。就像你可以在图上和图上的热方程上发展不等式,这些不等式与连续空间一致,对吧?然后你可以使用这些不等式或其他东西来判断,来限制图神经网络如何
传播信息或信息传播是如何运作的。你引用了 Muse 的歌曲歌词,谈论能量如何随着时间的推移而消散。对,对。是的,这当然是热力学第二定律的参考。我认为这个引用更多的是 Petar 的功劳,所以我不能居功。但是是的。所以 Petar 当然很有名,因为他发明了图注意力
网络,并且在这方面有很多很多引用,这太棒了,但多年来,Petar 一直在谈论……我想,Transformer 的潜在局限性,他一直在研究图网络领域以改进它,你认为这里有机会构建更好的架构吗?是的,我想那是希望,对吧,就像……也许这是
这是从一个在图网络上开始博士学位然后决定跳槽去语言模型的人的观点来看的。我认为研究图网络实际上有很多价值,因为我们真的可以,我认为我们对它们的工作原理有相当深入的了解。至少有些模型非常……
你可以很好地研究它们,因为它们与物理学等等的关系。希望你可以采用这些方法,然后建立通往 Transformer 的桥梁。如果语言模型是完全连接的,这将不会那么有趣。但它们具有这种非常具体的拓扑结构的事实
给了你利用这些想法的机会。如果你完全连接,基本上你会有任意行为。那么你能说什么呢,对吧?但如果你没有完全连接,你也许可以说一些更有趣的事情。这就是为什么我喜欢因果注意力机制,因为它们实际上非常有趣的研究对象。
我认为在我们的论文中,我们也做了一些努力,也许很小,但我认为它们是一个有趣的方向,我的意思是,它们主要在附录中,但是如果你可以为这些三角注意力矩阵开发一个谱理论,你可以得出很酷的结果或可爱的结果。例如,我们有这个结果,你知道,在极限情况下,你只关心初始标记,对吧?等等。这些有点像
来自谱图理论的真正想法,这些想法自然而然地……这些也许我不会说它们是超级深刻的结果,但我认为它们为正在发生的事情提供了很多直觉,你说了这么多东西,我不知道先选择哪个,但也许我们只触及你最后说的一点,那就是你……
你知道,论文中你最后的定理之一就是你刚才说的。我认为这实际上并不是一个强定理。你说你相信,随着标记长度的增加,它只会越来越关注第一个标记。对,对。我们必须在那里做一些假设,对吧?因为它的一切都非常非线性。但主要直觉是,
如果你添加越来越多的层会发生什么,对吧?这就像你试图研究的东西。如果你假设你可以忽略贡献。所以当然这是一个很大的限制,但总的来说,我认为从线性代数的角度来看,很难研究这种超非线性系统,对吧?但我想重点是,
如果你继续应用这些注意力矩阵,也许这很好地引导了,但是注意力矩阵永远不可能很尖锐,因为对于它们来说,尖锐的意思是,现在让我们假设我只想,就像,你基本上关心这个过程混合事物多少,对吧?因为你只能向后走,这种混合只在一个方向上进行。
这个方向只是朝着序列的开头。因此,你应用的层数越多,你就越关心序列的开头。这就是发生的事情,对吧?实际上,这里有一些非常好的结果。我很高兴看到这一点。有一些……Carlini 有一篇非常好的论文,这些人非常擅长安全,对吧?并且……
在这篇非常好的论文中,他们实际上发现,当你重复标记等等时,你的最终输出似乎只是序列开头的标记。看到这些结果我很高兴,因为这些结果对我来说指出了 Y,你知道,为什么会出现这种情况?这似乎很随意,为什么你会……但实际上,从光谱的角度来看,这很有意义。这就是为什么我对这个方向如此兴奋的原因,也许……
即使我们做出了这种广泛的简化,也有一些东西你可以真正……它真的有助于你的理解。所以我希望这种工作甚至可以扩展到
不知何故,更好的理解会导致更好的安全、更好的攻击或更好的防御。我认为这是理解优先,然后是应用。我想显而易见的问题是,我们现在确实有上下文为 200 万个标记的模型。
我的意思是,它们并不完美,但它们似乎运行得相当好。那么为什么我们没有看到这些模型出现大规模模式崩溃呢?我想有人必须打开这些模型并弄清楚这一点,基本上。因为我认为至少从光谱上来说,这应该行不通,对吧?问题是,你可以将张力视为一种收缩。
但是你还有所有这些不同的组件,比如后来出现的 MLP 等等,它们可能会起到扩展的作用,对吧?所以这里有一些关于需要取得平衡的东西。你想反击注意力的收缩效应,例如,你使用残差连接来帮助实现这一点,或者你使用 MLP 来帮助实现这一点,对吧?所以这是一种你希望的自稳定过程吗?
我想,首先,我认为很多上下文更长的模型会在窗口注意力之间交替,所以它们有很多次机制,对吧?也许这些是偶然发现的,这有助于,你知道,你进行架构研究,你发现这有帮助,但无论如何,为什么?我不知道。然后我还认为这些模型会学习很多东西
来保持混合。例如,如果你查看 Lama 或 Gemma,很多头部实际上什么也没做。例如,它们实现了对角线头部,对吧?这些基本上是二次无操作。这些是昂贵的无操作,对吧?为什么模型学习这个?我认为这是因为它试图保护自己。它试图不一次性混合所有东西。它试图……
我不知道,也许它想,就像,它试图,是的,基本上以某种方式避免过度混合,它可以找到方法,例如,很多头部只会关注序列开头的标记,而序列开头的范数非常接近于零。同样,这是一个无操作。所以我也认为这里有一个巨大的机会,就像,以某种方式弄清楚
这是一种巨大的浪费,对吧,模型压缩是一个巨大的课题,所以也许你知道,研究这些问题可以帮助解决这个问题,对吧,弄清楚为什么它学习无操作,你知道,这是一个巨大的浪费,是的,对此我有几点想法,首先
这种理论可以帮助我们更好地理解训练动态,并提出设计架构的原则性方法。但有时有一个因素,我的意思是,即使现在,如果你采用 Gemini 并训练它一百次,大概有时它会比其他时候运行得更好,因为,你知道,无论条件如何。并且,
也许有时你需要给它更多一点容量,它可能不会使用这种容量。所以当它训练时,它几乎会说,不,我不打算费心使用那里的东西。即使那样,我认为从全局角度考虑训练动态也没有意义,因为它对输入非常敏感。所以有些输入可能会点亮更多网络,也许在某些情况下,而不是在其他情况下。所以这真的很复杂。
是的,我想这是一个很好的总结。我认为如果你问 Razvan Pascano,他也在这篇论文中,他会告诉你,他认为你需要很多头部,因为在开始时,这是一种提供很多选择的方式。所以也许然后它会学习到一些头部在这个方向探索,一些头部在另一个方向探索,然后在某些时候,它不需要的头部就会关闭。
它们只会保留那些由于某种原因找到了最佳设置的头部。所以我想在某种意义上,你拥有这个超级过度,你可能有 500 个头部,甚至更多。并且,正如你所说,就像你一样,这就像开始时的一种多样性策略,然后尝试
只选择你关心的那些。你说我们设计这些神经网络架构,这有点像修补。所以有多个机会、多个头部、多个路径、残差网络等等。我喜欢你描述它的方式,在连续阶段存在收缩和膨胀。那里的直觉是什么?是的,我想这真的是……
这种光谱直觉……就像如果你查看这些三角矩阵的特征值,对吧?就像如果做一些轻微的假设,只有一个,一个单一的 1,其他所有东西都小于 1,对吧?这种效应就像如果你取它的幂,那么
基本上你只剩下一个特征值为 1 的特征值。所以这是一种存活下来的特征空间。所以这就像一种收缩。所以它不一定是……我想这取决于……我对收缩的概念有点宽松。但对我来说,这是收缩,因为它正在破坏信息,除非你处于这种特定的起始标记中。然后……
相反,MLP 可以拥有它们想要的任何 Lipschitz 常数。所以 MLP,它们可以根据你的需要尽可能地扩展你。所以在这个意义上,想象一下你……我将这视为读写操作。所以想象一下你的注意力现在关心一百件不同的事情。所以……
每个系数大约是 1/100,现在你可能将此信息复制到值向量中的另一个隐藏维度。所以你就像一种复制操作。现在其中的所有内容都将按 1/100 的比例缩放,对吧?所以这是一种,你知道,范数对我来说在构建非常尖锐的操作中非常重要。所以
如果现在所有东西都是 1/100,这实际上不会产生很大的影响。但是现在你的 MLP 可以获取这个并将其乘以 100,现在所有东西都再次变得强大。当然,你现在仍在与层归一化作斗争,但在某种程度上,这为你提供了一种方法……注意力可以复制信息,但它复制得越多,这种复制操作的影响就越弱。所以 MLP 可以抵消这一点。
这就是我将这两种操作视为的方式。就像,如果你想复制很多东西,你可能需要一些能够转动旋钮并试图使这种复制更强大的组件。当你引用 Carlini 时,当然,在你进行的大多数实验中,它是一个相当低熵的序列,也就是说它是 1 或 0 或类似的东西。
不同类型的token数量或序列中的熵对结果的影响有多大?这很重要。我觉得这也与分词方式有关。我认为在做这些实验时必须非常小心。例如,如果你通常要在token之间加一个空格,那么大多数分词器就会
看到一个空格,然后给你一个新的token,对吧?所以你真的必须小心这一点。然后序列的熵也起作用。我认为这使得它变得非常复杂,对吧?所以我相信我们确实有经验来检查这是否仍然适用于……
基本上是随机的或任意的序列,但你只需要……它们肯定有影响。出于某种原因,我发现像9这样的数字,或更大的数字通常会有更大的数量级。这有点道理,这就是它试图做的事情。但是所有这些不同的因素都会真正影响你收敛到……的速度。
这两个序列彼此收敛的速度有多快。你能解释一下我们所说的意思吗?如果我理解正确的话,你有两个序列,然后你对softmax做L1差值,你说这会收敛到某个任意的小数,ε。我想我们真正研究的是
你关心的是最后一层最终token的表示,因为这是你添加到线性投影上并提取下一个token的东西,对吧?所以这里的关键思想是,如果你取两个序列,并且这种最后的……这两个序列的最后一层最后一个token的表示任意接近
那么你就会遇到问题,因为现在它们被映射到同一件事。而且……
基本上你关心的是这两者之间的范数。你想根据这个序列族证明,如果你不断增长,在某个点上这个范数会变成任意的ε。这说得通。所以我们想要具有表示保真度来区分这些情况差异的自注意力transformer。对。
这里还有另一件有趣的事情。你引入了数值精度的概念。你说我们有一个问题,对吧?我们有这些序列,它们越来越长,也许这些序列一开始熵很低。但是最终,取决于神经网络的数值精度,可能是FP16,可能是量化的,
在某个时刻,我们可能会低于网络能够区分这两件事的阈值。是的,是的,是的,这正是结尾。事实上,我们目前在许多这些模型中都有非常重的量化,我的意思是,它们比16位少得多。对我来说,这确实指向,我的意思是,我认为量化模型会降低性能是可以理解的。我想任何人都可能会想到这一点,但是,
我认为这指出了非常机械的问题,比如,你知道,如果你真的量化很多,在某个时刻你甚至会有在更高精度下可能可区分的序列,但现在它们不可区分,你被迫犯了一个错误,对吧?所以某种程度上,这是一个关于量化的非常机械的抱怨。
是的,因为这不会很快变得灾难性吗?因为你的研究表明,顺便说一句,Liron,他是末日辩论的人。他一直说,给我一些LLM做不到的事情的例子。复制和计数。是的。
它们不能处理超过100个元素。前沿模型无法做到超过这一点。这是在你量化它们之前。现在我们把它们量化到4位或其他什么,它们直接崩溃了。这是一个巨大的问题。Liron会说,这不是问题。我们只需要使用工具,伙计。是的,当然。这有什么问题?我想这取决于你是谁,以及你对什么感兴趣,
感兴趣。我的意思是,我感兴趣的是,首先,了解发生了什么,但我也认为,我认为一个模型应该,你知道,如果我们声称,你知道,我们有AGI或其他什么,你知道,像我这样的模型应该
应该能够做人类能够做到的简单事情,对吧?所以有一种说法是,好吧,这很好。当然,你可以为模型配备工具,这是非常成功的,但是,我想我们在论文中提出的主要观点之一是直接反驳这一点,而没有说这一点,这很好,那就是你经常只想将东西复制到工具中,对吧?所以如果你甚至不能做到这一点,
那么你可能就有一个问题了,对吧?所以某种程度上,计数当然可以用工具解决,但复制是一件非常基本的事情,你希望在做这件事时非常稳健。所以你还做了两个非常有趣的实验。一个是关于思维链的,另一个是……
这实际上有一点历史。你还记得GBT-3因为字节对编码或其他什么东西而对数字有问题的吗?你把数字之间加了空格,它就工作得更好。所以你做的一个实验就是你只是把序列交错起来。是的。这有帮助,很奇怪。为什么这有帮助?实际上,这并不奇怪。就像实际上,这在某种程度上是我们试图调试我们的理论。就像,
例如,关于过度压缩的直觉是,如果你试图复制末尾的零,而你现在知道零是……位于末尾意味着它现在有点成问题,因为你失去了零的概念。现在,如果你在序列中添加更多零,
零的存在不会很快丢失。在某种程度上,这是一种对抗那些主导表示的1的方法。所以现在添加这些零也许并不奇怪地有助于在表示中不丢失零。
我认为非常好的事情是,复制第一个token似乎比最后一个token容易得多,因为这确实显示了路径的概念,对吧?当你查看这些偏导数时,零的表示在开头比在结尾更有影响力。对我来说,这就像,好吧,这就像我们在这里建立了一些理解,对吧?因为我认为在……
在没有考虑过度压缩这些路径的情况下,这似乎是荒谬的,对吧?这是超级随机的行为。为什么会发生这种情况?所以我有点喜欢这些实验的直觉。大家一定要看看这篇论文。我的意思是,就像我记得的那样,口头表达一下,有一个任务,你告诉它在开头和结尾做某事,并且
你发现随着序列长度的增加,它在相当长的一段时间内仍然能够成功地关注开头。但在最后,它很快就下降了。你做的另一件事是,我认为是零样本和超过零样本的思维链提示,因为你所有的实验基本上都表明
当序列长度达到一个相当小的数字时,我认为甚至超过10个,它就会变得疯狂。如果你在计数,你会期望看到像单调递增的结果集,但它很快就崩溃了。思维链是如何起作用的?我们做的实验是这样的,也许最简单的实验是,只是要求它对1+1+1求和K次,对吧?而且,而且,
我想好吧,如果你……我认为这些模型不擅长这种任务是臭名昭著的,对我来说这相当令人不安,但无论如何,而且
使用思维链,其想法是,我们试图要求它分解它,对吧?所以就像也许把它分成五组,对吧?等等。但是你很快就会发现,它基本上开始发散,并且再次给出像无意义的答案。这对我来说并不奇怪。它就像……
对我来说实际上是相当预料之中的,因为关于这个任务的重复性质有一些东西,对吧?就像我认为模型很快就对它跟踪的内容感到困惑,就像有很多1+1,对吧?它变得极其困难。所以有一个惊人的图表,我认为这是一个计数任务。对,是的。而且
它显示了中间的一个大模式。你能解释一下吗?我们所做的非常简单。我们基本上向模型输入,你能对1+1求和,依此类推,5、10、15,一直到200次。
你会看到它在20左右还可以,然后它开始输出数字,甚至不是5的倍数等等。然后一旦你超过一定的大小,它就会喜欢输出100。这对我们来说有点指向这样一个事实,即它
可能不是机械地计数。我认为最近有一些关于这种行为的预印本,这些模型可能不是在实现算法,对吧?他们正在实现,我认为在这篇论文中他们称之为启发式方法包,对吧?就像他们正在实现某种
启发式方法,你知道,至少在训练时足够好以适应,对吧?但是一旦它们超出分布,它们的泛化能力就会很糟糕,它们总是输出100,因为100对我来说似乎是一个相当合理的常见答案,对于一些很大的1的和的序列,对吧?就像某种程度上100就像,有意义的100,对吧?至少从训练集的角度来看,对吧?所以这是,
我认为这是一个相当令人惊讶但也不令人惊讶的结果。是的,你提到的那篇论文是“没有算法的算术:语言模型用启发式方法包来解决数学问题”。对,是的。
当我阅读你的论文时,你使用了一个美丽的词。我不得不查一下,因为我以前没见过。我认为是“瞬间认知”。对,是的。孩子们显然,他们学会了某种程度上的理解,你知道,那是五个苹果。他们学习了一种计数模式。他们实际上并没有计数。我们可以很快地做到这一点。建议是语言模型正在做同样的事情。就像有意义的是你更关心粗略估计而不是精确数字。我的意思是……
我不确定我是否真的理解100和103之间的区别,但我能理解10和100之间的区别,对吧?至少,你知道。所以我认为这是有道理的。我想这有点像我甚至不确定我如何计数,对吧?就像我真的不知道我脑海中计数的概念有多稳健,对吧?它就像,好吧,我可以机械地做到,但是……
是的,但有意义的是,粗略估计对儿童来说可能非常重要,对语言模型来说也可能非常重要。所以在引言中,你对一些LLM怀疑论论文做了一些文献综述,你引用了Vinyals关于在某些条件下,
自注意力transformer可以是图灵完备的,对吧?在什么条件下它们可以是图灵完备的呢?我认为这篇论文本身并没有真正正式地讨论这个问题,但有一些论文是正式讨论这个问题的,我认为这些论文来自更像是在某种程度上
更像计算机科学方法的人,对吧?就像我通过自动机来看待它们等等。通常你做的假设是关于硬注意力的。这意味着你假设你的注意力是1或0,对吧?这在实践中是不可能的,对吧?但这解释了为什么这是一个有用的范例。我认为人们通常或有时会放松这一点,以拥有
我不确定具体是什么,但它就像更软的硬注意力,就像不是在某个点上只有一个delta,而是在1/k,对吧?所以你可以完美地均匀地关注,对吧?所以我认为许多这些结果都涉及这些结构,因为它们在数学上更容易处理
在数学上。但是,如果自注意力transformer的精度是有限的,并且它进行的是固定数量的计算,那么它原则上不可能是图灵完备的吗?所以它们通常也对随着序列长度而增长的内存做出这些假设,以及增长的精度,所以对于内存,我大致是指隐藏维度乘以浮点精度,这是一种内存,你在transformer中拥有多少位,对吧?而且
而且完全……
这乘以你拥有的token数量,对吧?这有点像,但是通常我认为很多人在这样的范例中研究这个问题:你的精度随着序列长度对数地增长或其他什么,显然精度并没有增加,对吧?精度就是它是什么,对吧?然后你选择它是什么,所以是的,和Schmidhuber谈过这个,当然还有Siegelman在95年的论文,她证明了如果你有一个无限精度的RNN,对吧?那么当然它可以模拟图灵机,对吧?如果你有无限精度,你就不会有表示崩溃,而且
就像你可以尽可能接近,你不在乎,对吧?因为你总是可以区分两者,对吧?所以有意义的是,你知道,在某种程度上,这些结果是相当相关的,对吧?就像这种
我认为我们的结果除了……你知道,在自动机、形式语言等等方面的这些结果,我的意思是,关于这种叫做RASP的编程语言有一条非常好的工作线。这是一种实现transformer可以执行的操作的编程语言。关于如果
你想实现一个简短的RASP程序,那么你可以,就像你的transformer可以相对较好地学习这个,对吧?并且更好地泛化。所以这与本质上是编程语言,对吧?和transformer之间存在着某种良好的关系。但在某种程度上,我喜欢我们的结果,因为我们给出了一个可以直接测量的量,并说这正在transformer中发生。而其他结果更像是
某种结构——这显然非常有趣,但它们更像是关于你可以表示这类语言等等的建设性证明,所以它们有点像
非常相关但非常不同的方法来解决某些方面类似的问题。是的,有很多方法可以做到这一点。顺便说一句,我喜欢的是,是Greg Delétang吗,乔姆斯基层次结构?对,是的,是的。我认为他将所有不同的模型,如LSTM和transformer,映射到自动机层次结构。我认为他说transformer是……我认为在底部。是的,我认为RNN可以学习……
就像,你知道,计数语言。是的,是的,是的。但你也引用了Peng关于组合性和transformer的局限性。对,对。因为这肯定是正确的,当然。就像语言模型无法将“玛丽爱约翰”泛化到“玛丽爱简”。
因为它没有这种可逆性。所有东西都被分散到所有这些电路中,如果用更好的词来形容的话。是的,是的。我认为也有一些工作,例如,即使只是改变顺序……如果你要求语言模型解决一阶逻辑,就像……
蕴涵链。这些呈现给transformer的顺序,所以如果这种链以你输入它的顺序自然地呈现,会极大地影响你是否能够解决这类问题。所以是的,所有这些结果都指向
我们当前模型具有的相当糟糕的泛化习惯。那么,我们可以进行什么样的修改,你知道,实际的修改来克服这种表示的崩溃?我认为消失的梯度与这密切相关。这是某些东西,你知道,transformer在某种程度上是一种解决方案,你知道,就像
transformer在某种程度上在你发现RNN具有这种偏差后自然而然地出现。但随后我们指出,它们甚至以某种方式实现了这种偏差的因果机制。就像,我认为有一些关于拥有长序列的困难。就像你必须基本上获取大量信息,并试图将这些信息放入有限数量的位中,对吧?所以我认为
这是一个难题,最好的解决方案可能是找到压缩信息的方法,并以某种方式留下更少的信息,让你的技术只关心更少的事情,对吧?所以某种程度上,窗口注意力和这些过程
我认为在这方面是很有道理的。我的意思是,在你的骨子里,深深地在你骨子里,你是倾向于连接主义者,还是倾向于我们需要一种混合的神经符号方法?我非常喜欢混合方法,而且
实际上,最近,我认为也许……我的意思是,现在正在进行国际象棋世界锦标赛,实际上一些……Petter和一些其他……以及这些令人惊叹的研究人员,他们发布了Gemini中某种能够下国际象棋的组件。它实际上令人惊讶地强大,它仍然是一个语言模型。它确实有自己的……
专门的国际象棋组件,对吧?所以这是一个……
我认为这是一个非常有原则的方法。想象一下,你可以拥有你的基础语言模型,它实际上就像这个协调者,然后你可以拥有一个专门的数学单元或一个专门的国际象棋单元等等。你可以……理想情况下,你保持基础模型不变,你可以随时更换和改进你的国际象棋组件。对我来说,这听起来……
超级令人兴奋,我们知道它确实有效。在某种程度上,视觉语言模型,你知道,它们通常有一个专门的视觉组件,它们有一个专门的语言组件,所以我认为这是有效的,当然视觉语言模型以它们自己的方式进行训练,所以有点棘手,但对我来说这听起来非常好。就像某种程度上你有一系列token,这些token可以由非常专门的东西生成,但是你有一个
某种处理流的基础模型。但是这些token可以来自任何你想要的东西,基本上。它甚至可能不仅仅是……它可能是一个RNN或其他什么。如果你发现RNN更擅长计数,也许你可以将它们用作你的,你知道,数学组件或其他什么。
-还有什么权衡?我喜欢这种正式的方法,因为它可以给我们提供可解释的、在某种程度上稳健的、可验证的解决方案等等。但是当你将这些东西混合在一起时,当然很难实现学习。它在某种程度上受到
你设计的系统2组件的限制,如果你喜欢的话,所以没有干净简单的办法将它们组合在一起,我同意,我认为这就是我们目前不这样做的原因,这非常困难,我……我认为transformer有一些非常根本的局限性,就像目前一样,所以尝试使用其他模型也是有意义的,就像我
但是是的,这非常难做。也许一旦我们找到更好的方法,这就会变得容易得多。你对推理的定义是什么?我认为推理对我来说定义得很模糊。就像,我可以和你谈论长度泛化,我认为这是一种
推理的子组件。对我来说,推理只是一个非常广泛的概念,就像,我们关心泛化和稳健的泛化。但是然后有一些非常不同的……例如,如果你编写正确,计算机程序将任意好地泛化,我们可以证明它是完美的等等。
这是推理吗?我不确定。一个人……我的意思是,这……我认为这是一个很好的例子,就像,我相信是Numberphile。他们带了一群人,他们说,让我们计算π到……我不知道多少位,对吧?他们得到了很多很多人。他们花了一周时间做这件事。然后我认为第一次他们几乎……他们在中间某个地方犯了一个错误,对吧?而且,就像……
你知道,对我来说,这表明,这并不奇怪,在某种程度上,即使是人类的任务也在增长,我的意思是,我确定你知道如何排序一个数组或其他什么,但是就像祝你好运排序一个有
一百万位数字的数组,你知道,你可能会在某个地方犯错误,对吧?然后你就不再推理了吗?我不确定,对吧?所以存在这种奇怪的权衡,就像,是的,我们关心长度泛化,但我们不太擅长长度泛化,对吧?我们不擅长处理大量数据。所以也许如果我们只关心长度泛化,我们就不在推理。所以Sanjay有一种冗长的说法,我认为也许推理不是
定义得很好,但我们可以做一些定义明确的事情。我认为如果语言模型对推理的定义与人类不同是可以的,因为它们从根本上来说是计算机,对吧?它们建立在计算机上。所以计算机擅长人类不擅长的事情。这就是为什么我认为像计数等等应该可以做到,因为它们从根本上来说是计算机。所以我认为人类和机器的推理,它是
我们关心的是不同的东西,对吧?所以……Cholet这个周末要来。而且,你知道,他写了这篇关于智力测量的论文。他从未使用过“推理”这个词,这很有趣。今天早上我读到了一条推文。而且,你知道,所以他认为智力是知识获取效率。对,是的。对他来说,知识获取完全是关于这种创造性的、适应性的新颖性搜索。对。但他总是费尽心思地强调……
仅仅执行一项技能并不聪明,你也没有进行推理。所以国际象棋电脑没有推理。但AlphaGo在推理,或者我应该说AlphaZero。并且有一些关于创造性的东西。因为它实际上是在尝试一些东西,并且它正在获取创造者可能没有编程到系统中的新知识。我真的很喜欢国际象棋,对吧?我不理解这种比较,因为……
例如AlphaZero,或者……你知道,AlphaZero产生了一些计算机找不到的非常新颖的想法,例如,对吧?就像这种推动H兵等等,现在被特级大师一直使用,对吧?他们正在机械地做非常相似的事情。就像两者都基于这种树搜索的想法,两者都……
他们只是计算启发式方法的方式不同。例如,在Stockfish中,他们会……我不确定所有细节,但我理解的是,基本上很多人只是在那里加入了很多启发式方法,这些启发式方法可能以某种方式是从统计数据中提取出来的等等。你想让你的骑士平均不要超过这个。但是这些
人类的启发式方法只会使树搜索产生偏差,对吧?然后现在如果你在AlphaZero中没有这些人类的启发式方法,它会找到不同的东西。但这对我来说并不奇怪。而且某种程度上我认为将这种发现新颖的想法
不认为是创造性的,而是它只是使用一个与人类认为的……不一致的函数。甚至Stockfish也会找到完全疯狂的想法,但不知何故,事实上
仍然像某种程度上Stockfish中存在着AlphaZero中不存在的人为因素,我不确定,例如,如果你可以说人类下国际象棋是在推理,对吧?人类在思考一个位置时会不那么有条理,他们脑海中会出现很多动作,你甚至无法解释为什么,对吧?但是像计算机有时做树搜索
可以大致告诉你为什么,就像好吧,因为在深处,你知道。所以我并不确定我是否一定同意这种国际象棋的说法,但也许是因为我可能太沉迷于国际象棋了,然后就像我……但是是的,对我来说,是的,它就像你在引导
通过一个不是人类的启发式方法。然后它感觉很有创造力。我的意思是,如果我们要设计一个最佳智能推理系统,对我来说它会是什么样子?定义推理很重要,但我认为我只是希望它在某种程度上像一台计算机一样,因为它不会……
犯一些在某种程度上微不足道的错误。它不会犯神秘的或微不足道的错误,但它也不会犯概念性错误。对我来说,这正是这些语言模型比人类做得更好的地方。如果你能够利用它们是机器的事实,并且也能够利用我们可以使它们的行为或使它们像人类一样思考的事实,我认为这本质上是创造了一种超级强大的组合,这种组合
一个人类,对于人类来说是完全无法企及的。当我与Neil交谈时,我对Golden Gate Claude有点怀疑,对吧?所以它说……
“好的,取一个抽象特征。回到语料库。这里有所有最大程度地激活该特征的token。”对我来说,这看起来有点像关键字匹配方案。这就是我们有这种推理沙文主义的地方。我们认为当我们做事情时,这是推理,而当语言模型这样做时,这不是推理。
我认为推理的元组件非常重要。正如你所说,我们可以这样做树搜索,从功能的角度来看,它就像在进行推理,因为它找到了所有这些奇怪而奇妙的轨迹和模式,它正在进行推理。嘿,但是当我们进行推理时,我们正在观察现实世界中的抽象类比。所以我们说宇宙有这些模式,就像万花筒或知识的这种组合混合在一起等等。当我们看棋盘时,我们看到了与香蕉或其他东西的这种奇怪的类比。
我们正在进行这种多领域类比推理。这感觉像是非常有创造力的跳跃,所以我们称之为推理。但当我们看到计算机以一种简单的方式做到这一点时,我们认为这不是推理。这种推理的错觉来自于……人类非常擅长发现极其复杂的模式,这些模式是无法解释的。不知何故,这些跳跃……
推理。但是,我认为国际象棋是思考这个问题的一个好方法。例如,有一个非常著名的实验,你让
特级大师或其他非常强的棋手看一个棋局,然后尝试凭记忆背诵出来,对吧?所以你会看它,我不知道,20秒,然后拿一个新的棋盘,摆上所有的棋子,对吧?然后他们也让业余爱好者做这件事,特级大师们在
恢复这个棋局方面要好得多。但是,如果你给他们……这些棋局都来自比赛,对吧?这些是在下国际象棋时出现的棋局。相反,当他们给他们随机的棋局时,他们就一样了,对吧?所以特级大师们并不是极其……他们有疯狂的记忆力或其他什么。特级大师对世界的表示要压缩得多。
因为他们下过并见过许多国际象棋棋局,他们能够压缩结构,对吧?如果我的兵在f7、g6和h7上,主教在g7上,我已经进行了易位,你知道,这就像,我立刻认出这是一个 fianchetta,对吧?这就像,
现在是一件事了,对吧?这是,但对于从未下过国际象棋的人来说,他们对这种结构没有任何概念,对吧?或者说,我已经见过无数次西西里防御的兵结构了。我只是记得这是,或者这是从佩什尼科夫或其他什么地方出现的这个局面,对吧?现在这只是一个概念。这仅仅是因为我将更多的大脑用于压缩复杂的东西
看似嘈杂的信息,但实际上它并不嘈杂。我只是见过一万次的东西。是的,但问题是,感觉上,你知道,我们拥有所有这些经验,然后就是你所说的这种分散的概念形成。然后直觉不是推理,而是记忆,当然。但这并不是一个简单的案例,
有一天,一位国际象棋棋手灵光一闪,他们只是定义了这块新的知识,从那时起,他们就可以直觉地掌握这块知识了。这是一个非常分散的事情,你拥有所有这些不同的经验,并且,你知道,这个概念出现了。它可能以模因的形式发生,也可能分散在许多许多不同的人身上。是的,这在某种程度上是神奇的,对吧?这是人脑的神奇力量,对吧?那
你不知道为什么有一天你看到这个局面,你会想出一个你可能甚至没有考虑过的精彩的招数。但我认为我的意思是,这……只有当你有一个极其强大的压缩表示时才会发生。然后你可以……
以某种方式忽略噪声,你基本上拥有这为你提供了更多计算事物的能力,而无需考虑,哦,所有这些棋子都在这里,对吧?就像你只要看一眼就知道,你就可以用更清晰的表示来计算。然后,精彩的时刻就会出现。然后这些神奇的招数就会出现。你是否喜欢灵光一闪?
一旦你有了这种感觉,一切都很顺利,这就像你已经向上爬了一小步,就像你的理解一样。我认为
至少根据我的经验,这种时刻只会来一次。至少对人类来说,有很多事情,对吧?你需要很多事情才能正确地想出这些下一步。所以你需要非常专注于这项任务,然后你需要睡个好觉,然后你需要保持健康。然后你可以在某一天以更好的水平下棋,或者其他什么。你可以以更高的水平做一些事情
然后我认为这种积累逐渐积累成一种灵感时刻的序列,或者其他什么,然后像这样相互建立。但是,是的,这肯定不是你可以选择的东西,或者像……
除非你投入大量时间去做某事,我认为。卡尔·弗里斯顿对此有一个很好的说法。他称之为认知觅食。你知道,这有点像,你知道,随着时间的推移,我们只是发现了这些知识,而知识的云层也在不断增加。费德里科,很荣幸邀请你来到这里。非常感谢你。是的,非常感谢你。