GLIDE: 引导的逐层混合注意力实现高效LLM推理

arXiv cs.AI 论文

摘要

GLIDE 引入一种逐层自适应机制,策略性地整合滑动窗口 softmax 注意力和线性循环聚合,实现高效 LLM 推理,在处理长上下文时减少 KV 缓存 I/O 和延迟,同时不牺牲质量。

arXiv:2607.24788v1 Announce Type: new 摘要:随着大型语言模型扩展到越来越长的上下文,解码过程中键值(KV)缓存的内存 I/O 和计算开销成为主要的吞吐量瓶颈。为了解决这个问题,我们提出了 GLIDE,一种引导的逐层混合注意力,它策略性地整合了滑动窗口 softmax 注意力和线性循环聚合。GLIDE 的动机源于逐层异质性:早期层对移除 softmax 高度敏感,而深层则表现出冗余,可以容忍被线性替代方案激进替换。利用这一洞察,GLIDE 引入了一种逐层自适应机制,其中每一层在高效的线性循环和可变大小的 softmax 窗口之间取得平衡。与统一的混合方法不同,GLIDE 在模型上非均匀地压缩 softmax 足迹,减少总体 KV 缓存 I/O,同时在最重要的地方保留表达能力。实证评估表明,GLIDE 实现了优越的性能-效率权衡,在不影响质量的情况下减少了长上下文生成的端到端延迟。
查看原文
查看缓存全文

缓存时间: 2026/07/29 09:52

# GLIDE: 引导式逐层混合注意力实现高效大语言模型推理
来源: https://arxiv.org/html/2607.24788

###### 摘要

随着大语言模型(LLM)扩展到越来越长的上下文,解码过程中键值(KV)缓存的内存 I/O 和计算开销成为主要的吞吐量瓶颈。为了解决这一问题,我们提出了 GLIDE(Guided Layerwise Hybrid Attention,引导式逐层混合注意力),它策略性地将滑动窗口 softmax 注意力与线性递归聚合相结合。GLIDE 的动机源于逐层异质性:早期层对 softmax 的移除高度敏感,而深层则表现出冗余性,可以容忍被线性替代方案激进替换。利用这一洞察,GLIDE 引入了一种 **逐层自适应机制**,其中每一层在高效的线性递归与可变大小的 softmax 窗口之间取得平衡。与统一的混合方法不同,GLIDE 在模型各层非均匀地压缩 softmax 占用空间,从而减少累积的 KV 缓存 I/O,同时在最关键的层保留表达力。实证评估表明,GLIDE 实现了优越的性能-效率权衡,在不牺牲质量的情况下降低了长上下文生成的端到端延迟。

## I 引言

长上下文大语言模型(LLM)推理日益受限于数据移动,而非单纯的计算。随着 KV 缓存随序列长度增长,每个生成的 token 都需要检索不断增大的缓存键值状态,使执行模式从计算密集型转变为内存带宽密集型[8 (https://arxiv.org/html/2607.24788#bib.bib8)]。这一瓶颈在长上下文生成中尤为严重,KV 缓存的增长同时增加了内存占用和片外数据传输,降低了硬件利用率和整体吞吐量。这种限制为在内存受限的加速器和延迟敏感的服务环境中进行可扩展部署构成了关键障碍[16 (https://arxiv.org/html/2607.24788#bib.bib35)]。这引发了一个核心问题:如何使长上下文解码在保持生成质量的同时实现更低的延迟和更少的内存 I/O?

近期工作通过优化 KV 缓存管理,采用两种主要策略来追求高效长上下文推理:a) **基于驱逐** 的方法通过选择性丢弃被认为相关性较低的缓存 token 来减少内存和计算[26 (https://arxiv.org/html/2607.24788#bib.bib9),3 (https://arxiv.org/html/2607.24788#bib.bib5),17 (https://arxiv.org/html/2607.24788#bib.bib6)];而 b) **基于保留** 的方法通过结合局部 softmax 注意力与高效的递归式聚合的混合注意力机制来保留上下文信息。基于保留的混合架构(另见第三节-A (https://arxiv.org/html/2607.24788#S3.SS1)),如 LoLCats[24 (https://arxiv.org/html/2607.24788#bib.bib25)] 和 Liger[15 (https://arxiv.org/html/2607.24788#bib.bib27)],提供了一种特别有前景的设计思路:它们应用参数高效微调(PEFT)将预训练的 softmax 注意力蒸馏为线性递归形式,从而在不明确从 KV 缓存中驱逐上下文的情况下提高解码效率。

然而,现有的基于保留的方法在所有层应用统一的混合策略,在网络中固定位置用线性替代方案替换 softmax 注意力。这种一刀切的策略忽略了一个关键观察:注意力层对线性化的敏感性差异很大。具有基础性 token 表示的早期层可能更依赖精确的 softmax 注意力,而深度层处理越来越抽象的特征,可能容忍激进的逼近且性能下降极小。那么,一种由深度依赖性敏感性指导的非均匀、逐层混合注意力策略,能否相比统一混合实现更优越的效率-准确性帕累托前沿呢?

参见说明 ((a))

参见说明 ((b))

图 1: GLIDE 的逐层自适应注意力策略。
(a) 注意力机制: GLIDE 策略性地从早期层的 softmax 注意力(红色)过渡到深度层的线性注意力(绿色),将昂贵的计算集中在最关键的地方。这与原始 softmax、滑动窗口注意力(SWA)或纯线性方法不同。
(b) 帕累托分析: GLIDE 配置实现了比基线 LLaMA 低 45×–62× 的 KV 缓存 I/O,同时保留了 92%–96% 的准确性,通过利用逐层异质性优于统一替代方案(SWA、混合模型)。

作为回答这个问题的第一步,我们进行了一项实证研究,系统地改变 transformer 各层中 softmax 与线性注意力的比例,并测量其对下游任务准确性的影响。我们的分析揭示了一个清晰的逐层异质性:负责建立低级 token 表示和局部句法结构的早期层,从保留基于 softmax 的注意力中获益显著;而操作于更抽象语义特征的深度层,则能容忍激进的线性化且对生成质量影响极小。这一发现表明,在层间统一分配 softmax 本质上是次优的,留下了大量的效率提升空间。

基于这一洞察,我们引入了 GLIDE(Guided Layerwise Hybrid Attention for Efficient Decoding,引导式逐层混合注意力实现高效解码),这是一种基于保留的架构,根据测量的敏感性在层间非均匀地分配 softmax 注意力。如图 1 (https://arxiv.org/html/2607.24788#S1.F1) 所示,GLIDE 利用逐层敏感性模式,实现了优于各种注意力方案的效率-准确性权衡。图 1 (https://arxiv.org/html/2607.24788#S1.F1)(a) 对比了四种注意力机制:原始 softmax 注意力(红色)在所有层均匀使用全二次注意力,实现最优性能但带来极高的内存成本;滑动窗口注意力(红色,带被驱逐的 token)通过丢弃远距离上下文来减少内存,牺牲了准确性;线性注意力(绿色)完全消除了 KV 缓存开销但遭受严重性能下降;而 GLIDE 策略性地从早期层的 softmax 注意力过渡到深度层的线性注意力,将昂贵的计算集中在最关键的层。这种逐层分配直接减少了自回归解码过程中的 KV 缓存内存流量(长上下文生成的主要瓶颈),同时在敏感层保留了表征保真度。图 1 (https://arxiv.org/html/2607.24788#S1.F1)(b) 展示了最终的帕累托前沿:GLIDE 配置占据了有利的左上角区域,实现了比基线低 45×–62× 的 KV 缓存 I/O,同时保留 92%–96% 的准确性,显著优于统一替代方案,包括未能利用逐层异质性的混合模型和滑动窗口注意力。通过允许在深度上策略性地分配 softmax 与线性注意力,GLIDE 解锁了先前无法达到的平衡内存带宽、延迟和任务性能的操作点。

我们的主要贡献如下:
- • 我们系统研究了混合注意力在 transformer 深度上的敏感性,揭示 softmax 注意力的重要性强烈依赖于层:早期层对线性化明显更敏感,完全线性化会导致灾难性的准确性崩溃(平均 36%),而后期层能容忍完全线性化且只有最小退化(第三节-A (https://arxiv.org/html/2607.24788#S3.SS1))。
- • 我们引入了 GLIDE,一个引导式逐层混合注意力框架,根据观察到的逐层敏感性在 transformer 块间非均匀分配 softmax 注意力。GLIDE 将网络划分为早期、中期和晚期块,对早期层分配完全 softmax(δ=0),中期层部分线性化(δ=α·w,α∈[0,1]),晚期层完全线性化(δ=w)。这将 δ 配置搜索空间缩减为单个标量 α,该标量在全 softmax 和全线性化之间连续插值(第三节-B (https://arxiv.org/html/2607.24788#S3.SS2))。
- • 我们证明 GLIDE 与现有基于保留的架构(Liger、LoLCats)无缝集成,在 Llama-3-8B 和 Mistral-7B 的六个推理基准上,实现高达 62× 的 KV 缓存 I/O 减少和 3.3× 的解码加速,同时保留基线准确性的 92-94%(第四节 (https://arxiv.org/html/2607.24788#S4))。

## II 背景

本节概述自回归 Transformer 推理中的注意力和 KV 缓存机制,回顾先前改进长上下文效率的方法,并突出促使 GLIDE 产生的空白。

### II-A 符号说明

我们考虑一个具有 L 层、每层 H 个注意力头的 Transformer 模型。令 d_model 表示模型维度,d = d_model / H 表示每头维度。对于自回归生成中的位置 i,我们将查询向量表示为 q_i ∈ ℝ^d,键值对表示为 {k_j, v_j}_{j=1}^i,其中 k_j, v_j ∈ ℝ^d。注意力权重记为 α_ij,表示查询 q_i 和键 k_j 之间的归一化相似度。位置 i 的注意力输出写为 O_i,用上标区分不同变体:O_i^SWA 表示滑动窗口注意力,O_i^Linear 表示线性注意力,O_i^Glide 表示 GLIDE 注意力。我们用 w 表示滑动窗口大小,用 δ 控制窗口内的线性化程度,其中 δ_l 指定层 l ∈ [1, L] 的逐层分配。在线性注意力中,φ(·) 表示应用于查询和键的可分离核(特征映射),而 S_i ∈ ℝ^{d×d} 和 Z_i ∈ ℝ^d 分别表示递归状态和归一化因子。运算符 ⊕ 表示基于各自归一化分母的线性与 softmax 注意力输出的加权组合。对于块级分配,模型被划分为包含 L_e、L_m 和 L_l 层的早期、中期和晚期段,配置元组 δ_b = (δ_{b1}, δ_{b2}, δ_{b3}) 指定分配给每个段的 δ 值,其中 δ = w·α 是 δ 的通用定义,我们区分注意力分数 α_i ∈ ℝ^n 和缓存稀疏因子 α ∈ [0,1]。

### II-B 注意力和 KV 缓存基础

自注意力概述。在自回归下一 token 预测的位置 i,查询向量 q_i ∈ ℝ^d(其中 d = d_model / H,H 个注意力头)通过缩放点积相似度关注所有先前生成的键 {k_j}_{j=1}^i,产生 softmax 归一化的注意力权重,量化相关性。然后注意力输出 O_i 作为相应值向量 {v_j}_{j=1}^i 的加权聚合获得,随后通过 W_o 线性投影形成最终的头贡献。因此,预测下一个 token 需要访问所有先前的键值对 {k_j, v_j | j ≤ i},导致在全注意力计算中相对于序列长度的二次计算复杂度。

线性化注意力。线性注意力[14 (https://arxiv.org/html/2607.24788#bib.bib21)] 通过用独立应用于查询和键的可分离特征映射 φ(·) 替换指数相似度核来近似 softmax 注意力:α_ij ≈ φ(q_i)φ(k_j)^⊤ / Σ_{j=1}^i φ(q_i)φ(k_j)^⊤。这使得恒定空间的递归计算成为可能:O_i^Linear = φ(q_i) S_i / (φ(q_i) Z_i),其中累积状态 S_i = S_{i-1} + φ(k_i)^⊤ v_i 和 Z_i = Z_{i-1} + φ(k_i)^⊤ 积累键值交互。内存复杂度从 O(n) 降低到 O(1)(相对于上下文长度),并且 KV 缓存 I/O 完全消除。然而,基于核的线性注意力牺牲了表达力[25 (https://arxiv.org/html/2607.24788#bib.bib23),10 (https://arxiv.org/html/2607.24788#bib.bib11)]:可分离近似降低了注意力质量,特别是在早期 transformer 层中,精确的 token 交互至关重要。

KV 缓存。为了避免自回归推理过程中重新计算过去的状态,KV 缓存存储生成的键值对 (k_i, v_i) 以供重用。该过程包括一个 **预填充** 阶段,该阶段从提示初始化缓存,然后是一个 **解码** 阶段,其中通过关注缓存条目并追加新对来顺序生成 token。尽管这消除了冗余计算,但缓存随着上下文长度 n 线性增长,并且每个解码步骤都需要内存访问,其成本也随 n 线性增长。

参见说明 ((a))

参见说明 ((b))

图 2: 不同 softmax 注意力强度下的零样本准确性分析(非微调)。
(a) δ 参数控制每层滑动窗口 w 内的线性与 softmax 比例,在效率与表征保真度之间进行权衡。
(b) 在早期、中期和晚期层组上的逐层敏感性分析,使用 LM-Eval 基准(PiQA, ARC-e, ARC-c, HellaSwag, WinoG),w=64,d=4096。GLA(门控线性注意力)使用固定大小的递归状态替换窗口内的 softmax,保留滑动窗口之外的上下文;红色条 (δ=w) 表示完全线性化。

### II-C 滑动窗口注意力策略

滑动窗口注意力。为了缓解全 KV 缓存的线性内存增长和每 token 注意力成本,先前工作提出了滑动窗口注意力(SWA)[2 (https://arxiv.org/html/2607.24788#bib.bib3)],其中查询 q_i 仅关注最近的 w 个键值对。具体地,注意力权重在受限范围 j ∈ [i-w+1, i] 上计算,即 α_ij^SWA = exp(q_i k_j^⊤) / Σ_{j'=i-w+1}^i exp(q_i k_{j'}^⊤),输出为 O_i^SWA = Σ_{j=i-w+1}^i α_ij^SWA v_j。

相似文章

Dynamic Linear Attention

Hugging Face Daily Papers

DLA引入了自适应状态合并和容量受限的内存建模,用于多状态线性注意力,提升了长上下文LLM的性能。

动态线性注意力

arXiv cs.CL

本文提出DLA,一种用于多状态线性注意力的动态内存建模框架,它能根据令牌信息变化自适应地合并状态,并维护固定大小的状态缓存,从而在无需标准注意力二次复杂度的前提下实现更好的长上下文表示。

SparDA:用于高效长上下文 LLM 推理的稀疏解耦注意力

arXiv cs.CL

SparDA 提出了一种解耦稀疏注意力架构,通过添加轻量级"Forecast"投影来预测未来的 KV 缓存需求,从而实现从 CPU 到 GPU 的预取(lookahead prefetching),并降低选择开销。在基于稀疏预训练的 8B 模型上,其 prefill 速度最高可提升 1.25×,decode 速度最高可提升 1.7×,相比非 offload 基线,decode 吞吐量最高可提升 5.3×。