
这项由南开大学、百度公司、上海交通大学联合开展的研究,以预印本形式于2026年5月发布,论文编号为arXiv:2605.14589,感兴趣的读者可通过该编号查阅完整原文。
你有没有遇到过这样的情况:给AI助手发了一篇很长的文章,让它帮你总结,结果它只记住了前面一小段,后面的内容完全忽略了?或者让它帮你分析一份几十页的合同,它却搞混了前后文的内容?这种"记性不好"的问题,其实是目前大多数AI语言模型都面临的一个根本性困难。
这篇论文要解决的,正是这个让人头疼的问题。
一、AI的"短期记忆"困境
要理解这个问题,可以把AI语言模型想象成一个阅读能力有限的助手。这位助手经过了大量训练,能够理解和生成语言,但他的"工作桌"只有固定大小——一次只能摊开并处理一定长度的文字。这个"桌子大小",在技术上叫做"上下文窗口"。
大多数主流AI模型的上下文窗口,大约在几千到几万个词的范围内。超出这个范围的内容,模型就看不到了,自然也就无法理解和处理。对于需要阅读长篇法律文件、学术论文、代码库或是完整小说的任务来说,这个限制是个实实在在的障碍。
那为什么不直接把这个"桌子"做大呢?这正是问题所在。扩大上下文窗口,通常意味着需要用更长的文本来重新训练模型。而训练AI处理长文本,对计算资源的消耗是惊人的——因为AI在处理文本时,计算量会随着文本长度的平方增长。也就是说,文本长度翻倍,计算量变成原来的四倍;长度变成十倍,计算量就变成一百倍。这让长文本训练变得极其昂贵,甚至对许多研究团队来说根本负担不起。
这项研究的核心问题就是:有没有办法让AI学会处理长文本,却不需要真的用长文本去训练它?
二、一个关键的位置编码问题
要理解这项研究的解决思路,需要先了解一个基础概念:AI模型是怎么知道"哪个词在前,哪个词在后"的?
在人类阅读中,我们天然知道文字的顺序——因为我们从左到右、从上到下地阅读。但AI模型在处理文本时,本质上是在做大规模的数学计算,它并不像人类那样"逐字读取"。为了让模型理解词语的顺序和位置,研究人员给每个词都附上了一个"位置编码"——相当于给每个词贴上了一个位置标签,告诉模型"这是第1个词"、"这是第100个词"、"这是第5000个词"等等。
目前最主流的位置编码方式叫做RoPE(旋转位置编码,Rotary Position Embedding),它的工作原理有点像音乐中的音调:不同位置的词,被赋予了不同频率的"旋转角度",两个词之间的位置关系,就体现在它们旋转角度的差值上。模型学会了"当两个词的位置差是某个值时,它们之间应该建立什么样的关联"。
问题来了:如果模型在训练时只见过长度为8000个词的文本,那么它学到的"位置差"最大也就是8000左右。当你突然给它一篇64000个词的文本时,出现了远超8000的位置差,模型就懵了——它从来没见过这么大的数字,不知道该怎么处理,表现自然就会出问题。
这就像一个人从小生活在只有三层楼的城市,突然让他去操作一栋百层高楼的电梯——按钮的数字已经超出了他的经验范围,他自然会手足无措。
一种常见的解决方案叫做"位置插值"(Position Interpolation,简称PI)。它的做法是把所有的位置编号按比例压缩,比如原来是第64000个词,就把它的位置编号除以8,变成第8000个位置的"感觉"。这样模型看到的所有位置编号都还在它熟悉的范围内。但这种方法也有缺点:位置被压缩后,原来挨得很近的词在编码上也挤在了一起,模型区分局部位置关系的能力就会下降。而且,即便用了位置插值,通常还是需要在长文本上做额外训练,才能让模型真正适应新的位置范围。
三、"终点锚点"的灵感从何而来
这项研究的核心洞察,来自于一个简单却不直觉的观察:让模型学会处理远距离的位置关系,并不一定需要真的给它看完整的长文本。
回到刚才的电梯比喻。如果你想训练一个从没见过高楼的人操作百层大厦的电梯,你真的需要带他到每一层楼都走一遍吗?也许不需要。你只需要让他熟悉一楼附近的几层,然后再带他去顶楼看一看,让他理解"最高处是什么感觉"——中间那些楼层,凭借他的学习能力和对规律的理解,他可以自己推断出来。
EndPrompt方法的逻辑正是如此。研究团队提出了一种非常巧妙的训练数据构造方式:取一段普通的短文本(比如8000个词以内),保持它完整不动,然后在它后面附加一小段"终止提示词"。关键的创意在于:这段终止提示词虽然物理上紧跟在短文本后面,但它被赋予的位置编号,却是目标长度(比如64000)末尾附近的数字。
这样做的结果是什么?整个训练文本的物理长度仍然很短(只有8000多个词),完全在原有的内存和计算限制之内。但在位置编码的层面,模型同时看到了两种距离关系:短文本内部的"近距离"位置关系(词与词之间差几个到几千个位置),以及短文本最后几个词与"终止提示词"之间的"超远距离"关系(位置差高达55000到64000)。
换句话说,研究团队用一个很短的训练样本,同时教会了模型"近距离长什么样"和"超远距离长什么样",而中间那些从未直接见过的距离,则依赖模型自身对位置规律的推断能力来填补。
四、为什么模型能"举一反三"填补中间的空白
这里有一个关键问题需要解释:为什么模型见过"近距离"和"超远距离",就能正确处理"中等距离"?这不是理所当然的——毕竟,你见过1楼和100楼,不一定就会操作50楼的电梯。
这项研究的理论分析给出了令人信服的解释,而且这个解释相当优雅。
前面提到,RoPE位置编码的工作原理类似于音乐中的音调——两个词之间的注意力分数(可以理解为"这两个词有多相关"),是一系列不同频率的余弦波叠加的结果,波的振幅由词的内容决定,波的频率由位置决定。当使用位置插值(PI)时,所有的频率都按比例降低了。
频率降低意味着什么?在音乐上,降低频率就是降调——原来音调变化很快的歌,现在变化变慢了,更加平缓。在位置编码上,降低频率意味着注意力分数随位置变化的速度变慢了,曲线变得更加"平滑"。
一个平滑的函数有一个非常好的性质:如果你知道它在某些点上的值,你对它在其他点上的值的估计就会比较准确,因为它不会在短距离内急剧波动。这在数学上可以用一个叫做伯恩斯坦不等式的工具来严格证明:位置插值后的注意力函数,其变化速度和曲率都受到了严格的上限约束。
还有第二个原因同样重要:Transformer模型(AI语言模型的核心架构)并不会为每个位置距离都学习独立的参数。恰恰相反,处理"近距离"和"超远距离"的,是完全相同的一套参数——同样的查询矩阵(Query)和键矩阵(Key)。这意味着,当你用近距离和超远距离的训练信号同时约束这套参数时,它们对于中间距离的表现也会被间接约束住,不会乱来。
用一个生动的比喻来说:这就像训练一个厨师,你只教他做一道超简单的菜(近距离,短文本内部)和一道超复杂的菜(远距离,终止提示词与短文本之间),但他用的是同一套基本厨艺技巧。这套技巧一旦被同时从简单和复杂两端约束住,中等难度的菜自然也能做得不错。
五、方法的具体实现细节
理解了核心原理,再来看看实际操作的细节,就会发现研究团队在工程层面也做了很多细致的考量。
训练数据的构造过程可以描述如下:取一段长度约为8000个词的短文本,保持它完整不变(这是关键——不能把它切开,切开会破坏文本内部的语义连贯性)。然后选择一小段"终止提示词",附加在短文本后面。接下来,给短文本的每个词分配正常的位置编号(从0到7999),给终止提示词的每个词分配目标长度末尾的位置编号(比如,如果目标是64000,终止提示词有50个词,就分配63950到63999这些编号)。最后,在这个构造好的序列上进行正常的语言模型训练。
终止提示词的内容是什么?研究团队测试了三种不同的版本:一种是明确的语言提示,内容是"这是文本的结尾,请注意这里";另一种是LLaMA-3模型原生的特殊结束标记;第三种极其简短,仅仅是"End."这个词。令人意外的是,这三种差异很大的提示词,最终得到的模型效果差别非常小。这说明终止提示词的效果并不来自于它的具体内容,而是来自于它所处的位置——在位置编号空间中靠近目标长度末端的位置,为模型提供了一个稳定的"远端锚点"。
在训练目标方面,研究团队采用了标准的自回归语言模型训练方式,也就是让模型逐词预测下一个词。不过,终止提示词部分的训练损失被赋予了较小但不为零的权重。这样做的目的是:既不让模型把精力过多地花在记忆提示词内容上,又不完全切断提示词与原始文本之间的长距离注意力信号——毕竟,正是这些长距离的注意力交互,才是整个方法能够工作的关键。
训练时,位置插值的缩放比例自然地设置为目标长度除以原始训练长度,即64000÷8000=8。这意味着所有位置编号在进入模型之前都被除以8,落回模型原本熟悉的范围之内。
六、实验结果:数字背后的故事
研究团队在LLaMA系列模型(包括LLaMA-2 7B和LLaMA-3 8B)上进行了系统的实验,将上下文窗口从8000个词扩展到64000个词,训练数据量为10亿个词。
评测主要使用了两个专业基准测试。RULER是一个专门测试模型在不同长度上下文中信息检索能力的合成测试集,包含各种难度的"大海捞针"任务(在大量无关文字中找到一段特定信息)、多针检索、变量追踪等任务。LongBench则是一个更贴近实际应用的多任务测试集,涵盖了单文档问答、多文档问答、文本摘要、少样本学习、合成任务和代码补全等六大类任务。
在RULER测试中,EndPrompt(ET)取得了76.03的平均分,而另外三个对比方法的成绩分别是:LCEG(一种专门研究长上下文扩展的方法)72.24分,LongLoRA(使用稀疏注意力机制的参数高效微调方法)72.95分,以及直接在64000词长文本上进行完整微调的基线方法69.23分。
这个结果本身就足够令人意外了:一个从未见过完整长文本的方法,不仅超过了所有其他高效方法,还超过了用完整长文本训练的"正规军"。
在LongBench测试中,EndPrompt同样取得了最高的平均分38.30,超过了LCEG的36.61、LongLoRA的36.84和完整微调的35.63。在具体子任务上,EndPrompt在代码补全任务上的优势尤为突出,得分66.48,而LCEG和LongLoRA都只有45到47分左右,差距超过20分。在少样本学习(Few-Shot Learning)任务上,EndPrompt得分68.04,对比方法平均约61分。单文档问答、多文档问答和文本摘要三个任务上,EndPrompt也均排名第一。
在详细的按长度分析中可以看到,随着测试文本长度增加,各方法之间的差距会进一步扩大。在4000词和8000词的短文本上,各方法表现相对接近,大家都还在"舒适区"内。但当测试长度达到32000词时,EndPrompt的优势开始明显显现;到64000词时,差距进一步拉大,而完整微调方法在这个长度上的表现甚至不如其他方法,这可能是因为完整微调的训练过程本身耗尽了更多资源,反而影响了模型的整体质量。
在最具挑战性的任务上,EndPrompt的韧性更加明显。比如Vt(变量追踪)任务,EndPrompt得82分,LongLoRA只有65.7分;Fwe(高频词提取)任务,EndPrompt得83.53分,LongLoRA只有58.17分。这些任务要求模型在超长文本中追踪和整合跨越整个上下文的信息,正是EndPrompt最擅长的场景。
七、资源消耗:更省钱、更省时
除了效果好,EndPrompt在资源消耗上的优势同样显著,这也是研究团队特别强调的一点。
在内存占用方面,扩展到64000词的上下文时,EndPrompt只需要36.52GB的显存,而完整微调需要76GB,几乎是前者的两倍还多。考虑到目前主流GPU的显存容量(比如顶级的NVIDIA A100/A800也只有80GB),这个差距非常关键——完整微调在很多硬件配置下根本无法运行,或者需要更多卡并行;而EndPrompt可以在更小的硬件上完成。
在训练时间方面,EndPrompt的速度是完整微调的1.41倍,是LongLoRA的1.69倍,是LCEG的1.77倍。也就是说,同样的时间内,EndPrompt能处理比其他方法多41%到77%的训练数据。
把效果和资源消耗放在一起看,结论就更加清晰了:EndPrompt不是在"用更多资源换更好效果",而是在"用更少资源实现更好效果"。这种两全其美的结果,在机器学习研究中并不常见。
八、扩展实验:这个方法到底有多通用?
研究团队还进行了大量扩展实验,以验证方法在不同场景下的稳定性。
首先是对不同基础模型的测试。除了主实验中使用的LLaMA-3 8B,研究团队还在Mistral-7B-v0.3和LLaMA-2 7B上测试了EndPrompt。Mistral-7B-v0.3在RULER上得到68.39分,LongBench上37.29分;LLaMA-2 7B则分别得到45.82分和31.16分。这些数字比LLaMA-3 8B的主实验结果低,但研究团队认为这主要是基础模型本身质量的差异,而非方法的问题。值得注意的是,LLaMA-2本身是一个较老的模型,其基础能力就相对弱一些。这说明EndPrompt的效果上限,受到基础模型质量的制约,但作为一种扩展上下文的方法,它对不同模型架构都能稳定工作。
其次是对不同目标长度的测试。研究团队不仅测试了64000词的扩展,还测试了32000词、96000词和128000词。在RULER测试中,32000词扩展得到78.36分,96000词得到76.11分,128000词得到72.82分。在LongBench上,这三个配置分别得到36.45、36.88和35.68分。可以看到,随着目标长度增加,性能有所下降,但下降幅度并不剧烈——即便扩展到128000词(相当于一本中等长度小说的字数),性能仍然维持在相对较高的水平,没有出现崩溃式的下降。
对训练数据量的测试也显示了良好的可扩展性。从5亿词的训练数据增加到20亿词时,RULER平均分从74.72小幅提升到75.61,LongBench从37.85提升到37.86。提升幅度虽然不大,但方向是稳定的,说明增加数据量确实有益,且方法没有在较小数据量下就过拟合或饱和。
九、与其他方法的兼容性:1+1>2
EndPrompt并非孤立地与其他方法对立,研究团队还测试了将其与PoSE(Positional Skip-Embedding,位置跳跃嵌入)方法结合使用的效果。PoSE是另一种通过操控位置编码来扩展上下文的方法,它的做法是把一段文本切成多个块,然后给这些块分配跳跃式的位置编号来模拟长距离。
把EndPrompt和PoSE结合起来(研究团队称之为ET(PoSE)),在LongBench上得到了39.65分,RULER上得到79.44分,都高于单独使用任何一种方法的最好成绩。这种兼容性表明,EndPrompt提供的"终端锚点"式的位置监督,与PoSE提供的"跳跃式分布"位置监督,是互补而非冲突的,两者结合能覆盖更多类型的位置距离模式。
十、扩展后的短文本能力能否恢复?
一个自然的担忧是:经过长上下文扩展训练后,模型是否会"忘记"原本处理短文本的能力?研究团队为此进行了专门的测试。
在GSM8K(数学推理)、HumanEval(代码生成)、MMLU(多任务语言理解)和HellaSwag(常识推理)这四个标准短文本测试集上,刚刚完成长上下文扩展训练的模型,性能确实会出现一定程度的下降。这是一个已知的共性问题,各种长上下文扩展方法都会遇到,本质上是模型在适应新的位置分布时,对原有能力产生了干扰。
解决方案是在长上下文扩展训练完成后,再进行一轮短文本的监督微调(SFT)。经过这一步恢复训练,EndPrompt+PoSE组合(sft_ET(PoSE))在四个短文本测试集上取得了53.56的平均分,高于完整微调(50.98)、LongLoRA(48.64)、LCEG(49.74)和单独PoSE(52.32)。标准EndPrompt(sft_ET)取得52.41分,同样超过了完整微调。
研究团队认为,EndPrompt在短文本能力恢复上的优势,部分来自于它保留了原始文本的语义完整性。PoSE方法会把训练文本切开,这会破坏文本内部的语义结构,导致短文本能力恢复更困难。EndPrompt不切割原始文本,只是在后面附加一个提示词,保留了短文本中所有的语义依赖关系,因此短文本能力更容易通过微调恢复。
说到底,这项研究颠覆了一个在AI长上下文扩展领域长期存在的"常识":要让模型学会处理长文本,必须用长文本来训练它。这个假设听起来很合理,但这批来自南开大学、百度和上海交通大学的研究者证明,它并不成立——至少在基于旋转位置编码的模型上,它是可以被打破的。
他们的核心发现是:位置信息的学习,是可以稀疏的。你不需要让模型见过每一个可能的距离,只需要让它见过两端——近距离和超远距离——再借助位置插值带来的平滑性质和模型参数共享的内在约束,中间的部分就可以由模型自己推断。这种"两端锚定,中间外推"的思路,不仅在实验中取得了超越传统方法的效果,而且在理论上有严格的数学分析支撑。
对于普通用户来说,这项研究意味着:未来的AI助手可以在更低的成本下获得更强的长文本处理能力,处理一份完整的合同、一本书、一个代码库,不再是遥不可及的奢望。对于研究者和开发者来说,这打开了一个新的设计思路:与其想方设法用更多的长文本来训练模型,不如思考如何设计更有效的"位置监督信号"来引导模型的学习。
对于好奇这项研究更多细节的读者,可以通过arXiv编号2605.14589查阅完整论文,代码也已在GitHub上公开。
Q&A
Q1:EndPrompt方法训练时实际用的是多长的文本?
A:EndPrompt训练时实际使用的是最长8000个词左右的短文本,物理长度没有增加。关键在于,附加在短文本后面的终止提示词被赋予了靠近目标长度(如64000)末尾的位置编号,让模型在短文本内同时接触到"近距离"和"超远距离"的位置信号,而不需要真正处理64000词长度的序列。
Q2:EndPrompt的终止提示词内容重要吗,换成别的词会不会失效?
A:实验结果显示,终止提示词的具体内容并不重要。研究团队测试了三种差异很大的版本——一句完整的提示语、模型原生的结束标记、以及仅仅一个"End."——三者效果差别极小。这说明起作用的是终止提示词在位置编号空间中的"远端锚点"位置,而不是它的文字含义。
Q3:长上下文扩展训练之后模型会不会变笨,短文本任务是否变差?
A:会有一定程度的短文本性能下降,这是各种长上下文扩展方法的共同问题。但通过在扩展训练完成后进行一轮短文本监督微调,性能可以完全恢复,而且EndPrompt恢复后的短文本成绩(平均53.56分)甚至高于直接用长文本完整微调的方法(50.98分)。
好文章,需要你的鼓励
AWS AI Labs研究团队发布EvalAgent,这是一套通过"评估技能"自动生成AI智能体评测方案的系统,将首次运行成功率从17.5%提升至65%,并在人类专家评测中获得79.5%的偏好选择。
亚历山大大学提出M2Retinexformer,通过融合深度、亮度和语义三种辅助模态,让AI在增强暗光图像时兼顾几何结构与视觉自然度。
浙大、西湖大学等联合提出FAAST,无需反向传播,一次正向扫描将训练样本压缩为快速权重矩阵,推理时间和内存占用分别节省90%和95%以上。
慕尼黑工业大学发布RealICU基准,用专家后见之明评测大语言模型在ICU实时决策中的真实能力,发现现有顶级AI存在有害推荐率过高和锚定偏差两大安全隐患。