当前位置: 首页 » 资讯 » 科技头条 » 正文

伊利诺伊大学等机构发现:AI大模型的"位置感知"正在悄悄失灵

IP属地 中国·北京 科技行者 时间:2026-05-27 18:26:57


这项由美国伊利诺伊大学厄巴纳-香槟分校、德国波恩大学、美国阿贡国家实验室以及亚马逊AGI团队联合开展的研究,以预印本形式于2026年5月发表,论文编号为arXiv:2605.15514。研究团队从理论层面系统揭示了当前几乎所有主流AI大语言模型所依赖的一种关键机制——旋转位置编码(RoPE)——在处理长文本时存在无法回避的先天性缺陷。

当你打开手机上的AI助手,询问它一篇几千字长文的关键内容,或者让它帮你梳理一段复杂对话时,你可能从未想过:这个AI其实并不总能分清"第一段说了什么"和"最后一段说了什么",甚至有时候,它根本搞不清楚两个词谁先出现、谁后出现。这听起来有些荒谬,毕竟AI号称能处理几十万、甚至上百万个词的超长上下文。但这项研究用严格的数学证明告诉我们:这种混乱,不是工程师偷懒,而是这套机制本身就注定会走向崩溃。

一、一位迷路的向导:为什么AI需要"位置感"

要理解这项研究,先得弄清楚一件事:AI在阅读文字时,天生是"位置盲"的。

普通的注意力机制(Transformer,也就是ChatGPT、LLaMA等几乎所有大模型的核心结构)在处理一段文字时,本质上是把所有词一股脑地丢进一个大锅里搅拌,并不天然区分哪个词在前、哪个词在后。"猫追狗"和"狗追猫"在它看来可能是一回事。为了让AI能感知词序,工程师们发明了一种叫做"位置编码"的技术,相当于给每个词贴上一张标有"我在第几个位置"的标签。

在众多位置编码方案里,旋转位置编码(RoPE,Rotary Positional Embedding)脱颖而出,成为当今几乎所有顶级大模型的标配——包括Meta的LLaMA系列、Mistral、Qwen、DeepSeek等等。RoPE的设计思路相当聪明:它不是直接给每个词标上一个绝对的位置序号,而是通过数学上的"旋转"操作,让AI在比较两个词的相关性时,自动感知到它们之间的相对距离。

更妙的是,RoPE还天然具备一种"近强远弱"的特性,也就是说,距离越近的词,彼此影响越强;距离越远,影响越弱。这种特性和人类语言的习惯高度吻合——毕竟,"猫喝牛奶"这句话里,"猫"和"喝"的关联远比"猫"和三页后某个毫不相关的词要紧密得多。正因如此,RoPE被视为一种优雅而有效的设计。

然而,这项研究提出了一个令人不安的问题:当文章越来越长,这位本该尽职的"位置向导"是否还能保持清醒?

二、注意力的数学本质:一首会失控的余弦乐章

在深入探讨失灵机制之前,有必要用一个直观的方式理解RoPE的工作原理。

当AI在阅读一段文字时,每个词都会被转化成一种叫做"向量"的数学对象——你可以把它理解为一个方向各异的箭头,代表这个词的语义特征。AI判断两个词是否相关,本质上就是计算这两个箭头的"契合度"(即数学上的点积)。RoPE的作用是:在计算这种契合度之前,先根据两个词之间的距离,把各自的箭头旋转一个特定的角度。距离越远,旋转越多,导致两个箭头的方向越来越不一致,契合度自然就降低——这就是"近强远弱"的来源。

研究团队把这个经过旋转操作后的契合度称为"RoPE乘积",用数学公式表达出来,它是一系列余弦函数的加和:有些余弦函数振荡得很快(高频分量),有些振荡得很慢(低频分量)。高频分量负责区分近距离的不同位置,就像高分辨率的摄像头能看清近处的细节;低频分量则负责整体上的"近强远弱"衰减趋势,就像远处的景物看起来模糊但仍能判断大概方向。

这项研究的核心数学洞见在于:当你把整段文字里所有可能的距离都考虑进来,这个RoPE乘积的行为模式,在统计意义上,非常接近于一个正态分布(钟形曲线)的随机变量。换句话说,随着文章变长,RoPE乘积的均值会下降(衰减效应),而它的波动幅度(方差)会增大(振荡效应)。这个洞见,成为后续所有理论证明的基石。

三、第一个裂缝:AI开始分不清"近"和"远"

有了这个理论工具,研究团队首先检验的是:RoPE真的能保持"近强远弱"吗?

以一个具体场景为例:你让AI回答"爱丽丝养了什么宠物?"这个问题。文章里某处写着"爱丽丝有一只猫",这句话距离问题很近。同时,文章另一处距离问题很远的地方也出现了"猫"这个词。在理想情况下,AI应该对近处的"猫"给予更高的关注度(注意力分数),而对远处那个不相关的"猫"给予较低的分数。

然而研究团队证明:随着文章长度的增加,AI把更高注意力分数分配给远处"猫"的概率,会逐渐逼近50%——相当于掷硬币猜正反面。这就是他们所说的"位置反转"现象。

为什么会这样?回到前面那个正态分布的比喻。随着文章越来越长,RoPE乘积的波动幅度急剧增大,就像一首原本旋律有规律的曲子,随着音符越来越多,开始变得嘈杂刺耳、毫无规律可循。在这种情况下,"近处得高分、远处得低分"这个原本清晰的规律,被淹没在越来越剧烈的随机波动之中。

研究团队进一步估算了这个概率与文章长度的关系。以RoPE的常用基础参数(Base值为10000)为例,当文章长度达到约4630个词时,位置反转的概率就已经超过30%;而对于当今许多号称支持128K(12.8万个词)超长上下文的模型所使用的更大Base值,情况反而更糟——位置反转的概率会以更快的速度趋向50%。

他们在LLaMA 3.1-8B这个真实模型上进行了实验验证。当"猫"这个词从距离问题很近的位置,被移动到整个128K文章的不同位置时,AI给它打的注意力分数呈现出一条奇特的曲线:在大约前5万个词的距离内,分数确实在整体下降;但超过这个范围之后,分数竟然开始回升,甚至出现整体上升的趋势,同时伴随着剧烈的上下振荡。这意味着,一个距离问题10万词远的"猫",在AI眼中竟然可能比距离只有100词的"猫"更受关注。

四、第二个裂缝:AI开始把不同位置当成同一个位置

位置反转已经够麻烦的了,但研究团队发现的第二个问题更加直接:AI会把两个不同的位置,看成完全相同的位置。

这就是他们命名的"位置混叠"现象。设想一座楼里有很多个房间,每个房间都有一个门牌号。"位置混叠"相当于:房间101和房间537,贴着完全相同的门牌号。你站在走廊里,根本没法分辨自己该进哪扇门。

用数学语言来说,就是对于同一对查询词和关键词,在两个不同距离m1和m2上,AI计算出的注意力分数完全相同(即RoPE乘积相等)。这意味着,即使把关键词从一个位置移动到另一个位置,AI对它的关注度丝毫不变——位置信息彻底失效了。

这种现象在实际模型中有多普遍?研究团队在LLaMA 3.1-8B上进行了统计。仅仅在8000个词的上下文范围内,使用BF16(大模型常用的数值精度格式)进行计算,"猫"这个词就拥有超过77000对位置混叠——也就是说,有77000对不同的距离组合,AI给出了完全相同的注意力分数。而且这些混叠对均匀分布在整个8000词的范围内,并不局限于相邻位置,呈现出大面积的系统性混乱。

这种混叠还会引发一个更严重的连锁反应:如果两个不同的词(比如"猫"和"狗"),恰好分别处于两个互为混叠的位置,那么把这两个词对调,AI的输出结果会完全不变。图1中那个直观的例子展示了这一点:爱丽丝旁边放了一只"狗",鲍勃旁边放了一只"猫",但当这两只动物的位置互换时,AI对"爱丽丝养什么宠物"这个问题的注意力权重竟然毫无变化。这意味着,AI实际上并不知道是谁养了猫、谁养了狗。

五、第三个裂缝:AI开始分不清哪个词更相关

位置方面的问题还没说完,研究团队又把目光转向了另一个核心能力:AI能不能正确判断,哪个词与当前问题最相关?

以同一个场景为例。对于"宠物"这个问题,"猫"应该比"数字"更相关——这一点,AI在词的初始状态(距离为零,即RoPE未旋转任何角度)时是能判断正确的。但随着这两个词被放置在文章中不同的位置,它们的相关性排名会发生颠倒:在某些距离上,"数字"反而比"猫"得到更高的注意力分数。这就是研究团队所说的"词元反转"现象。

更令人担忧的是,这种颠倒发生得非常快。实验数据显示,仅仅在距离不到10个词的位置,AI就已经开始把"数字"排在"猫"前面了。而当距离超过约2万个词时,正确排名和错误排名出现的频率几乎相等,概率同样趋向50%——又回到了抛硬币的水平。

词元反转和位置反转的区别在于:位置反转说的是"同一个词在不同位置得到的分数乱了套",而词元反转说的是"两个不同词之间的相关性排名乱了套"。两者共同说明,RoPE在长文本中既失去了对位置的感知能力,也失去了对内容相关性的稳定判断。

六、第四个裂缝:AI开始把不同的词当成同一个词

最后一个失灵模式,是位置混叠的镜像版本:不是两个不同位置产生相同的分数,而是两个不同的词在同一个位置产生相同的分数。

这就是"词元混叠"。它意味着:对于同一个问题(查询词),在文章的某个特定位置上,把"猫"替换成完全不同的词,AI给出的注意力分数一点儿都不变。换言之,AI在那个位置上,对"猫"和另一个词完全无法区分——它们在AI眼中是同一件东西。

研究团队给出了一个量化估算:当使用BF16精度、模型的注意力头维度为64时,在32000词的上下文中,大约有5%的位置会发生词元混叠。换算成绝对数字,就是1600个位置上,替换关键词对AI来说毫无差别。在实际的LLaMA 3.1-8B模型上,"猫"和"狗"这两个词,在128K的上下文中也出现了大量的词元混叠位置,其概率收敛到大约0.05左右,与理论预测高度吻合。

七、调高基础参数能救场吗?两难困境中的无解选择

发现了这四种失灵模式后,一个自然的问题是:工程师们有没有办法修补这些问题?

当前业界最常用的"修补"方法,是调高RoPE的一个关键参数,叫做"Base值"(基础频率参数)。这个参数在RoPE最初设计时被设为10000,而当今许多长上下文模型已经把它调高到了数十万甚至数百万。这种调整直觉上有道理:Base值越大,低频分量的振荡就越慢,衰减就发生得越晚,模型能"认清位置"的范围就越大。

然而,研究团队的分析揭示了一个根本性的两难困境:调高Base值这把"药",治一种病的同时,必然加重另一种病。

具体来说,增大Base值确实能缓解词元反转和词元混叠(也就是让AI更好地区分不同词的相关性),但代价是使位置反转和位置混叠问题变得更严重(也就是让AI更加分不清不同位置的区别)。反过来,降低Base值则会改善位置识别,但牺牲词元识别。

这不是一个可以通过"取中间值"解决的问题——两个目标从数学结构上就是相互对立的。就好比一把尺子,你想让它在短距离测量时更精确,就必然牺牲它在长距离测量时的刻度密度;想让长距离更清晰,就必须接受短距离的模糊。对于任何给定的RoPE Base值,都存在一个"最大有效上下文长度",超过这个长度,四种失灵模式中至少会有一种以足够高的频率发生,使得注意力机制的可靠性严重受损。

研究团队专门制作了一个汇总表格,清晰地展示了随着文章长度和Base值的增减,这四种失灵模式各自如何变化。这个表格的核心信息只有一句话:无论如何调整参数,都无法同时让四种失灵都消失。

八、现实检验:那些号称"百万上下文"的大模型,真的靠谱吗?

理论分析之后,研究团队转向了一个更直接的问题:这些问题在实际运行的大模型里,真实情况是什么样的?

他们设计了一个极为简洁的测试任务:给模型一个只包含0、1、2、3这四个数字的列表(比如[1, 0, 3, 2, 1, ...]),然后问它:第k个位置的数字是什么?这是一个纯粹考验"位置识别"的任务,因为任何一个数字本身都没有特别的语义含义,模型不能靠"猜哪个词更相关"来蒙混过关,必须真正定位到正确的位置才能回答正确。由于只有4个可能的答案,随机猜测的准确率是25%。

他们测试了六个不同规模的开源大模型,包括三个中小型模型(LLaMA-3.1-8B、Mistral-7B-v0.3、Qwen3-8B,参数量均在70亿至80亿之间)和三个超大型模型(DeepSeek-V3.1、Kimi-K2.5、gpt-oss-120b,参数量均超过1000亿)。这些模型的"官方宣传"上下文长度从数万到数十万词不等。

结果相当令人震惊。所有六个模型在列表较短时(几十到几百个词)都表现出接近完美的准确率。但随着列表变长,准确率迅速崩溃,几乎所有模型在列表长度达到约4000个词时,准确率就已经跌落到接近25%的随机猜测水平——哪怕是那些号称支持上百万词上下文的超大模型,也没能幸免。

这个结果与理论分析形成了直接的呼应:这些模型在日常的文本检索任务(如"大海捞针"测试,即在长文中找到一句特定的话)中表现可能还不错,但那类任务主要考察的是"找到正确的词"(词元识别),而不是"找到正确的位置"(位置识别)。由于增大Base值会用牺牲位置识别来换取词元识别,这些针对检索任务优化过的模型,恰恰在位置识别上最为脆弱。

九、多个头、多层结构能弥补这些缺陷吗?

面对上面的实验结果,有人可能会说:真实的大模型不只有一个注意力头,它们有几十个甚至上百个注意力头,堆叠几十层,也许多个头的协同工作能弥补单个头的失灵?

研究团队在论文的附录部分对这个问题进行了讨论,虽然他们坦承没有对多头多层结构进行完整的理论证明,但给出了若干有说服力的推理。

首先,不同的注意力头高度专业化,各司其职,处理不同范围和类型的文本依赖关系,而且在任何给定时刻,真正活跃参与信息检索的头通常只有少数几个。以一个50%位置反转概率的极端场景为例,假设32个注意力头中有8个正在同时进行位置敏感的检索(这已经是远高于通常观测值的比例),那么平均每250个词,就会遇到一次"所有检索头同时发生位置反转"的时刻——一次就足以导致错误的输出。

其次,多层结构之间由于存在"残差连接"(一种让信息绕过某层直接传递到下一层的设计),早期层的错误会被一路携带到最终层,而不会在传递过程中得到纠正。如果在最终层的某个注意力头发生了位置混叠,导致两个词的位置完全无法区分,这个错误会直接影响输出的词元,没有任何后续机制能够修正。

最根本的是,随着上下文长度增加,振荡幅度越来越大、衰减越来越弱,这两种效应对所有头、所有层都是普遍适用的物理规律,不会因为有更多的头或更深的网络而神奇地消失。实验结果中,上百亿参数的超大模型与七八十亿参数的中型模型在这个任务上的失灵模式几乎如出一辙,也印证了这一点。

十、这意味着什么:一个关于AI长文本的清醒认识

归根结底,这项研究传递的核心信息是:当前主流AI大模型处理长文本的能力,存在一个由底层机制决定的上限,而这个上限比厂商宣传的数字要低得多。

这不是说今天的大模型一无是处。对于短到中等长度的文本(几千词以内),RoPE工作得相当好,位置识别和词元识别都足够可靠。问题在于,当文本变长,这两种能力不可避免地开始退化,而且调整参数只能做取舍,无法两全。

更值得关注的是,这种退化发生的时间节点,远早于厂商声称的上下文长度。一个宣称支持128K词上下文的模型,在4K词的位置识别任务上就已经接近随机猜测了。这意味着,那些宣传数字更多反映的是"在特定类型任务(如检索)上不崩溃的最大长度",而非"能可靠执行所有类型任务的有效长度"。

对于普通用户来说,这意味着当你让AI总结一篇超长报告、追踪一段复杂对话中每个人说了什么、或者在一份冗长文件中精确定位某条信息时,AI实际上可能已经在悄悄混淆位置和内容。它给出的答案听起来自信满满,实则可能建立在混乱的位置感知之上。

研究团队最后指出,真正解决这个问题,可能需要的不是对RoPE参数的进一步调优,而是从头设计全新的位置编码机制——一种能够在很长的文本中同时保持位置识别和词元识别能力的机制。这是一个尚未解决的开放问题,也是这个领域下一阶段最值得攻克的核心挑战之一。他们也提到了一些替代方向值得关注:改进上下文管理策略,以及引入递归式或智能体式的语言模型架构,这些思路虽然没有直接解决RoPE的内在缺陷,但代表了一种"在约束条件下寻找出路"的务实态度。

有兴趣深入了解数学证明细节的读者,可以通过arXiv编号2605.15514查找完整论文,论文中包含了四种失灵模式的严格定理陈述、证明过程,以及详细的实验设置说明。

Q&A

Q1:旋转位置编码(RoPE)在长文本中为什么会失效?

A:RoPE的工作原理依赖于不同频率的余弦函数叠加来区分位置。随着文本变长,高频分量的振荡幅度急剧增大,把原本清晰的"近强远弱"规律淹没在随机波动中,导致注意力分数变得和随机猜测差不多,无法稳定区分近处和远处的词,位置感知能力因此逐渐崩溃。

Q2:增大RoPE的Base参数能解决长文本问题吗?

A:不能从根本上解决。增大Base值能改善模型区分不同词语相关性(词元识别)的能力,但同时会让模型区分不同位置(位置识别)的能力变得更差。这两个目标在数学上是对立的,调大参数只是在两种失灵之间做取舍,无法同时避免。

Q3:普通用户使用AI助手时,这些缺陷会有什么实际影响?

A:当你让AI处理超过几千词的长文档时,它可能已经在悄悄混淆位置信息。例如询问"第几段说了什么""某人说过什么话"这类需要精确定位的问题,AI的回答可能是基于错误的位置判断,听起来自信但实际上可能指向了文中完全不同的内容。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。