ai, oneminuteread,

一分钟读论文:《长文本翻车怪长度?怪的是抢注意力的对手》

Unbug By Unbug Follow · 1 min read
一分钟读论文:《长文本翻车怪长度?怪的是抢注意力的对手》
Share this

加州大学圣迭戈分校(UC San Diego)的论文《Length Is Cheap, Competition Is Not》发现,长上下文检索翻车(context rot,上下文腐化)的元凶不是长度,而是争抢注意力的竞争信息:126,473 次试验中,准确率从 0.97 到 1.00 崩至 0.11 到 0.21。

竞争信息比长度更能预测长上下文检索失败:中性填充准确率不降,竞争陈述使准确率崩塌,注意力指标解释力远超长度

长文本本身不背锅

context rot 指上下文变长后,模型找回目标信息的能力下降。测试对象是五个 0.5B 到 3B 参数、来自四个家族的开源模型:Qwen2.5-0.5B-Instruct、Qwen2.5-1.5B-Instruct、SmolLM2-1.7B-Instruct、OLMo-2-0425-1B-Instruct 和基座 Llama-3.2-3B。任务为受控检索模拟:上下文中埋入一条含目标数值的陈述,再询问该键的值,正确答案即目标陈述中的数值;每轮随机化填充与目标的位置,排除位置记忆的影响。

把无关文本换成与证据同格式的陈述句、放在完全相同的位置,准确率跌到 0.11 到 0.21,而中性填充在 32K token 内准确率始终保持 0.97 到 1.00。位置、格式、长度都没变,仅内容从无关变成竞争,结果就翻转。需要限定的是,这是小参数量开源模型上的受控检索模拟结论,机制是注意力竞争,不能外推为所有大模型长文本能力全面下滑的现实断言;它说明的是,在检索这类任务里,长上下文失效有一条清晰可测的因果链。

对手数量决定损失

单个「竞争值」陈述——给被查询的键一个错误取值——能让损失放大 9 到 110 倍,每多一个对手再叠加。在 Qwen2.5-1.5B、2,048 token 下,竞争陈述数量从 0 到 6 个及以上时,信息损失依次为 0.03、1.37、2.24、2.48、2.71、3.26、3.45 nats(衡量模型偏离正确分布的程度,越大越糟)。按冲突有无分组统计:不含任何同键陈述的上下文损失 0.02 到 0.34 nats,含至少一条的上下文损失 1.38 到 3.24 nats;无冲突上下文准确率 0.97 到 1.00,含冲突的样本准确率只有 0.25 到 0.52。也就是说,翻车不取决于上下文字符多少,而取决于其中埋了几个抢同一个键的对手。

注意力质量是先行指标

解释变量是证据 token 上残余的注意力质量 a*,即模型分配给目标陈述那几行的注意力份额,论文用 log(1/a*) 把它换算成损失量纲。126,473 次试验中,log(1/a*) 解释损失方差的 35% 到 58%,上下文长度的对数只解释 2% 到 8%,差距在 8K 到 32K token 全程存在。换句话说,想知道一条检索会不会失败,盯注意力分布比盯上下文长度有效得多。在 Qwen2.5-1.5B 上,损失在 a* 跌破约 0.35 前近乎为零,随后陡增,说明存在一个可操作的健康阈值。

Masking 实验拆穿长度归因

此前不少「长上下文退化」的结论,靠的是遮蔽(masking)填充文本——把填充盖住后,上下文在模型眼里其实并没有变长,却把性能下降记在长度头上。复现 Du et al. 的遮蔽协议,30K 遮蔽 token 让 Llama-3.2-3B 与 Qwen2.5-7B 的 MMLU 准确率下降 11 到 18 个百分点;检索任务里 32K token 遮蔽同样吃掉 46 个百分点准确率,而完整可见的同一填充分毫不损。遮蔽破坏的是注意力读数,长度本身无罪。论文已放出 probe 与 126,473 次试验数据(开源仓库)。

这套「注意力竞争」解释与站内早前《智能体学会主动清空记忆》的上下文管理思路互补:前者诊断脏上下文为何让检索失效,后者解决任务中途如何主动清空它;对做检索增强和智能体 memory 的工程实践,含义是控制同键冲突条数比控制总长度更关键。

References


Related
Featured