HLA:基于分块级动态混合的高表达力混合线性注意力 HLA: Expressive Hybrid Linear Attention via Chunk-Wise Dynamic Mixing
把GDN历史精确压缩为分块仿射转移,用查询相关门控实现选择性长程检索
前置知识
线性注意力(Linear Attention)
去掉 softmax 非线性的注意力变体:不再显式保存全部历史 key-value,而是把 key-value 交互增量式累加进一个固定尺寸的矩阵状态,状态大小不随上下文长度增长。解码时每步只需更新和读取该状态,时间和显存均为常数级,但表达能力受状态秩(不超过特征维度)限制,注意力分布天然比 softmax 弥散。
本文的全部动机建立在'线性注意力省显存但检索选择性差'这一权衡之上,理解该权衡才能明白 HLA 要补的短板是什么。
Gated DeltaNet(GDN)与 Delta Rule
一种现代循环线性注意力架构。每步更新为 $S_t = A_tS_{t-1}+B_t$,其中 $A_t=\exp(g_t)(I-\beta_t\bar{k}^\top\bar{k})$ 是带门控衰减的'擦除+变换'项,$B_t=\beta_t\bar{k}^\top v$ 是按 delta-rule 写入的新记忆。它能有选择地遗忘和覆盖历史,是 Qwen 系列等新模型采用的线性层设计。
HLA 直接构造在 GDN 之上:它把 GDN 的 token 级递推改写为分块级仿射转移并在其上做查询依赖调制,不懂 GDN 的递推结构就无法理解方法本体。
仿射转移与复合封闭性
形如 $S\mapsto AS+B$ 的映射称为仿射映射。两个仿射映射复合仍是仿射映射,因此一段序列内所有 token 级更新 $\{A_t,B_t\}$ 可以被精确合并成单个分块级对 $(A_j,B_j)$:$S_j=A_jS_{j-1}+B_j$,没有任何近似误差。$B_j$ 是该段新增记忆,$A_j$ 描述它如何变换更早的状态。
这是 HLA 方法的数学基石:正因为分块摘要是精确的,后续'用门控缩放整条转移'才具有明确语义(1 恢复原状、0 完全跳过)。
MHLA 与固定分块混合
MHLA 把序列切成分块、为每块维护独立的线性状态以扩大有效容量,然后用一组与输入内容无关的固定学习权重把各分块读出做凸组合。它提升了容量,但同一段历史对任何查询的相关性权重都一样,无法按查询选择性访问。
MHLA 是本文最重要的对照基线(论文表 2、表 3 均与它比较),HLA 的核心卖点'查询依赖'正是针对其'输入无关固定权重'的缺陷。
RULER 与 LongBench-V2
两个长上下文评测基准。RULER 通过合成任务(单针/多针检索 S1-S3、多键 MK、多值多查询 MV/MQ、词抽取 CWE/FWE、SQuAD/HotpotQA 问答等 13 项)系统测量不同上下文长度下的检索与聚合能力,可外推到训练长度之外;LongBench-V2 是真实的中文/英文长文档问答集,按难度(Easy/Hard)和上下文长度(Short/Medium/Long)细分。
论文所有结论都以这两个基准的数字呈现,且 RULER 的针插入任务与论文'稀疏远距离信息检索'的核心叙事一一对应。
有效支持数(order-2 effective number)
源自生态学 Hill 数:对归一化权重 $\pi_j$,定义 $K_{eff}=(\sum_j\pi_j^2)^{-1}$。权重完全均匀分布在 $K$ 个选项上时 $K_{eff}=K$,越集中则越接近 1。它是平滑可微的'有效选项个数'度量,可当作正则项鼓励分布集中而不需硬性 top-$k$。
HLA 用它构造 $\mathcal{L}_{support}$ 正则,训练期把分块路由塑造成稀疏集中,使推理期阈值置零($\theta=0.1$)的近似误差可控。
研究动机
Softmax 注意力检索能力强,但自回归解码时 KV cache 随上下文线性增长,长上下文推理的显存和带宽开销越来越大。线性注意力把历史压缩进固定尺寸循环状态,代价是秩受特征维度约束、分布弥散,当相关证据稀疏时难以锐利选中少量关键内容。作者用三组实测刻画痛点:(1) 在预训练 GLA 中,4K 提示里早期位置状态写入的累计循环保留率随距离显著下降,插入的 needle 等早期信息被后续门控反复衰减;(2) 在预训练 GDN 中,虽然 delta-rule 更新更具选择性,但包含 needle 的分块对最终状态的贡献随后续 512-token 分块逐个处理而下降数个数量级——历史一旦写入循环轨迹,其未来影响在查询出现前就已确定;(3) MHLA 的分块混合权重与输入无关,对一对低相似度长文本,softmax 注意力和 HLA 的分块级模式在两个输入间差异明显,而 MHLA 给出完全相同的权重(跨样本余弦相似度为 1)。三者共同说明:高效压缩后的历史,难以按查询做锐利、稀疏的访问。
本文的目标是本文目标是在保留线性注意力固定状态、常数级解码优势的前提下,让每个查询能自适应决定每段历史的影响,从而保留并选择性访问稀疏、远距离的信息。作者选择在 GDN 上增强:利用其循环更新天然具有仿射结构的性质,把每个已完成分块精确总结为一条状态转移,再为每个查询 token 预测分块级路由门控,动态控制各历史分块注入多少新记忆、以及它对更早状态做多少变换。方法需同时满足三个工程约束:一是轻量适配——冻结预训练骨干、只训路由与池化模块;二是开销温和——推理延迟增加控制在两位数百分比以内;三是长度外推——在超过训练上下文(4K)的 8K–32K 上依然有效。
与已有工作不同的是,已有改进路线各有盲区:GLA 用数据依赖门控调控记忆但仍共享单一压缩状态,长程权重弥散;GDN 使更新更 selective,却改变不了'早写信息沿后续转移链衰减或被覆盖'的问题;MHLA 用多个分块级线性状态扩容,却用固定学习权重聚合,无法按查询选择历史;Kimi Linear(3:1 交错 KDA 线性层与全注意力 MLA 块)、Ring-linear 等混合架构靠少量 softmax 层兜底检索,但线性层内部依旧在丢失稀疏长程信息。HLA 的独特切入点是:把历史分解为精确的分块级仿射转移,并让这些转移的复合本身成为当前查询的函数——门控不是对分块读出向量做加权平均,而是把整条转移与恒等映射插值,同时控制加性记忆的注入与对早期记忆的传递。据作者所述,这是首个对循环线性注意力仿射转移做查询条件组合的设计。
核心方法
直觉上,HLA 想让每个查询都能回答:'历史上哪几段对我还有用?没用的段落请不要再干扰我的状态。'技术路线分三层。表示层:把 GDN 的 token 级递推 $S_t=A_tS_{t-1}+B_t$($A_t=\exp(g_t)(I-\beta_t\bar{k}^\top_t\bar{k}_t)$,$B_t=\beta_t\bar{k}^\top_t v_t$)利用仿射复合封闭性,精确压缩为每个已完成分块的一条转移 $S_j=A_jS_{j-1}+B_j$;路由层:每个分块再被 $p$-token 窗口的自注意力池化压缩成 $P=L/p$ 个代表键,查询与代表键的相似度经 log-mean-exp 聚合、过 sigmoid 得到独立门控 $w_{i,j}\in(0,1)$;组合层:每条历史转移与恒等映射插值 $[(1-w_{i,j})I+w_{i,j}A_j]$ 后按时间顺序复合,最后接当前分块的因果前缀转移与原生 GDN 读出。训练用语言建模损失加路由预算和有效支持数两个正则鼓励稀疏集中;推理时低于阈值的门控直接置零并跳过对应转移,节省计算与状态访存。
核心创新是'门控作用于整条仿射转移'而非只作用于分块读出。以往分块方法(MHLA)把各分块的线性状态读出用与输入无关的固定权重做凸组合,混合只发生在输出层面且无法适应查询。HLA 注意到 GDN 分块递推 $S_j=A_jS_{j-1}+B_j$ 是仿射映射且复合封闭,因此可以把每条历史转移与恒等映射插值:$S_{i,j}=[(1-w_{i,j})I+w_{i,j}A_j]\,S_{i,j-1}+w_{i,j}B_j$。$w=1$ 时完全恢复原生 GDN 行为,$w=0$ 时该分块仿佛不存在、早期状态原样通过。这样查询同时控制两件事:该分块注入多少新记忆($w_{i,j}B_j$),以及它对更早记忆做多少变换($w_{i,j}A_j$)。配合不受和为一约束的独立 sigmoid 门控,模型可对不同历史段给出真正稀疏的选择——这与 softmax 风格的归一化混合有本质区别:归一化混合强行让所有历史分摊权重,而 HLA 允许大部分历史被完全关闭。
方法步骤详情
第一步,token 级 GDN 转移:单层单头中,预卷积查询/键 $q_t,k_t$ 经短卷积和 $\ell_2$ 归一化得 $\bar{q}_t,\bar{k}_t$,状态 $S_t\in\mathbb{R}^{d_k\times d_v}$ 按 $S_t=A_tS_{t-1}+B_t$ 演化,$A_t=\exp(g_t)(I-\beta_t\bar{k}_t^\top\bar{k}_t)$,$B_t=\beta_t\bar{k}_t^\top v_t$。第二步,分块精确总结:把长度 $T$ 的序列切成 $N=\lceil T/L\rceil$ 个不超过 $L=256$ token 的分块,复合块内 token 级更新得到精确 $(A_j,B_j)$。第三步,池化代表键:每块按窗口 $p$ 分成 $P=L/p$ 个不重叠窗口,窗口内预卷积键经可学习投影 $W^{Q,r},W^{K,p},W^{V_p},W^{O_p}$ 做自注意力池化后均值池化,得到代表键 $\bar{k}^r_{j,b}$。第四步,打分与门控:对历史块 $j$,用 log-mean-exp 聚合查询与 $P$ 个代表键的相似度得 $s_{i,j}=\log\frac{1}{P}\sum_b\exp\!\big(q^r_i\bar{k}^{r\top}_{j,b}/\sqrt{d_k}\big)$,门控 $w_{i,j}=\sigma(s_{i,j})$;当前块 $w_{i,c(i)}=1$,未来块 $w_{i,j}=0$。第五步,查询条件状态:从 $S_{i,0}=0$ 按时间序应用 $S_{i,j}=[(1-w_{i,j})I+w_{i,j}A_j]S_{i,j-1}+w_{i,j}B_j$,再经当前块因果前缀转移 $S^{HLA}_i=A_{c(i),\le i}S_{i,c(i)-1}+B_{c(i),\le i}$,用原生读出 $\bar{q}_iS^{HLA}_i/\sqrt{d_k}$ 接不变的门控归一化与输出投影。第六步,训练目标 $\mathcal{L}=\mathcal{L}_{LM}+\lambda_b\mathcal{L}_{budget}+\lambda_s\mathcal{L}_{support}$:预算项惩罚历史路由总量 $G_i=\sum_{j<c(i)}w_{i,j}$ 超过 $K_b=3$ 的部分,支持项用归一化权重的有效支持数 $K^{eff}_i=(\sum_j\pi^2_{i,j})^{-1}$ 惩罚超过 $K_s=3$ 的分散路由($\lambda_b=0.005$,$\lambda_s=0.001$),两者均不含当前块。第七步,推理:低于 $\theta=0.1$ 的门控置零且不重新归一化;置零后跳过对应恒等转移是精确的,直接减少仿射状态访存与计算。
技术新颖性
技术新颖性有四点。其一,精确性:分块级 $(A_j,B_j)$ 不是近似摘要,而是 token 级更新复合而来的精确转移,使门控缩放具有明确语义(1 恢复原状、0 完全跳过),而非对模糊代理信号的软加权。其二,作用位置:把查询依赖引入状态转移复合过程本身,而非输出读出的凸组合——查询控制的是'历史如何被重放',这在循环线性注意力文献中是新的设计点。其三,门控形式:独立 sigmoid 权重匹配仿射复合的代数结构,规避 softmax 求和为一约束对稀疏性的破坏,同时保持连续可微便于训练;当前块恒为权重 1 保证与原生 GDN 的兼容性(全置 1 即恢复原递推)。其四,稀疏化配套:借鉴 Hill 的 order-2 有效数构造 $K^{eff}=(\sum\pi^2)^{-1}$ 作为可微有效支持度量,与预算正则一起在训练期塑造稀疏路由,使推理期硬阈值造成的近似可控,且置零跳转可精确兑换成延迟收益。与 MHLA 的固定权重及混合架构'靠少量 softmax 层兜底'相比,HLA 在线性层内部解决选择性访问问题,与混合化正交、可叠加。
实验结果
实验覆盖预训练适配与从头训练两条线。预训练适配:在 Qwen3.5-Base 0.8B/2B/4B/9B 上冻结骨干只训路由与池化模块。LongBench-V2(4K 上下文预算)总体精度相对原生 GDN 提升 5.57/1.99/1.39/1.19 个百分点;0.8B 上 HLA 28.43% 显著超 MHLA 的 23.26%,Hard 子集从 22.19% 升至 28.94%,Medium 上下文从 19.07% 升至 27.44%,Long 上下文从 25.93% 升至 36.11%。RULER(4K,13 任务各 500 例)上 HLA 在所有规模取得最高宏平均,超原生 GDN 3.974/1.250/1.401/1.013 分、超 MHLA 2.933/1.150/1.222/0.928 分;0.8B 上 CWE 从 55.00 升至 67.00,SQuAD 从 42.00 升至 52.00,HotpotQA 从 36.00 升至 42.67。从头训练:1.3B 模型在 SlimPajama 上以 4K 上下文训 100B token,RULER 宏平均在 4K/8K/16K/32K 分别提升 0.83/2.67/3.07/4.22 分,超出训练长度的收益递增;S1 单针检索 8K 从 56.6 升至 100.0、16K 从 23.8 升至 97.0、32K 从 11.2 升至 67.4,但部分 VT/CWE/FWE 任务回退(如 8K 时 FWE 17.28→2.72)。效率:单卡 H200 BF16 上 prefill 开销 9.8–14.9%,稳态解码开销 13.9–18.8%,解码比值随规模从 0.8B 的 1.188× 降至 9B 的 1.139×。消融:分块 256 最优(LongBench-V2 29.62%,128 为 25.25%、512 为 26.64%、1024 为 26.24%);池化窗口 32 最优(29.62%,64 降至 28.43%);chunk 256 时仿射状态内存仅为匹配 KV cache 的 50%(2 MiB/层/头基准),512、1024 时分别为 25%、12.5%。贡献分析:远半程历史贡献占比 4K 从 24.64% 升至 42.48%,8K 从 16.87% 到 33.09%,16K 从 13.58% 到 36.75%,32K 从 6.22% 到 26.44%;贡献加权平均距离在 32K 为 9,591 对 2,876 token;16K 最远距离档 HLA 检索仍高于 90% 而 GDN 趋近于零;差异集中在中间和上层。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| LongBench-V2 总体(Qwen3.5-0.8B,预训练适配,4K 预算) | Accuracy (%) | 28.43 | Native GDN 22.86 / MHLA 23.26 | +5.57 pt(对 MHLA +5.17 pt) |
| LongBench-V2 总体(Qwen3.5-9B,预训练适配) | Accuracy (%) | 34.19 | Native GDN 33.00 / MHLA 33.00 | +1.19 pt |
| RULER 宏平均 13 任务(Qwen3.5-0.8B,4K) | Macro avg | 83.115 | Native GDN 79.141 / MHLA 80.182 | +3.974 pt(对 MHLA +2.933 pt) |
| RULER 宏平均 13 任务(Qwen3.5-9B,4K) | Macro avg | 91.128 | Native GDN 90.115 / MHLA 90.200 | +1.013 pt(对 MHLA +0.928 pt) |
| 从头训练 1.3B RULER 宏平均(32K,训练上下文 4K) | Macro avg | 7.87 | GDN 3.65 | +4.22 pt |
| 从头训练 1.3B RULER S1 单针检索(32K) | Score | 67.40 | GDN 11.20 | +56.20 pt |
| 推理解码延迟(Qwen3.5-9B,H200 BF16,128 token 稳态) | ms/token | 13.88 | Native GDN 12.19 | 开销 +13.9%(各规模解码开销 13.9–18.8%) |
局限与改进
作者明确承认当前评估局限于静态长文本理解基准(LongBench-V2、RULER),未覆盖需要持续积累并选择性复用长期记忆的交互式场景——例如长时间运行的智能体要在多轮工具调用与持久记忆中反复只访问少量历史,这对自适应检索的要求可能严苛得多。我自己的观察还有四点:其一,收益随模型规模递减,LongBench-V2 从 0.8B 的 +5.57 pt 降到 9B 的 +1.19 pt,冻结骨干只训路由可能在大模型上触顶;其二,从头训练中 HLA 在部分任务明显回退,如 8K 时 FWE 从 17.28 掉到 2.72、SQuAD 从 5.33 掉到 0.13、16K 时 VT 从 22.64 掉到 1.80,说明预算与稀疏正则可能损害需要跨全篇宽聚合而非尖峰检索的能力;其三,历史缓存 $O(N(d^2+Pd))$ 明显大于纯 GDN 的 $O(d^2)$,chunk 256 时约为匹配 KV cache 的一半,本质是用额外显存换检索能力;其四,Qwen3.5 适配实验只在 4K 上下文预算下评估,未展示适配后模型在更长上下文的外推表现,从头与适配两条线的结论尚未完全打通。
独立分析的弱点
独立分析几点弱点。第一,规模递减效应:路由模块只学'怎么读历史'而不改'怎么写历史',9B 上 LongBench-V2 仅 +1.19 pt;改进方向是解冻部分中间/高层骨干联合微调(贡献分析显示收益恰集中在中上层),或按层异构设置路由容量。第二,稀疏正则的全局副作用:$\mathcal{L}_{budget}$、$\mathcal{L}_{support}$ 把路由硬性压到约 3 个分块,伤害 FWE/CWE 这类需统计全篇词频的聚合任务(8K FWE 从 17.28 跌至 2.72);改进方向是让 $K_b,K_s$ 由查询自适应预测,或对聚合型查询放宽约束、双通路并存。第三,固定阈值 $\theta=0.1$ 是手工超参且训练-推理不一致(训练连续、推理置零),可改为训练中模拟阈值化(直通估计或 $L_0$ 正则)或动态阈值。第四,分块粒度僵化:chunk 256 是检索粒度与上下文完整性的折中,对需要句子级精确检索或跨块推理的查询可能仍粗;可探索粗细两级层级分块状态。第五,缓存与延迟:$O(N(d^2+Pd))$ 缓存和解码 13.9–18.8% 开销在批量吞吐敏感场景被放大;可对 $A_j$ 做低秩/结构化近似,或深化 Triton/CUDA Graph 融合。第六,外推上限:32K 时 S1 也只有 67.4,远距离检索仍随长度衰减,缺乏对 128K+ 的验证。
未来方向
作者提出的首要方向是把机制推向长程智能体工作负载:多轮工具使用、持久记忆、目标与观察持续累积而每次决策只引用少量历史的场景,最能检验查询依赖路由的价值。基于本文成果还可延伸:一是与混合架构正交叠加,在 Kimi Linear 式 3:1 线性/全注意力模型中对所有线性层启用 HLA,检验能否进一步降低全注意力层占比;二是把精确仿射转移表示推广到 GLA、Mamba/KDA 等其他循环线性注意力家族——只要递推可写成仿射形式即可复用该框架;三是从头训练更大规模模型并联合训练骨干,研究路由与记忆写入的协同进化,缓解规模递减;四是对 $A_j$ 做低秩或块结构近似以压缩 $O(Nd^2)$ 历史缓存,逼近纯 GDN 存储成本;五是把阈值化引入训练目标消除训练-推理不一致;六是在 128K+ 上下文与真实长文档、代码库基准上验证外推,并与检索增强、分层记忆等系统方向结合;七是研究理论性质——查询条件仿射复合这一类函数的表达力边界,以及稀疏路由与秩约束的交互。
复现评估
复现条件较为友好。论文给出完整数学描述、两个算法伪代码(训练/prefill 与动态解码)以及 PyTorch 风格参考实现(含池化、打分、逆序历史读出、缓存管理的逐行代码),超参披露充分:预训练适配冻结骨干只训路由与池化模块,4096-token 序列、$L=256$、训练 $p=16$/评估 $p=32$、$K_b=K_s=3$、$\lambda_b=0.005$、$\lambda_s=0.001$、AdamW 峰值学习率 $10^{-4}$ 线性预热余弦衰减、推理阈值 $\theta=0.1$;从头训练为 1.3B 模型在 SlimPajama 上以 4K 上下文训 100B token,与 GDN 基线同批同优化预算。项目页为 https://caesarhhh.github.io/hla/,正文未明确给出开源代码仓库链接,训练代码是否释出需关注项目页。算力方面:路由适配只优化轻量模块,少量 GPU 即可完成,是性价比最高的复现路径;从头训练 100B token 需数十卡量级集群。附录的贡献分析需按公式 (14) 实现仿射分解并用扩展 GDN 值 $[v|0]$、状态初始化 $[0|I]$ 联合计算 $(A_j,B_j)$,作者声明已对每个分析层做数值校验。总体难度:适配实验中等,从头训练偏高(主要是算力),若官方 Triton/CUDA Graph 推理内核不开源,复现论文延迟数字需额外工程功夫。
论文图表
三个动机性观测的并置。(a) 预训练 GLA 中,4K 提示里每个历史位置状态写入的累计循环保留率随其到最终查询位置的距离下降(层与门维度的中位数曲线加 IQR 阴影),早期位置(含 needle)的保留率明显偏低;(b) 预训练 GDN 中,包含早期 needle 的分块的仿射状态贡献随后续 512-token 分块逐个处理而衰减数个数量级(层-头对中位归一化贡献);(c) 从 LongBench 选出的低相似度文本对上,逐层报告 softmax 注意力与 HLA 的最小跨样本分块级余弦相似度——两者都随输入明显变化,而 MHLA 恒为 1,因其分块权重与输入无关。
这一张图完整支撑了论文的三段论动机:循环门控衰减早期信息、GDN 仿射转移链仍会冲刷 needle、固定分块混合无法按查询适应。没有它就无法理解为什么需要'查询依赖的分块级注意力'这一设计。