想象一下这个场景:你在读一本厚厚的小说,读到第四千页,突然有个朋友接手要替你继续读下去写读后感。正常情况下,他得从头开始把四千页全部看一遍,才能明白故事的来龙去脉。但如果有一种办法,能让你把自己脑子里对这本书的全部理解,直接"拷贝"进朋友的脑子里,他不用翻书,直接就能接着写,这会不会太科幻了?
这正是一篇最近的论文在做的事情。研究者管这个思路叫LatentPort,他们做的不是让两个AI互相"聊天"交换信息,而是让一个更小的AI模型把自己处理长文本后留下的"记忆状态",直接搬到另一个更大的AI模型里,让大模型不用重新阅读那份长文本,就能接着往下预测和续写。
这事听起来简单,做起来却踩了不少坑。我们先从头说起。
为什么这事以前没人做成过
现在主流的大语言模型在处理长文本时,脑子里会攒一堆东西。
最常见的是KV缓存
*KV缓存:模型在阅读文本时,会给每个词生成一对"键"和"值",存起来方便后续查询和注意力计算,这是标准Transformer模型处理长上下文的核心机制。*
前几年已经有团队研究过怎么把一个模型的KV缓存"翻译"给另一个模型用,省得重复读一遍原文。这条路走得还不错,有好几篇论文都做出了不同程度的成果。
但问题在于,现在很多新一代模型已经不是纯粹靠KV缓存工作的了。它们用了一种叫混合架构的设计,一部分层是传统的全注意力机制,负责精确记住每个词的位置和内容;另一部分层则用了一种叫Gated DeltaNet的循环网络结构,简称GDN。
*Gated DeltaNet(GDN):一种融合了门控遗忘机制和增量更新规则的循环记忆模块,它不像KV缓存那样把每个词都单独存下来,而是把信息压缩进一组不断迭代更新的矩阵里,还会额外保留一段"卷积历史"作为局部记忆。*
这就麻烦了。GDN层里存的东西不是一个词一个词的记录,而是一堆经过压缩、迭代、门控运算之后的矩阵和缓冲区,这些数字对模型来说到底意味着什么,外人完全看不懂。以前的研究只顾着搬KV缓存,把GDN这部分"压缩记忆"直接扔掉了,等于说只带了半本笔记本去接班。
这就是这篇论文要解决的核心问题:GDN里的这些循环矩阵和卷积历史,能不能也搬到另一个模型里,而且不仅是搬到同一个模型的另一次对话里,是搬到一个完全不同、参数量差了一倍还多的模型里?
实验对象:一对"体型悬殊"的兄弟模型
研究者选了Qwen3.5系列里的两个模型做实验,一个是40亿参数的4B版本,一个是90亿参数的9B版本。
这两个模型是同一个系列训练出来的"兄弟",隐藏层宽度不一样,4B是2560维,9B是4096维,参数量差了一倍还多。但有一件事非常凑巧:它们的GDN记忆结构,也就是循环矩阵和卷积缓冲区的形状规格,完全一致。都是32个头、每个头128×128的循环矩阵,卷积历史都是8192×4的规格。
这就好比两个人身高体重差很多,但他们用的是同一款汽车模型的钥匙孔和点火系统接口,钥匙插进去至少物理上是对得上的,至于插进去车能不能正常打着火,那是另一回事。形状匹配只是让"拷贝"这个动作在技术上可行,并不代表拷贝过去就一定管用。研究者自己也在论文里反复强调这一点:几何形状相同解释了为什么可以复制,但不解释为什么复制之后会有用。
第一步:先证明GDN记忆真的有价值
研究者做的第一个实验,是想搞清楚一件事:如果只搬KV缓存,不管GDN那部分记忆,效果差多少?如果把GDN那部分也加上,又能改善多少?
他们用了64本PG19数据集里的书籍作为测试材料,每本书先让4B模型读4096个词作为"历史前缀",然后测试9B模型在接手之后,预测接下来64个词的准确程度。这里用的衡量指标叫负对数似然
*负对数似然(NLL):模型对正确答案打出的概率越高,这个值就越小,是衡量语言模型预测准确度最常用的指标,单位是"每个词的信息量损失"(nats/token),数值越低说明模型预测得越准。*
结果发现,只搬KV缓存效果很差,NLL是3.115,几乎跟完全没有历史记忆的空白9B模型(3.246)差不多。这说明单纯搬运KV缓存,对于这种混合架构模型来说,基本没什么用,绝大部分有用的信息其实压根不在KV里。
而一旦把GDN的循环矩阵和卷积历史也加进去,NLL直接降到2.368,足足降低了0.747。更关键的是,这64篇测试文档,每一篇都得到了改善,没有一篇是例外。这说明这个效果不是运气,是稳定可复现的。
如果类比成搬家,KV缓存相当于你搬走了家具,GDN记忆相当于你搬走了墙上贴的便签纸和抽屉里的笔记本。乍一看便签纸不起眼,但恰恰是这些便签纸记录了"我读到哪儿了、这个人物的性格是什么、伏笔埋在哪里"这些真正影响后续理解的关键信息。如果不搬这些便签纸,你搬进新家之后虽然有沙发有床,但完全不知道昨天晚饭吃到一半在想什么。
第二步:翻译还是直接照搬,哪个更好
既然GDN记忆有用,接下来的问题是:怎么把4B模型的GDN记忆"翻译"成9B模型能读懂的格式?
按照直觉,两个模型隐藏层维度不一样(2560对4096),肯定不能直接硬塞,得想办法做一个"翻译器",把4B的记忆矩阵映射到9B的空间里。研究者确实训练了这样的翻译器,用岭回归的方法给注意力的键值对、GDN的循环矩阵、卷积缓冲区分别拟合映射函数。
但结果出乎意料:直接把4B的循环矩阵和卷积历史原封不动地复制过去,效果反而比经过学习翻译之后的效果更好。
具体数字是这样的:翻译后的循环状态NLL是2.368,直接复制的是2.291,直接复制反而低了0.077。研究者还做了一个更细致的对照实验,专门测试翻译和直接复制在KV、循环矩阵、卷积历史三个组件上各自的效果,发现翻译循环状态这个操作,平均反而会让NLL上升0.028,是往坏的方向走的。
这个结果挺反直觉的。因为研究者同时也测量了"翻译器复原原始张量的误差",发现学习出来的翻译器在数值重建精度上其实是更准的,从0.673降到0.504。但数值重建更准,不代表模型用起来效果更好。这说明单纯让数字更接近原始值这件事,跟这两个模型之间"功能上"能不能对上话,是两码事。
这里有个很生活化的类比:假设你要把一份手写笔记转录给另一个人看,你可以选择逐字逐句翻译成对方的语言(这是学习翻译器的做法),也可以选择直接把原始笔记原封不动地递过去,让对方自己去理解(这是直接复制的做法)。如果两个人共享某种底层的默契或者训练背景,直接递过去反而可能比刻意翻译更准确,因为翻译的过程本身可能引入了额外的失真,就像同声传译有时候会丢失掉说话人语气里的微妙信息一样。研究者的解释是,这对兄弟模型可能共享了某种"功能坐标系",也就是说尽管两个模型宽度不同,但它们处理信息的底层逻辑框架可能是相通的,直接复制反而保留了这种底层默契,而学习翻译器则可能在拟合数值误差的过程中,无意间破坏了这种默契。
最终,经过一个由8种组合方式构成的对照实验,研究者选出了最佳方案:KV缓存做翻译,循环矩阵和卷积历史直接复制,这个组合被称为TDD方案。
第三步:再加一点点"矫正",效果直接反超
选出TDD方案之后,研究者又做了一件很聪明的事:给这套系统加了一个很小的矫正模块。
这个矫正模块的设计思路是"锚定在恒等变换附近",意思是矫正模块一开始什么都不做,输出就是原封不动的输入,然后通过训练,让它学会做一些微调,方向是让9B模型的输出概率分布,尽量逼近9B模型自己读完整篇原文之后本该产生的分布。这个训练过程用的损失函数叫JS散度
*Jensen–Shannon(JS)散度:一种衡量两个概率分布之间差异程度的指标,数值为0表示两个分布完全相同,数值越大说明差异越大,这里用来衡量矫正后的模型输出和"真正读过原文的9B模型"输出之间的接近程度。*
这个矫正模块总共只有43万4176个可训练参数,序列化之后占1.9MB的存储空间,跟9B模型本身几十亿的参数量比起来,几乎可以忽略不计。
效果却很显著。矫正之后,NLL从2.018降到1.989,跟真正读过原文的9B模型相比,只高出0.076。研究者还专门设计了一个指标叫"原生上下文恢复率"
*原生上下文恢复率(NCR):衡量接手的模型,相对于完全没有任何历史记忆的空白状态,恢复了多少"读过原文"所带来的性能提升,1代表完全恢复,这不是准确率,而是一种"收益恢复比例"。*
矫正后的模型NCR达到0.918,意味着恢复了91.8%的"读过原文"带来的好处。
更有说服力的对比是,矫正后的9B模型,效果显著超过了"让4B模型自己接着读原文继续生成"这种做法,NLL低了0.052,而且这个改善在95%置信区间下是稳健的,不是偶然波动。
也就是说,一个从来没看过那4000多个词的9B模型,靠着"继承"过来的记忆状态,预测接下来的内容居然比那个真正读过全文的4B模型还准。这就好比一个刚接班的新员工,虽然没读过前任留下的四千页工作日志,但靠着前任交接时留下的一份精心整理的工作状态快照,处理起后续任务来,居然比让前任自己继续干还靠谱,前提是这个新员工本身能力更强,只是缺一份"进入状态"的钥匙。如果没有这份状态快照,新员工就得从零开始摸索,效率会大打折扣。
研究者没有回避的短板
这篇论文有一个挺难得的地方,就是作者非常坦诚地列出了这个方法目前没做到的事情,甚至专门设置了两道"门槛"来检验自己的成果,一道叫全状态交接门槛,一道叫接近原生门槛,要求更严格。
结果是,矫正后的方案通过了第一道门槛,但没通过第二道更严格的门槛。具体来说,接近原生门槛要求NLL差距不超过0.05,NCR不低于0.95,前十预测准确率不低于0.90,而实际结果分别是0.076、0.918、0.864,三项全部没达标。因为没通过这道更严的门槛,原本设计好的一个16K更长上下文的实验分支,直接就没有跑。
研究者还专门做了一个"错误捐赠者"对照实验,把状态数据打乱,换成另一篇完全不相关文档的记忆状态塞给9B模型,结果NLL直接飙到3.178,比什么都不给的空白状态还差。这个对照组的意义在于证明,前面看到的所有改善,确实来自于"正确的、对应这篇文档的记忆状态",而不是随便给点什么数据模型都能蒙对。这也说明这套系统不是靠某种通用的"启动信号"生效的,它确实在利用具体文档相关的信息。
论文里也明确写了,这次实验只验证了一个方向(从小模型到大模型),一对模型(4B到9B),而且用的是需要"教师强制"的续写测试,也就是每一步都给模型看正确答案再预测下一步,这和真正的自由生成是两回事。自由生成的时候,模型自己的预测误差会一步步累积,会不会因为记忆状态里的微小误差被放大成完全跑偏的输出,这篇论文没有验证。研究者自己都说,这是接下来最需要优先测试的方向之一。
这背后还有一层更大的想象空间
论文的讨论部分提出了一个挺有意思的猜想:如果模型家族在训练的时候就刻意设计成"记忆几何结构兼容"的样子,是不是可以专门打造出一套跨模型的记忆接口,让不同大小的模型之间可以随时切换,就像操作系统里定义好的一套标准接口一样?
这个设想目前还只是一个方向,论文里明确说了,这次实验既没有证明这样的接口普遍存在,也没有证明它可以被真正工程化实现,只是"这事值得去试"。
写在后面
读完这篇论文,最让我意外的反而不是"跨模型记忆迁移成功了"这个结论本身,而是那个"学习翻译器反而不如直接复制"的实验结果。
这其实是个挺值得琢磨的现象。我们通常默认的直觉是,越精细的定制化方案效果应该越好,花了力气去训练一个专门的映射网络,理应比简单粗暴的复制粘贴更聪明。但这篇论文用扎实的数据打破了这个默认预期:翻译器在数值重建上确实更准,但在实际"让接手的模型表现更好"这件事上却输给了直接复制。
这提醒我一件事:衡量一个AI系统组件好不好用,光看它拟合数据的精度是不够的,还得看它在真实任务链条里跑起来到底管不管用。数值精度和功能有效性之间,中间隔着一层没人能完全说清楚的东西,这篇论文管它叫"功能兼容性",但这个词本身其实也只是给这层迷雾贴了个标签,真正的机制是什么,论文并没有讲透,这大概也是这个方向未来最值得深挖的地方。
另外一个让我一直在想的问题是,如果这套机制真的可以扩展到自由生成场景,会不会催生出一种全新的模型协作方式:小模型负责快速阅读和消化长文本,攒出一份"状态快照",大模型专门负责高质量的推理和生成,两者靠状态交接分工合作,而不是让大模型从头到尾自己扛下所有的长上下文处理开销。这听起来有点像人类团队里的"预研员"和"决策者"分工,一个人负责啃资料做笔记,另一个人拿着笔记直接做判断。如果这个分工模式真的能跑通,对整个大模型的推理成本可能会是一次不小的松动。
只是眼下,这扇门才刚被推开一条缝。
Q&A
Q1:LatentPort是什么?
A:LatentPort是一种让小型语言模型把自己处理长文本后的循环记忆状态,直接迁移给另一个更大规模模型的技术,接收方不需要重新阅读原始文本就能继续推理,论文用Qwen3.5的4B和9B模型做了验证。
Q2:为什么只搬KV缓存效果不好?
A:因为像GDN这种混合架构模型,真正压缩了长文本关键信息的其实是循环矩阵和卷积历史这部分记忆,只搬KV缓存相当于漏掉了大部分有用信息,实验显示只加KV缓存的效果几乎和完全没有历史记忆一样差。
Q3:直接复制记忆和学习翻译映射哪个效果更好?
A:论文实验发现直接复制GDN的循环矩阵和卷积历史,效果反而好于专门训练一个翻译映射网络,尽管翻译器在数值重建精度上更准,但实际使用效果不如直接复制,这说明数值精度和功能有效性并不完全对应。







