AI大模型是怎么"想好"下一个词该说什么的
(来源:科技行者)
你有没有想过一个问题:当你跟ChatGPT聊天时,它说出的每一个字,到底是怎么"算出来"的?
表面上看,这事很简单:模型读了你的问题,经过一堆神经网络层的计算,最后输出一个词。但这个过程中,模型内部究竟发生了什么,它是什么时候"知道"自己要说哪个词的,一直是个黑箱问题。来自卢森堡大学和伦敦数学科学研究所的几位研究者,想用一种挺巧妙的办法把这个黑箱撬开一条缝。
**残差流**:Transformer模型内部有一条贯穿所有层的"信息高速公路",每一层计算完都会往这条路上叠加一点新信息,这条路就叫残差流。模型最终的输出,就是看这条路走到终点时,信息变成了什么样子。
他们的做法是这样的:拿六个主流的预训练语言模型(包括Gemma、Qwen、Mistral、Llama这些),让每个模型处理一千多段文字,然后记录下每段文字在模型内部每一层的"状态",以及最终那一层的"终点状态"。接着,他们把所有这些"终点状态"收集起来,组成一个大大的数据库。这样一来,对于任何一个中间层的状态,都可以拿它去跟这个数据库里成千上万个终点比一比:你离自己该去的那个终点有多近?离别人的终点又有多近?
这个设计思路其实藏着一个很朴素的想法。想象你在一座陌生城市里打车去某个地方,司机开车的每一分钟,你都可以问一句"我们现在离目的地还有多远"。但光问这一句是不够的,因为即使你在往目的地靠近,路上可能经过的岔路口旁边还停着无数辆车,这些车代表着"原本也可能去的其他地方"。真正重要的问题其实是:在这些岔路口,你的车是不是已经明显比那些开往别处的车更接近你真正要去的地方。这篇论文做的,就是把语言模型生成文字的过程,也当成一次"开车去目的地"的旅程来追踪,而且还要盯着路上那些"竞争对手"。
核心问题:早有偏好,却没有把握
研究者发现的第一个现象挺有意思:在六个模型里,几乎从最早测量到的那一层开始,模型内部状态与自己最终要去的终点之间的平均距离,就已经比和其他所有终点的平均距离要近了。
这听起来像是个好消息,模型从一开始就"心里有数"。但紧跟着的第二个发现给这个乐观情绪泼了点冷水:尽管平均距离占优,但在五个模型里,Euclidean距离下居然还有成百上千个"终点"比自己真正该去的那个终点更近。
**竞争者集合**:对于模型内部某一层的状态,如果某个其他上下文的最终状态比自己真正要到达的终点更近,这个其他终点就被算作一个竞争者,所有竞争者组成的集合就叫竞争者集合。
这个矛盾现象用前面打车的比喻来说就很好理解了:你的车确实在往目的地方向开,平均来看你离目的地比离随机一个陌生地点要近,但路上同时还有几百辆车,每一辆都比你更接近目的地。你是在往前走没错,但远远谈不上"遥遥领先"。如果没有这个竞争者集合的统计,我们可能只看平均距离就得出"模型很早就确定答案了"这种过于乐观的结论,而实际情况要复杂得多,模型在很长一段路程里都还面临着大量的"潜在干扰项"。
竞争者集合会怎么变化:是净化还是洗牌
那么这些竞争者是怎么消失的?研究者原本设想了两种可能。第一种,是"优胜劣汰式"的净化:一旦某个终点被排除出竞争者名单,它就永远出局了,集合只会越变越小越变越干净。第二种,是"你方唱罢我登场"式的洗牌:有些终点退出了,但同时又有新的终点加入进来,集合的身份在不断变化。
这两种情况听起来结果差不多(集合都在缩小),但背后反映的计算过程完全不同。研究者用了一个叫Jaccard重叠度的指标来检验,结果发现在余弦距离的度量下,很多模型(尤其是Qwen2.5-1.5B)表现出持续的"进进出出",并不是单纯的净化过程。
**余弦距离**:衡量两个向量方向是否一致的指标,只关心方向不关心长度,两个向量方向完全一样时余弦距离为0。
**Euclidean距离**:就是我们平时理解的"直线距离",既受方向影响也受长度(也就是向量的"大小")影响。
这个发现其实挺反常识的。按照直觉,模型应该是越往后计算越"确定",排除掉的候选答案不应该再杀回来。但实际情况是,某个在第5层已经被淘汰的终点,到了第10层又可能重新变得有竞争力。这就像你开车导航时,中途经过一个加油站,一开始系统觉得去加油站不如去你的目的地近,但后来路况变化,系统又重新把加油站标记成了"也许更顺路的选择",虽然最终你还是去了原定目的地,但这个判断过程本身是有反复的。研究者还证明了一个数学定理:如果模型内部状态是严格沿直线走向终点的(也就是没有任何"绕路"),那么竞争者集合只会是单调收缩、不会有新成员加入的。所以,一旦观察到有新竞争者进入,这就直接证明了模型的计算路径绝不是简单的直线逼近,而是存在某种"曲线绕行"或者"回头修正"的轨迹。
方向对齐在变好,直线距离却纹丝不动
另一个让人意外的现象是:有时候方向上的对齐程度(余弦距离)在明显改善,但欧几里得距离几乎不变,这种"原地踏步"的现象在Mistral-7B和Llama-3-8B的中间层特别明显。
研究者给出了一个数学解释,关键在于欧几里得距离同时取决于两样东西:方向对齐程度和向量的长度(也就是"模长")。如果方向在变好的同时,向量的长度也在同步拉长,两者的效果可能正好抵消,导致表面上看起来距离毫无进展。
这就好比你在爬一座螺旋楼梯,虽然你一直在往楼梯中心的方向转,角度上越来越对准目标,但楼梯本身也在往上升,你和目标(楼梯顶端正中心那一点)之间的直线距离可能一直没怎么变化。如果只看"直线距离"这一个指标,你会误判为自己根本没有进展,但实际上你的方向判断一直在稳步校准。这正是为什么研究者坚持要同时用两种度量方式去看同一个过程,因为单独看任何一个指标都可能被误导。
高维空间里的"一点点倾斜"是怎么引发剧烈反应的
接下来研究者搭了一个简化的数学模型,用来解释一个更深层的问题:为什么只是方向上"稍微倾斜"一点点,就能让竞争者数量产生断崖式的下降?
他们把每个终点和中间状态都拆分成两部分:一部分是所有终点共享的公共方向,另一部分是在垂直于这个公共方向的高维空间里随机散布的方向。这个高维空间的维度越高,一个随机向量和某个固定方向"恰好对齐"的概率就越低,这是高维几何里一个很反直觉但很常见的性质。
**von Mises–Fisher分布**:一种专门用来描述"球面上的方向数据往某个中心方向聚拢"的概率分布,可以简单理解成球面版的正态分布。
数学推导表明,竞争者数量的期望值,和对齐程度之间不是线性关系,而是呈现出一种"阈值效应":当对齐程度还很小的时候,竞争者比例几乎没有变化,保持在接近一半的水平;但一旦对齐程度跨过某个临界点,竞争者比例会急剧跌落好几个数量级。这个现象可以用抽奖打个比方:假设你买彩票中奖概率本来是50%,随着你手里的"幸运值"一点点增加,中奖概率一开始几乎没什么变化,但越过某个阈值后,概率会突然从接近50%跳到接近0%。如果不理解这个非线性机制,你可能会觉得"模型的方向调整进展很慢",但实际上模型可能已经非常接近那个临界点了,只是还没跨过去,表面上看不出明显变化,一旦跨过去就会出现断崖式的净化效果。
终点的分布形状,能不能提前"猜中"竞争激烈程度
既然竞争者数量这么依赖"其他终点都分布在哪里",那一个自然的问题是:我们能不能只凭终点的几何分布,不看具体的推理轨迹,就预测出竞争会有多激烈?
为了回答这个问题,研究者尝试了五种不同的数学模型去拟合终点在高维空间里的分布形状。最简单的是均匀球面分布,假设所有终点毫无规律地散布在球面上;稍微复杂一点的是球冠模型和单峰的von Mises–Fisher分布,这两种都假设终点会围绕某一个"主导方向"聚拢;更复杂的是多峰的von Mises–Fisher混合模型,允许存在好几个聚拢中心;最后一种叫投影正态分布,通过对高斯分布做归一化处理,能够捕捉更复杂的各向异性结构。
**各向异性**:指一个分布在不同方向上表现出不同的形态或密度,不是一个简单对称的球形,而是有的方向密集有的方向稀疏。
研究者只用模型最终层的终点数据去拟合这五种分布,完全不看中间推理过程,然后拿拟合出来的分布去预测在没见过的新句子上,竞争者比例会是什么样。结果显示,投影正态模型在六个模型里的五个上表现最准,vMF混合模型在剩下那一个(Gemma-7B)上略胜一筹,这两种复杂模型都明显比"假设终点均匀分布在球面上"这种简单假设要准得多。
这说明了一件挺重要的事:竞争的激烈程度并不只取决于模型"走了多远",还取决于终点本身在空间里是怎么分布的。这就好比预测一场演唱会门票的抢票难度,不能只看你手速多快(对应模型推理的进展),还得看总共有多少人在抢同一批票、这些人的分布是扎堆在几个粉丝群还是散落各处(对应终点的几何分布)。如果不考虑后者,光靠前者去预测,结果会和真实情况差很远。
预测的越少越说明问题重要:更可能的词离得更近
还有一个发现挺直观地把这套几何框架和模型实际说出来的话联系了起来。研究者统计发现,在六个模型里,排名越靠后(也就是模型认为越不可能是下一个词)的输出所对应的终点,和当前上下文真正的终点之间的余弦距离往往越远。
换句话说,模型更有信心说出来的那个词,它所对应的那类"终点状态",在几何空间里离得更近;模型越不确定、排得越靠后的候选词,对应的终点就离得越远。这个关联在统计检验上非常显著,六个模型里有四个的Spearman相关系数都超过0.7。
这个发现挺关键的,它说明残差流里的几何距离不是凭空测量出来的一个数字,而是真的和模型最终"说什么话"这件事绑定在一起的。打个比方,如果你在一个大型图书馆里按主题找书,同一个主题的书通常会摆得很近,越偏离主题的书摆得越远。这里的"终点几何距离"就相当于书架上的物理距离,而"模型认为某个词有多大概率"就相当于这本书跟你要找的主题有多相关。两者虽然衡量的是完全不同的东西(一个是空间位置,一个是概率排序),但却呈现出清晰的正相关,这说明这套几何框架确实触及到了模型内部真正在"思考"的东西,而不只是一种统计巧合。
竞争者集合变小不代表大家挤得更紧
最后还有一个容易被误解的地方,研究者专门用一个精确构造的数学例子来澄清。竞争者数量变少,和"剩下的竞争者彼此之间变得更相似、更抱团",是完全不同的两件事。
论文里给出了一个具体的几何例子:在一个简单的二维场景里,沿着一条直线路径移动,确实会导致竞争者数量从三个减少到两个,但与此同时,剩下这两个竞争者之间的平均距离反而从原来的三者平均距离增大了。也就是说,数量减少了,但剩下的这些"对手"反而变得更分散了,并没有变得更扎堆。
这就像一场淘汰赛,淘汰到只剩两个选手,并不意味着这两个选手打法很像、水平接近,他们完全可能是风格迥异的两个人,只是恰好都撑到了最后。如果不做这个区分,很容易产生一种错觉,以为"竞争者变少"等同于"剩下的选项越来越像",但数学上这两件事根本不是一回事,研究者特意强调不能从数量减少去推断集中度的变化,这是一种很审慎的治学态度。
| 研究维度 | 观察到的现象 | 涉及模型表现 |
| 平均偏好出现时机 | 几乎从最早测量层就出现正向偏好 | 六个模型全部一致 |
| 竞争者数量规模 | Euclidean距离下长期维持数百个竞争者 | 五个模型出现该现象 |
| 竞争者身份变化 | 余弦距离下存在持续的进入与退出 | **Qwen2.5-1.5B表现最突出** |
| 分布预测准确性 | 投影正态模型误差最小 | 六个模型中五个由该模型胜出 |
| 词排名与距离关联 | 排名越低词对应终点越远 | 六个模型中四个统计显著性极强 |
论文还做了几个控制实验,排除掉一些"偷懒"的解释。比如他们试过去掉和查询语句属于同一篇文档的那些终点,结果早期偏好现象几乎没有变化,说明这不是因为"刚好都在聊同一件事"导致的虚假相似。他们还试过只比较那些以相同"最后一个输入词"结尾的上下文,结果发现确实共享输入词的上下文之间相似度更高,但即使在这个更严格的对照组里,模型对自己真正该去的终点依然表现出偏好,只是幅度小一些。这说明模型展现出的这种"早期方向感",既有一部分来自表面的词汇重复,但也确实有一部分来自对整段上下文含义更深层的把握。
写在后面
读完这篇论文,我最大的感受是,这帮研究者其实是在做一件挺较真的事:他们没有满足于"模型很早就知道答案"这种笼统的说法,而是非要把"知道"这个词拆解成至少三种不同的几何指标,分别去验证。平均距离、竞争者数量、竞争者身份的稳定性,这三样东西在直觉上听起来像是同一回事的三种说法,但论文反复证明它们其实会各自讲出不同的故事,有时候甚至互相矛盾。这种不满足于单一指标、非要交叉验证的劲头,倒是给我一个提醒:很多时候我们对"AI是怎么工作的"这件事的理解,可能都停留在选了一个方便测量的指标就下结论的阶段,而真实的计算过程比这复杂得多。
另外一个让我印象很深的细节,是论文里那个关于"直线路径必然导致竞争者集合只收缩不扩张"的数学证明。这个证明本身不难,但它提供了一把很好用的尺子:只要在真实模型里观察到竞争者"死而复生",就立刻能断定模型内部的计算轨迹不是一条直线。这种"用简单情形的数学性质去反推复杂系统是否偏离简单情形"的思路,其实在很多领域都适用,物理学里判断一个系统是否处于平衡态,经济学里判断市场是否有效,用的都是类似的逻辑:先证明理想情况下该有什么性质,再看现实数据是否违反这个性质。
这篇论文也坦诚地留了一个大问题没解决:这些几何竞争关系,到底是不是模型真正做出决策的原因,还是仅仅是决策结果的一个伴随现象?论文里特意强调,观察到的这种"进进出出"并不等于证明了模型内部存在某种显式的"候选项搜索"机制。这个问题其实挺耐人寻味的,如果未来有人真的能在某个竞争者即将被淘汰的那个临界点上做一次人为干预,看看是否能够真的改变模型最终输出的词,那才算是真正把这把"几何的尺子"和"决策的因果"连接起来了。
Q&A
Q1:残差流竞争者集合是什么意思?
A:在Transformer模型内部每一层的状态里,如果某个其他上下文的最终输出状态比自己真正该到达的终点更接近当前状态,这个其他终点就被算作一个竞争者,所有竞争者组成的集合就是竞争者集合,数量越少说明模型越确定自己的方向。
Q2:为什么欧几里得距离不变但模型方向对齐却在变好?
A:因为欧几里得距离同时受方向和向量长度两个因素影响,如果方向在改善的同时向量长度也在同步变化,两者效果可能互相抵消,导致表面距离没有变化,但余弦距离(只看方向)能单独捕捉到这种进步。
Q3:投影正态分布模型在预测竞争者数量上有什么优势?
A:相比简单的均匀球面假设,投影正态分布能更好地捕捉终点在高维空间里各向异性的聚拢形态,在六个被测试的语言模型中有五个上预测误差最小,说明终点的真实分布形状对预测竞争激烈程度很关键。