Token导航 LogoToken导航

AI 资讯 · 科技行者

HLA:AI记忆开始看人下菜碟

更新 2026-11-04科技行者正文 6246字阅读约 20分钟

你有没有试过,在一本五百页的书里找一句话?

好记性的人会这么干:先想这句话大概在前三分之一还是后三分之一,再翻到那附近,一页页扫。但如果你的记性不是"记住每个字",而是"把每一章读完就压缩成一句话摘要",麻烦就来了。你压缩的时候根本不知道后面会有人来问你什么问题,所以摘要可能恰好把关键细节给丢了。等真正要用的时候,那句话已经被你自己的摘要过程悄悄删掉了。

这其实就是现在一大类高效AI模型正在面临的处境。这篇论文要讲的,就是怎么给这种"先压缩再回忆"的AI,补上一个能够临场应变的检索能力。

**当AI选择"健忘"来换取速度**

先说说背景。

现在主流的大语言模型处理长文本,靠的是一种叫 Softmax注意力 的机制。

> Softmax注意力:模型在生成每个词的时候,会把之前看过的所有内容都拿出来逐一比对,算出每个位置的重要程度,再加权整合。这种机制很精确,但代价是,文本越长,需要存的"参照系"(专业说法叫KV缓存)就越大,显存消耗跟文本长度成正比往上涨。

这就好比你每说一句话之前,都要把这辈子的记忆全部摊开重新看一遍,找出和当前话题相关的部分。准确是准确,但费脑子,而且文本一长,这个"摊开重看"的成本会爆炸式增长。

于是有人想了个办法:线性注意力。

> 线性注意力:不再保存每个历史词的完整记录,而是把所有历史信息实时压缩进一个固定大小的"状态矩阵"里,这个矩阵的大小不会随文本变长而变大。

这个思路很聪明,就像你不再把每天的日记都留着,而是每天睡前把当天的事提炼成一句话更新进一个"人生总结"里。总结本不会越写越厚,读起来也快。但问题也在这儿:如果某天发生了一件对三个月后极其关键的小事,而你当时没意识到它重要,提炼总结的时候很可能就把它压扁、冲淡,甚至直接丢了。等三个月后真正需要用到它的时候,翻遍"人生总结"也找不回来了。

论文开头就用实验数据证实了这个担忧不是空想。

在一个叫GLA的线性注意力模型里,研究者往一段四千字的文本最开始藏了一条关键信息(这种测试手法在业内叫"大海捞针"),然后观察这条信息对最终答案的影响力随着文本变长会发生什么。结果是,影响力呈指数级衰减,最远处的信息贡献度比最近处的信息低了上千倍。换到更先进的GDN模型上,情况好一些,但依然触目惊心:早期信息在穿过后续的记忆更新链条后,贡献度衰减了94.7%,几乎十个单位里丢了九个半。

**如果换个方式存记忆会怎样**

GDN这个模型本身已经比早期的线性注意力聪明不少。

> GDN(Gated DeltaNet):一种带有"门控"和"删除规则"的线性注意力架构,可以根据内容主动决定要不要遗忘某段历史信息,而不是一股脑全部混在一起。

但即便如此,GDN仍然有个死结:一旦某段信息被写进记忆状态,它未来会被怎样使用,是在写入的那一刻就被写死的,后来的查询没有发言权。这就好比你写日记的时候已经决定了这段话未来会以什么权重被回忆起,但你不知道三个月后问你的人到底想问什么,这个决定权提前交出去了,而不是等真正需要用的时候再决定。

这就引出了一个在工程上很有意思的折中方案:MHLA。

> MHLA:把长文本切成若干个小块(chunk),每块单独保留一份压缩记忆,再用学到的固定权重把这些记忆块组合起来。

这相当于把"写一句话总结全书"升级成"每一章写一个小结,再按固定比例把各章小结拼起来"。听起来进步了,但论文指出了一个关键缺陷:这个"固定比例"是训练好之后就不变的,不管你问什么问题,各章小结的权重组合永远一个样。

论文里做了个很直观的实验来证明这事有多反常。研究者挑了两段内容差异很大的文本,分别让模型做长文本理解任务,然后看模型在每一层对不同文本块的关注模式是否发生了变化。结果Softmax注意力和他们提出的新方法(HLA),面对不同输入时关注模式差异很大(用余弦相似度衡量,很多层低于0.6)。而MHLA呢,因为权重是固定的,两段完全不同的文本得到的关注模式,相似度稳稳地卡在1.0,也就是压根没变过。

这就像一个客服,不管你问退货还是问售后维修,他永远按同一个固定流程回答你,完全不听你到底问的是什么。

**HLA:让每个问题自己决定该往回看多远**

这就是论文提出HLA(Hybrid Linear Attention,混合线性注意力)要解决的核心矛盾:怎么让压缩记忆的"查阅方式",能根据当前这个具体问题而临时调整。

先得搞清楚论文怎么把GDN的记忆更新过程拆解开。GDN每处理一个词,都会对记忆状态做一次更新,这个更新可以写成一个"仿射变换":新状态等于旧状态乘上一个变换矩阵,再加上一个新增项。

> 仿射变换:一种数学运算形式,由"乘法"(代表对已有信息的改造)和"加法"(代表新增信息)两部分组成。这篇论文的关键洞察是,无论一个文本块里有多少个词,整个块对记忆状态的全部影响,可以精确压缩成一对这样的变换参数,不需要损失任何信息。

这个发现很关键。它意味着,哪怕一个文本块里有256个词,论文团队也能把它对记忆状态的全部作用,不近似、不打折扣地浓缩成两个固定大小的矩阵。这就好比虽然你开车经过了一段很长很曲折的路,但只要知道起点和终点的坐标变换关系,中间具体怎么拐弯都不重要了,因为效果是完全等价的。

有了这个精确的"块级摘要"之后,HLA干的事情是:给每个历史文本块配一个"闸门",这个闸门的开合程度由当前查询的内容决定。闸门全开,相当于完整采用这个块原本的变换;闸门全关,相当于这个块根本没发生过,直接跳过;中间状态,就是按比例把这个块的变换和"什么都不做"(数学上叫单位矩阵)掺在一起。

论文里有个细节值得多说两句。这个闸门不是靠对比当前查询和块里每个词逐一比对算出来的,因为那样计算量又会回到跟文本长度成正比的老问题上。HLA的做法是,先把每个文本块切成更小的"池化窗口"(比如每32个词一组),对窗口内部做一次小规模的自注意力压缩,得到一个"代表",再拿查询去跟这些代表比对。这就好比你没有逐字重读整本书去判断某一章和你当前问题相不相关,而是先让每一章自己提炼出几句关键摘要,你只需要扫一眼摘要就能判断这章有没有用。

值得一提的是,这个闸门的计算方式用的是Sigmoid(一种把数值压缩到0到1之间,但不要求所有闸门加起来等于1的函数),而不是常见的Softmax(强制所有权重加起来等于1)。为什么要这么选?因为GDN处理的是一连串先后发生的状态变换,不是简单的加权求和。如果强制所有历史块的权重加起来必须等于1,就相当于强迫模型"不管有多少段历史信息值得关注,关注力度的总和永远固定",这在逻辑上并不合理,一个问题可能同时需要紧密依赖好几个历史片段,而不是在它们之间做零和博弈。

**怎么让模型学会"少即是多"**

光让闸门可以自由开合还不够,论文团队还担心一个问题:如果闸门什么都不管,会不会每次都把所有历史块的闸门全开,变成"眉毛胡子一把抓",反而丧失了选择性?

为此论文设计了两个正则化约束。

一个叫预算约束,限制闸门开合程度的总和不能无限制地变大,相当于给模型设了一个"总查阅额度"。另一个更精细,叫有效支持正则化,借用了生态学里衡量物种多样性的一个经典公式(叫Hill数,最早是1973年一篇生态学论文提出的),用来衡量当前这个问题实际依赖了"相当于多少个"历史块。如果模型把注意力平摊在十个块上,这个数值就接近10;如果高度集中在两三个块上,这个数值就接近2或3。论文通过约束这个数值不要太大,鼓励模型学会把注意力真正聚焦在少数关键历史片段上,而不是雨露均沾。

这背后的道理其实跟人读书找资料是一样的。一个真正擅长检索的人,翻书时眼睛会迅速掠过大部分无关内容,只在真正相关的几页上停留。如果训练出来的模型养成了"每一页都瞄一眼"的习惯,看似全面,实则没有真正学会判断重要性,推理的时候也会因为要处理的信息量太大而变慢变贵。

**实验结果:数字说话**

论文在两类场景下验证了HLA:一类是拿现成的预训练模型(Qwen3.5系列,从0.8B到9B参数不等)做轻量级适配,只训练新加的路由模块,骨干网络完全冻结;另一类是从零开始训练一个1.3B参数的模型,用100亿级别的token训练量,严格控制变量,排除"预训练底子好不好"这个干扰因素。

先看预训练适配的结果。在LongBench-V2(一个专门考察长文本理解深度的评测集)上,HLA在四个模型规模上都稳定超过原生GDN,提升幅度分别是5.57、1.99、1.39和1.19个百分点。最大的提升出现在最小的0.8B模型上,而且越是难题、越是长文本,提升越明显:在"困难"难度子集上准确率从22.19%升到28.94%,在"长文本"子集上更是从25.93%一口气冲到36.11%,涨了超过10个百分点。

在RULER(一个专门测试模型能不能从大海里捞出那根针的基准)上,HLA在所有规模上都拿到最高分,比原生GDN最多高出近4个百分点,比MHLA最多高出近3个百分点。有几个单项提升尤其显眼,比如0.8B规模下,词级信息抽取任务(CWE)从55.00提升到67.00,问答任务SQuAD从42.00提到52.00。

| 模型规模 | 方法 | LongBench-V2整体准确率 |

|---|---|---|

| 0.8B | 原生GDN | 22.86% |

| 0.8B | MHLA | 23.26% |

| 0.8B | **HLA** | **28.43%** |

| 9B | 原生GDN | 33.00% |

| 9B | MHLA | 33.00% |

| 9B | **HLA** | **34.19%** |

再看从零训练的实验,这部分特别有说服力,因为排除了"模型本来就见多识广"的干扰。HLA和原生GDN用同样的训练数据量、同样的4K上下文窗口从头训练,然后分别在4K、8K、16K、32K这几个长度上测试RULER。结果显示,差距随着测试长度的增加越拉越大:4K时HLA只领先0.83分,8K时领先扩大到2.67分,16K时3.07分,32K时4.22分。

最惊人的是单条针信息检索任务(S1):当文本长度达到8K,原生GDN的得分是56.6,HLA直接飙到100.0;16K时原生GDN跌到23.8,HLA依然稳稳守在97.0;32K时原生GDN已经萎缩到11.2,HLA还能保持67.4。这说明HLA学到的检索机制并不是靠"记住了训练时见过的套路",而是真的具备了一种能泛化到比训练更长的文本上的检索能力。这一点其实挺反常识的:按理说模型只在4K长度上训练过,没理由在32K长度上还能表现得如此稳健,但实验数据就是这样。

论文团队还专门做了一组可视化分析,追踪历史文本块对最终输出的"贡献度"如何随距离衰减。结果发现,HLA会系统性地把注意力的重心往更远处推移。以32K长度为例,原生GDN只有6.22%的贡献度来自后半段文本,HLA把这个比例提高到了26.44%,提升超过4倍。按贡献度加权计算的平均关注距离,原生GDN只有2876个token,HLA达到9591个token,整整多看了三倍远的地方。而且这种变化并非均匀分布在所有网络层,而是集中出现在中间和靠上的几层,说明这不是简单粗暴地"把所有东西都往远处拉",而是网络自发学出的一种结构化调整。

**这份能力不是免费的**

当然,天下没有免费的午餐。

论文也坦诚给出了效率代价的数据。在单张H200显卡上,批大小为1,4096 token提示词,128 token稳定生成的测试条件下,HLA的预填充延迟比原生GDN高出9.8%到14.9%,生成阶段每个token的延迟高出13.9%到18.8%。有意思的是,这个相对开销随着模型规模增大反而在缩小,从0.8B时的1.188倍降到9B时的1.139倍,说明路由计算这部分固定开销,在大模型的庞大主干计算量面前,占比会越来越小。

在存储效率上,论文也给出了具体数字。按4K上下文、128维度计算,当文本块大小设为128时,HLA的历史记忆存储和传统KV缓存打平;块大小提到256(也是论文采用的默认设置)时,存储只需要KV缓存的一半,同时还拿到了最高的LongBench-V2准确率;块大小再往上提到1024,存储能压缩到KV缓存的八分之一,但这时候准确率反而会掉下来,因为块太大会丢失检索的精细度。这也是论文做消融实验找出来的一个甜蜜点:块大小256、池化窗口32,是在精度和效率之间找到的最佳平衡点。

这个权衡挺能说明问题的。你要是把文本块切得特别细,每一块都能精确检索,但块数一多,管理和比对的开销也跟着涨;你要是切得特别粗,存储省了,但一个大块里混进太多无关信息,查询的时候想精确命中就难了。256这个数字不是拍脑袋定的,是论文在几个候选值里真刀真枪试出来的。

写在后面

读完这篇论文,让我印象最深的其实不是那些提升百分点的数字,而是那个"仿射变换可以精确压缩"的发现。这意味着一个看似复杂的长序列处理过程,可以在不损失任何信息的前提下,被折叠成一对矩阵。这种"精确压缩"和我们平常理解的"有损压缩总结"完全不是一回事,它更像是数学上的等价变形,而不是近似。这个细节容易被一带而过,但恰恰是整个方法能够成立的地基。

还有一点值得单独说一说:论文选用Sigmoid而不是Softmax来做闸门,这个选择背后其实藏着一个很朴素的道理,就是不同的历史信息之间不应该是"你多我就少"的零和关系。这让我联想到人在做决策时参考过往经验的方式,很多时候我们同时被好几段完全不相关的记忆影响,而不是在它们之间强行分配一个总和为100%的权重。工程选择背后映射出的认知假设,有时候比方法本身更值得琢磨。

论文最后也坦率承认了局限,它目前的验证都停留在静态的文档理解任务上,还没有触及那种需要持续积累记忆、反复调用的智能体场景,比如一个长期运行的AI助手需要记住几十轮对话之前提到的某个细节。那会是一个完全不同量级的挑战,因为静态文档至少有明确的边界,而持续运行的记忆是没有终点的。

如果记忆真的可以做到"按需调取、代价可控",那下一步会不会是让AI拥有真正意义上的长期记忆,而不只是一个越压越薄的历史摘要?

Q&A

Q1:HLA是什么,它主要解决什么问题?

A:HLA全称Hybrid Linear Attention,是一种给GDN(Gated DeltaNet)线性注意力模型加装的查询依赖型分块注意力机制。它解决的核心问题是,传统线性注意力把长文本压缩进固定大小的记忆状态后,早期的稀疏关键信息会随着文本变长被逐步稀释甚至丢失,而且历史信息的组合方式通常是提前固定的,无法根据当前具体问题临时调整。

Q2:HLA和MHLA有什么区别?

A:MHLA把文本切成多个块分别保留记忆,再用训练好之后就固定不变的权重组合这些块,不管输入什么问题,组合方式都一样。HLA则会为每个历史块计算一个随当前查询内容实时变化的"闸门"权重,真正做到不同问题得到不同的历史访问模式,论文实验显示MHLA面对不同输入的关注模式相似度恒为1,而HLA会明显变化。

Q3:HLA在实际测试中效果提升有多大?

A:在RULER长文本检索测试里,从零训练的1.3B模型在32K上下文长度下,HLA比原生GDN提升4.22个百分点,单条针检索任务得分从11.2提升到67.4。在LongBench-V2上,0.8B规模的Qwen3.5模型用HLA后整体准确率从22.86%提升到28.43%,长文本子集更是从25.93%提升到36.11%。

文章标签大模型

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。