第 10 章 长上下文与推理
第10章 长上下文与推理
10.1 长上下文扩展
自注意力机制的 O(n ) 复杂度从根本上限制了 Transformer 的上下文长度。当今的大型语言模型正从数千 token 的上下 文窗口扩展到数十万乃至百万 token 的规模,这一跨越涉及算法、工程和基础设施层面的多维度创新。长上下文能力直 接决定了模型能否处理完整代码库、全书文档或长对话历史。
10.1.1 二次复杂度的根本挑战
注意力机制的 O(n ) 复杂度已是已知瓶颈。从长上下文扩展的角度,挑战不仅是计算量,更是显存占用。一个 70B 参数 模型在 KV 缓存(KV Cache)上的开销随序列长度线性增长:对于 n = 128K token,单层单头的 KV 缓存在 FP16 下占用 2 × n × d × 2 字节。当层数为 80、头数为 64、d = 128 时,总 KV 缓存约 320 GB——远超单个 A100(80GB)或 H100 (80GB)的显存。 KV 缓存是自回归生成的核心机制,推理时每个 token 都需读取全部历史 Key 与 Value,显存随序列长度线性增长。 FlashAttention 可削减训练期的中间张量占用,但推理期的 KV 缓存仍无法回避。MQA 与 GQA 通过多头共享 KV 投影降 低缓存规模,KV 缓存量化、驱逐与架构级压缩则进一步压减这部分显存开销。
10.1.2 位置编码的长度外推
位置编码的长度外推(Length Extrapolation)是指模型在训练中使用较短序列(如 2K 或 4K token),但在推理时能处 理远超训练长度的序列,且性能不会急剧退化。这一能力取决于位置编码的数学性质。 原始的正弦位置编码使用绝对位置的三角函数:PE(pos, 2i) = sin(pos/10000 )。当推理时的 pos 超过训练时的最大值 2i/d 时,正弦函数可以自然延伸到更大的自变量——但这并不意味着模型能有效利用这些新位置。在无额外训练的情况下,正 弦编码的长度外推能力有限,通常序列长度翻倍即导致 perplexity 显著上升。 旋转位置编码(RoPE)的情况不同。RoPE 的编码表示为 e 的形式,其对位置的外推本质上取决于高频分量(即 i 较 imθ 小时对应的 θ )能否落在训练分布内。当推理长度超过训练长度时,高频分量的旋转角度超出训练范围,导致注意力分数 异常。NTK-aware 缩放(Neural Tangent Kernel-aware Scaling)通过非线性插值调整 RoPE 基频 θ ,使得高频分量的 i 变化更加平缓: i θi′ = θi ⋅ (sntk )2i/d , sntk > 1 该方法无需微调即可将上下文窗口扩展 2-4 倍。YaRN(Peng et al., 2023)进一步结合 NTK-by-parts 缩放和窗口化注意 力,通过少量微调将上下文窗口扩展至 128K,其零样本外推能力约为 2-8 倍。其核心思想是对不同频率维度使用不同的 缩放策略:低频分量(远距离依赖)不缩放以保持语义;高频分量(近距离细节)适当缩放以保持分辨率。
10.1.3 记忆与检索增强方法
除了优化注意力本身,另一种思路是将长上下文问题转化为检索问题:不是让模型在 O(n ) 的矩阵中寻找所有 pairwise 2 关系,而是为每个查询策略性地选择少量相关上下文。 Memorizing Transformer(Wu et al., 2022)引入了一个外部记忆库(External Memory),将过去 token 的 KV 对存储 为可检索的稠密向量集合。每个生成步骤中,当前 token 的 Query 不仅与最近 k 个 token 的 Key 做注意力,还通过 k-近 邻(kNN)检索外部记忆中相关的历史 KV 对。这一设计解决了滑动窗口注意力的信息丢失问题:远距离但相关的信息可 以被 kNN 召回。 ⊤ ⊤ + QKretrieved Attention(Q, K, V ) = softmax ( )[ ] QKlocal Vlocal Vretrieved d Retrieval-Augmented Generation(RAG, Lewis et al., 2020)从系统层面切入:不将全部知识编码进模型参数,而是 将外部文档库作为可查询的知识源。生成答案时,模型先检索相关文档片段,再将片段与问题拼接后输入生成模型。RAG 与长上下文的结合带来了「无限上下文」的可能:只要检索系统足够精准,模型理论上可以访问任意规模的文档集合。
10.1.4 百万级上下文的实践
2023-2024 年间,多家机构推出了支持 128K 至 1M token 上下文的模型。Gemini 1.5 Pro(Google, 2024)是该方向的 标志性成果,通过稀疏注意力和 MoE(Mixture of Experts)架构的组合实现了一百万 token 的上下文处理能力。 长上下文模型的评测面临独特的挑战。传统 benchmarks(如 MMLU、HumanEval)对上下文长度不敏感。新的评测框 架如 Needle-in-a-Haystack(NIAH, Kamradt, 2023)直接在长文本中隐藏关键信息来测试检索能力。更系统的评测如 RULER(Hsieh et al., 2024)用 13 项合成任务覆盖了密集检索、多跳推理、变量追踪等长上下文的子能力。结果显示当 前模型的「有效上下文长度」通常远短于其声称的最大长度——例如一个声称支持 128K 的模型,其多跳推理能力在超过 32K 时已经开始退化。 Core Challenges O(n²) Compute KV Cache Memory Position Extrapolation Key Solutions FlashAttention + GQA Retrieval + Memory RoPE + NTK Scaling Enables Enables Enables 32K-128K Context Unbounded Context 128K-1M Context 图10-1 长上下文扩展的挑战与解决方案 从实践角度看,真正阻碍长上下文模型大规模部署的不是注意力机制的算法瓶颈(这部分已经通过 FlashAttention 得到 较好解决),而是 KV 缓存的内存墙。如图10-1 所示,挑战与解决方案一一对应:每次推理请求需要维护独立的 KV 缓存, 在高并发场景下,内存成本迅速超过计算成本。这一现实推动了 MQA/GQA 的广泛采用,也催生了 KV 缓存量化、驱逐策 略(如 StreamingLLM)和上下文压缩技术等研究方向,系统层面的优化手段进一步将这些技术整合为完整的推理引擎。 截至 2026 年,百万 token 上下文已成为旗舰模型的默认配置:DeepSeek-V4(2026-04)与 Kimi K3(2026-07)均原生 支持 1M 上下文,并将效率与成本控制纳入同一设计目标。
10.2 高效注意力架构
当 Transformer 在长序列上面对 O(n ) 的复杂度瓶颈时,研究者从不同方向探索替代与优化方案。状态空间模型(SSM) 从控制理论视角提供 O(n) 的序列建模范式,线性注意力通过核方法与结合律将复杂度降至 O(nd ),两者与标准注意力形 2 成互补的架构谱系。
10.2.1 替代架构
- SSM 与 Attention 的关系 连续时间状态空间模型由一对方程定义: h′ (t) = Ah(t) + Bx(t), y(t) = Ch(t) 其中 x(t) ∈ R 是输入信号,h(t) ∈ R 是隐状态(通常 N ≫ D),y(t) 是输出,A ∈ R D N N ×N 是状态转移矩阵。离散化后 (通过零阶保持 ZOH 或双线性变换),SSM 可以写成卷积形式: k yk = ∑ CAk−j Bxj j=0
这一形式揭示了 SSM 和 Attention 之间的深层联系。Attention 的输出是 y = ∑ α v ,其中 α = softmax(q k ) 是与 ⊤ 内容相关的权重。相比之下,SSM 的权重 CA B 仅依赖于相对位置 k − j 和全局参数——这是内容无关的加权。换句话 i j ij j ij i j k−j 说,注意力是内容感知的聚合,SSM 是位置感知的聚合。这也是 S4(Structured State Space Sequence Model, Gu et al., 2022)之类的早期 SSM 在语言建模上落后于 Transformer 的根本原因:语言建模需要基于内容的动态交互,而不仅 仅是位置相关的平滑。 HiPPO 矩阵(High-order Polynomial Projection Operators)是 S4 性能的关键。HiPPO 定义了 A 的最优形式,使得隐 状态 h(t) 能够高效地压缩和重建输入信号的历史: ⎧ (2n + 1)(2k + 1) if n > k Ank = − ⎨n + 1 if n = k ⎩ 0 if n < k 这一特殊结构的 A 矩阵使得 S4 可以在 O(n log n) 时间内完成卷积计算,且在超长序列上保持数值稳定。 2) Mamba 的选择性状态空间 Mamba(Gu and Dao, 2023)的核心创新在于将 SSM 从线性时不变(LTI)系统转变为选择性(Selective)系统。在传 统的 S4 中,参数 A、B、C 是固定的,与输入无关。Mamba 让 B 和 C(以及控制离散化步长的 Δ)成为输入 x 的函 数: t B t = s B ( xt ) , C t = s C ( xt ) , Δt = softplus(sΔ (xt )) 其中 s , s , s 是小型线性投影。这一修改看似简单,意义深远:它赋予了 SSM 「选择性关注」输入的能力,Mamba 可 Δ 以对某些 token 给予更多关注(通过调整 Δ ),对另一些 token 选择性遗忘(通过调整 B 决定哪些信息进入隐状态)。 B C t t Mamba 的另一个关键设计是高效的硬件感知实现。由于选择性使 SSM 不再是线性时不变的,卷积形式的并行化不再适 用。Mamba 提出了一种基于并行扫描(Parallel Scan)的算法,将 SSM 递推转化为关联扫描(Associative Scan)操 作,从而在 GPU 上高效执行。具体来说,SSM 的离散递推 h = Aˉ h + Bˉ x 可以写为序列上的二元操作: t t t−1 t t ct = (at , bt ), ci ∙ cj = (aj ∘ ai , aj ∘ bi + bj ) 其中 ∘ 和 + 分别是逐元素乘法和加法。这种扫描操作在 GPU 上可以通过 work-efficient 并行扫描算法在 O(log n) 步骤内 完成。 3) Mamba-2 与结构化注意力 Mamba-2(Dao and Gu, 2024)将选择性 SSM 与注意力机制的联系形式化为结构化掩码注意力(Structured Masked Attention, SMA)。核心发现是:SSM 的递推形式等价于一种特殊的线性注意力,其注意力矩阵被结构化为半可分 (Semiseparable)矩阵,即任意子矩阵的秩有界。 具体来说,具有标量隐状态(N = 1 且 A 退化为标量)的选择性 SSM 等价于计算如下注意力矩阵: j j ( ∏ A k ) Bi Mji = C⊤ k=i+1 当 A 是结构化的(如对角阵),这个乘积可以高效计算。Mamba-2 的关键贡献在于显式化了 SSM 与线性注意力之间的 这一等价关系,并将 Mamba 的选择性 SSM 扩展为多头版本(Multi-head SSM),在 2-8 倍更大的隐状态维度下实现了显 k 著的速度提升。 Mamba-2 在 300B token 的规模上训练了 2.7B 参数的版本,性能持平或超越同规模的 Transformer。更重要的是, Mamba-2 在推理时的吞吐显著高于 Transformer,因为不需要维护 KV 缓存,每个 token 的生成仅需 O(1) 的附加内存 (隐状态维度为常数),而非随序列增长的 KV 缓存。 4) 线性注意力 除 SSM 外,线性注意力(Linear Attention)提供了另一条降低注意力复杂度的路线。标准自注意力的输出可以重写为广 义形式: i ∑j=1 sim(qi , kj )vj Attention(Q, K, V)i = i ∑j=1 sim(qi , kj ) 线性注意力将相似度替换为核函数内积 sim(q, k) = ϕ(q) ϕ(k),利用矩阵乘法结合律将求和顺序重排: ⊤ i i ⊤ ∑ ϕ(qi ) ϕ(kj )vj = ϕ(qi ) ⊤ ⊤ (∑ ϕ(kj )vj⊤ ) j=1 j=1 定义递推状态 S = ∑ ϕ(k )v ∈ R ,每步更新复杂度 O(d ),与 n 解耦。 i i j=1 j ⊤ j dk ×dk k Performer(Choromanski et al. 2021)使用正随机特征(PRF)近似 softmax 核: ϕPRF (x) = [exp(ω1⊤ x − ∥x∥2 /2), … , exp(ωm ⊤ x − ∥x∥2 /2)] m 其中 ω ∼ N (0, I)。PRF 确保核为正,但 m ≥ d 时才逼近标准 softmax,此时复杂度优势减弱。 i k 线性 Transformer(Katharopoulos et al. 2020)直接用 ϕ(x) = ELU(x) + 1 作为核函数,无需随机特征,但省略了 softmax 的指数归一化,在长序列上可能因数值分布偏移退化。 5) 硬件感知的线性注意力 线性注意力的 O(nd ) 理论优于 O(n d),但实际硬件上并非总能获得加速,中等 n(2K-8K)时,O(nd ) 的常量因子可能 2 2 2 使吞吐反不如高度优化的 FlashAttention。 Lightning Attention(Qin et al. 2024 / MiniMax-01 2025)引入分块线性注意力(Chunked Linear Attention):将序列 分割为固定大小块(如 2048),块内使用 FlashAttention(利用 GPU Tensor Core 高效性),块间使用线性注意力递推状 态传递信息,整体流程如图10-2 所示。 Inter-block transfer Fusion Fusion Intra-block computation Block 1 Linear recurrence Block 2 Block 3 FlashAttention State S₁ Sᵢ = Sᵢ₋₁ + φ(Kᵢ)^TVᵢ FlashAttention State S₂ Linear recurrence FlashAttention State S₃ O(c²d) O(c²d) O(c²d) 图10-2 Lightning Attention 的分块混合策略 MiniMax-01 模型(2025 年 1 月)采用此方案,实现了 456B 总参数 / 45.9B 激活参数。关键设计决策: •交替使用标准 Transformer 层和 Lightning Attention 层(约 1:1),同时具备细粒度局部注意力和高效全局上下文; •分块大小 c = 2048,在 128K 序列上比 FlashAttention-2 快约 2.3 倍; •4M 词元的训练上下文窗口。
10.2.2 混合方案
- SSM 与 Transformer 的混合架构 既然 SSM 在长序列效率上占优,Transformer 在上下文学习(In-Context Learning)和复杂推理上更强,一个自然的折 中是混合两者。Jamba(Team et al., 2024)是 AI21 Labs 提出的一种混合架构,交替堆叠 Mamba 层和 Transformer 注 意力层: Input -> [Mamba -> Mamba -> Attention -> Mamba -> Mamba -> Attention -> ...] -> Output 每 n 个 Mamba 层后插入一个注意力层(通常 n = 4 或 8)。这种设计的合理性在于:Mamba 层高效处理局部和全局的序 列聚合,注意力层提供周期性的全局内容感知交互,类似于「稀疏地」使用昂贵的注意力操作。Jamba 在 52B 总参数 (12B 激活参数)下,使用 MoE(Mixture of Experts)进一步压缩了每 token 的计算量,在长上下文基准上展现了相比 纯 Transformer 的性价比优势。S4、Mamba 与 Mamba-2 的演进路径如图10-3 所示。 S4 (2022) - LTI System Fixed A,B,C parameters O(n log n) via convolution Content-independent, lag s in LM Key Insight: Selectivity Mamba (2023) - Selective SSM B,C,Δ = f(input) Content-aware selection Parallel scan on GPU Key Insight: Unification Mamba-2 (2024) SSM = Structured Masked Multi-head SSM Matches Transformer at 30
Attention 0B scale 图10-3 状态空间模型的演进路径 SSM 是否能够取代 Transformer?从 2024 年的研究现状来看,答案尚不明确。Mamba 在长序列语言建模和 DNA 序列分 析上表现突出,但在需要复杂上下文学习的任务(如多步算术推理、代码生成中的长距离变量追踪)上仍不及高质量 Transformer。最可能的前景是混合架构——SSM 承担长的、结构化的序列处理,注意力在关键决策点提供大规模的上下 文交互。这一路径由 Jamba、Zamba 等模型初步验证。 2026 年,这一趋势发生了明显转向:混合思想不再局限于「SSM 层与注意力层交替堆叠」,而是下沉到注意力内部。 DeepSeek-V4 采用的 CSA+HCA 混合注意力,将局部块内的滑动注意力与稀疏的全局注意力结合,在保持全局内容感知 的同时把计算量降到全注意力之下。换言之,「廉价局部 + 稀疏全局」的组合公式已被注意力自身吸收,SSM 与注意力之 争由此转化为「如何混合」的效率问题,而非「用谁取代谁」的路线之争。混合架构仍需更大规模训练和更严格评测的确 认,但其工程价值已在长上下文推理成本上得到初步兑现。 2) 矩形稀疏注意力 2026 年提出的 Rectified Sparse Attention 走的是第三条路:保持注意力的原始形式,通过数据依赖的稀疏掩码限制每个 词元关注的范围。其算法流程:
- 用极小随机子集近似计算全注意力分数;
- 基于分数分布的偏度和峰度确定「修正邻域」;
- 仅在该邻域内执行完整注意力计算。 实验显示在 128K 上下文时,该方法在保持与全注意力 98% 以上分数一致性的同时,计算量缩减至 O(n log n),且因复用 FlashAttention 成熟 kernel,实际吞吐高于线性注意力。
10.2.3 总结
- 三条路线的综合比较 三条路线在计算复杂度、硬件友好度与长序列建模上的差异如表10-1 所示。 维度 稀疏注意力 线性注意力 SSM 计算复杂度 O(n log n) O(nd2 ) O(nN d) 理论依据 注意力长尾分布 核方法 + 结合律 连续时间动力系统 硬件友好度 高(复用 FlashAttention) 中(需定制 kernel) 高(Mamba-2 已适配) 长序列建模 取决于稀疏模式 受限于核函数逼近 强(HiPPO 初始化) Transformer 兼容性 高(最小化修改) 中(需替换注意力) 低(架构迥异) 代表模型 Rectified Sparse 2026 Lightning Attention Mamba-2 / Gated DeltaNet 2025-2026 趋势 动态稀疏掩码 分块混合 + 硬件优化 门控 + 规模化 表10-1 稀疏注意力、线性注意力与 SSM 对比
- 混合架构的未来 架构的终极目标不是数学优雅,而是在给定硬件约束下最大化有效上下文长度和每个词元的信息处理量。2026 年的显著 趋势是混合架构: •注意力 + SSM 混合层:前几层用 SSM 高效处理全局,后几层用注意力精确建模局部; •MoE + SSM:不同专家维护不同时间尺度的隐状态,解决 SSM 捕捉快速变化模式的弱点; •线性注意力 + 稀疏注意力级联:先线性扫描全局,再稀疏精确定位,类似人类「略读+精读」; •选择性 SSM 作为注意力替代:Griffin、Jamba 等模型已将 SSM 确立为可选的注意力替换方案。 从 2017 年的纯 Transformer 到 2026 年的多元架构格局,序列建模已从「注意力独裁」转向「架构生态」。正如 Mamba- 2 理论所揭示的,注意力、SSM 和线性注意力不是竞争者,而是同一数学谱系上的不同坐标点。
- 架构选择的方法论指南 面对注意力、线性注意力、SSM 三条路线,实践者如何做出选择?以下决策框架基于 2025-2026 年的工程经验:
- 序列长度 < 8K:标准 Transformer + FlashAttention + GQA(g = h/4)是性价比最优方案。线性注意力和 SSM 在此长 度范围无优势;
- 8K < 序列长度 < 128K:考虑混合架构(如 Jamba 的 Transformer + Mamba 交替层),或使用 MLA + 解耦 RoPE (DeepSeek-V3 路线)。稀疏注意力(如 Rectified Sparse Attention)也在此范围具有竞争力;
- 序列长度 > 128K:SSM(Mamba-2)和 Lightning Attention 成为主要选择。此时 O(n ) 的注意力即使配合 FlashAttention 也因内存占用过高而不实用;
- 超长上下文 + 高吞吐推理:Mamba-2 和 Gated DeltaNet 凭借 O(N ) 恒定推理状态成为唯一可行方案。此时 SSM 的优 势从「性能相当」变为「唯一可能」。 架构的未来是模块化:单一架构可能在所有场景下都不是最优的。2026 年的趋势是将 Transformer 层、SSM 层、线性注 意力层、MoE 层作为「乐高积木」,根据具体任务和硬件约束组合使用。这一方向的核心技术挑战是:如何在不同架构模 块之间实现平滑的信息传递(如如何在 Mamba 层和 Transformer 层之间转换表示),这是「架构生态」时代的关键研究 问题。
10.3 KV 缓存量化与淘汰
KVarN(Variance-Normalized KV-Cache Quantization, 华为 2026)提出了一种面向推理任务的 KV Cache 量化方案, 其核心洞察是:标准量化方法的误差在长推理链中累积传播,而方差归一化可以有效抑制这一累积效应。本节从误差累积 问题出发,阐述 KVarN 的数学原理、实现方案和实验效果,随后讨论面向推理链的 KV 淘汰策略与架构级压缩手段。
10.3.1 误差累积与量化动机
KV Cache 量化是指将 Key 和 Value 向量从 FP16/FP32 压缩到低精度(如 INT4/INT8),以节省显存并提升吞吐。标准方 法将每通道或每 token 的 KV 向量独立量化: ^ h = Q(Kh ) = round ( Kh − μK ) , K V^h = Q(Vh ) = round ( V h − μV ) sK sV 其中 s , s 为量化步长(Scale),μ , μ 为零点(Zero Point)。 K V K V 在短序列、一次生成的场景中,这种逐层独立量化的误差通常可接受(困惑度退化 < 1%)。然而在长推理链场景(如 o1/R1 风格的数千 token 推理链)中,误差的行为发生了质的变化: 设某一层的量化误差为 ϵ 和 ϵ : (l) K (l) V (l) ^ (l) , ϵK = K (l) − K ϵV = V (l) − V^ (l) (l) 注意力输出误差可传播至下一层: (l) O(l) = softmax ( ) ⋅ (V (l) + ϵV ) Q(l) ⋅ (K (l) + ϵK )T (l) d 这导致 O = O (l) (l) exact + δ (l) ,且 δ 在多层前向传播中复合叠加。KVarN 的理论分析证明,在 L 层网络中,输出端的累积误 (l) 差上界为: L L ∥δ (L) ∥2 ≤ ∑ ∏ ∥WO(j) ∥2 ⋅ ∥δattn (l) ∥2 l=1 j=l+1 对于典型的 70B 模型(L = 80),若每层误差放大因子 ∥W ∥ ≈ 1.05,80 层后的累积误差可达 1.05 ≈ 49.6×,即初始量 O 2 化误差被放大了近 50 倍。这对于推理链中后期步骤的准确性是灾难性的。 推理链长度 KIVI(INT4) PPL FlexGen(INT4) PPL KVarN(INT4) PPL 无量化 PPL 512 8.42 8.67 8.29 8.21 1024 8.91 9.34 8.38 8.23 2048 9.87 10.79 8.52 8.25 4096 11.43 13.21 8.74 8.28 8192 14.18 17.93 9.12 8.31 表10-2 不同序列长度下 KV Cache 量化困惑度对比 配置:LLaMA-2-7B, WikiText-2。 从表10-2 可见,KIVI 和 FlexGen 的 PPL 在 4K tokens 以上急剧恶化,而 KVarN 保持平缓退化,其核心机制正是方差归一 化。
10.3.2 方差归一化的原理
标准量化的问题在于:量化网格的步长是根据数据的全局或局部极值范围计算的,但当数据的方差沿通道方向高度不均匀 时,大方差通道的量化精度被牺牲以迁就小方差通道的统一步长。 设 Key 矩阵 K ∈ R ,其中 N 为序列长度,d 为每头维度。沿通道(column)方向的方差不均匀性可量化为: N ×d maxj Var(K:,j ) VarRatio(K) = minj Var(K:,j ) 在 LLaMA-2-7B 的中间层(第 16 层),KVarN 测量到 VarRatio(K) 高达 12.7×,V 矩阵的该比值达到 8.3×。这意味着如 果对所有通道使用统一的量化步长,高方差通道的量化信噪比将严重劣化。 KVarN 的解决方案是逐通道方差归一化(Per-Channel Variance Normalization):在量化之前,先沿通道方向对 KV 矩阵 进行标准化,使各通道方差均衡为 1: ~ K:,j − μj K:,j = , ∀j ∈ {1, …, d} σj 其中 μ = ∑ K ,σ = ∑ (K − μ ) 。 j N N i=1 i,j j N N i=1 i,j j 标准化后,各通道的方差均被归一化为 1,VarRatio(K~ ) ≈ 1.0,此时统一的量化步长可以对所有通道公平地分配量化精 度。量化完成后,在注意力计算中通过缩放因子 σ 还原实际数值: j :,j ), ^ :,j = σj ⋅ QINT4 (K V:,j = σj ⋅ QINT4 (V K :,j )
10.3.3 组量化与校准
单独的逐通道方差归一化解决了通道间方差差异,但通道内的 token 间方差差异(沿序列方向)仍然存在。KVarN 将方 差归一化与组量化(Group Quantization)融合: 对于 Key K ∈ R ,先进行通道方差归一化得 K,然后将按 tokenK方向分成 G 个组,每组 g = N /G 个 token。每组独立计算量 N ×d 化参数(步长 s 、零点 z ): g g ~ ^ i,j = σj ⋅ round ( Ki,j − zg ) ⋅ sg + zg ⋅ σj K sg 组的划分策略影响量化精度和计算开销:组太小(g 小)提升精度但增加步长存储开销(每组需存储 s , z 各一个标量); 组太大(g 大)降低开销但回到大方差问题。KVarN 通过消融实验确定 g = 128(即每 128 个 token 为一组)为最佳平衡 g g 点。完整量化流水线如图10-4 所示。 Channel variance normalization Group Quantization Input: KV Matrix K ∈ R^(N×d) Output: Quantized KV N tokens × d dimensions Calculate channel mean μ Each group independentl K̂ = σ_j · Q(K̃ ) Highly uneven variance j y computed Store: INT4 + σ_j + (s_g, z Calculate channel std σ_j {':,j'} = (K{':,j'} - μ_j) / σ K̃ Split into G groups along t s_g, z_g -> INT4 g) _j oken dimension Each channel variance -> 1 Each group g = N/G tokens 图10-4 KVarN 的方差归一化 + 组量化流水线 KVarN 的方差归一化参数(μ , σ )和组量化参数(s , z )不需要重新训练模型。校准过程使用少量代表性文本(512 个 样本,每样本 2048 token): j j g g
- 用校准数据运行模型前向传播,记录每一层 Key 和 Value 的分布统计;
- 计算各通道的 μ 和 σ (使用运行均值和运行方差的指数移动平均);
- 基于归一化后的 K和计算组量化范围 j j [min, max],确定 s 和 z ; V g g
- 冻结上述参数,在推理阶段直接应用。 校准的全过程只需约 3-5 分钟(单卡 A100),且无需访问训练数据——仅需少量覆盖不同主题的通用文本。校准后的参数 可随模型一同分发,用户端无需重复校准。
10.3.4 推理实现与显存
KVarN 在推理时的计算流程与标准 KV Cache 有以下差异: 写入阶段(Prefill/Decode Step):新生成的 token 的 K , V 向量在进入 KV Cache 前先进行方差归一化和组量化,这是 一个轻量级的逐元素操作(O(d)),与自回归解码的 O(d ) 计算量相比可忽略不计。 t t 读取阶段(Attention 计算): )]T ) ⋅ [Σ ⊙ QINT4 (V Attention(Q, K , V ) = softmax ( Q ⋅ [Σ ⊙ QINT4 (K )] ^ ^ d 其中 Σ ∈ R 是方差缩放因子矩阵,Σ = σ (沿通道方向广播)。实际实现中: N ×d i,j j •K^ 以 INT4 格式存储在 HBM 中,读取时通过 GPU 的 INT4→FP16 硬件转换(Tensor Core 的 ldmatrix 指令)加载到 SRAM; •方差缩放因子 Σ 以 FP16 格式存储在单独的 buffer 中(N × d 个元素,但在组量化 + 方差归一化下,每个通道仅需 1 个 σ ,开销为 d 个 FP16 = 2d 字节——对 d = 128 仅 256 字节,完全可忽略)。 j 内存节省: ntokens × 4 ntokens KVarN = 2 × L × H × dh × ( + × 2 × 2 + dh × 2) bytes MKV g 以 LLaMA-70B 为例(L = 80, H = 64, d = 128, g = 128),FP16 KV Cache 约 10.7GB/4K 序列,KVarN INT4 下约 3.2GB,压缩比约 3.4×。 h
10.3.5 任务表现与消融
KVarN 的核心贡献是证明了方差归一化对推理任务(Reasoning Tasks)的保护效果远超对知识任务(Knowledge Tasks): 任务 指标 无量化 KIVI-INT4 FlexGen-INT4 QServe-W4A4KV4 KVarN-INT4 GSM8K EM 56.2 54.1 52.7 53.5 55.8 MATH EM 28.4 24.7 22.1 25.3 27.9 AIME 2024 pass@1 15.6 12.3 9.8 13.1 15.1 GPQA EM 42.3 39.8 37.2 40.1 42.0 MMLU EM 68.7 68.2 67.1 67.8 68.5 HumanEval pass@1 48.2 45.7 43.9 46.3 47.8 表10-3 KV Cache 量化方案的推理与知识任务准确率 配置:LLaMA-2-70B,序列长度 4096。 关键发现:KVarN 在推理密集型任务(AIME、MATH、GPQA)上的退化仅 0.3-0.5 个百分点,而 KIVI 和 FlexGen 的退化 高达 3-6 个百分点。在知识密集型任务(MMLU)上,所有量化方案的表现接近——这与 KVarN 的理论一致:知识任务不 需要深层注意力间的误差传播,因此量化误差的累积效应对其影响甚微。 KVarN 论文报告的关键消融实验揭示了各组件对性能的独立贡献(以 LLaMA-2-7B 在 MATH 上的 EM 为指标,无量化基线 = 14.2%),结果如表10-4 所示: 配置 EM Δ from Baseline 无量化(FP16) 14.2 — 仅逐 token 量化(INT4) 11.1 -3.1
- 逐通道方差归一化 13.3 -0.9
- 组量化(g = 128) 13.6 -0.6
- 组量化(g = 64) 13.8 -0.4
- 组量化(g = 128) + 校准数据量 2× 13.9 -0.3 KVarN 完整方案(g = 128, 512 calib) 13.8 -0.4 表10-4 KVarN 消融实验各组件贡献 消融实验揭示了三个关键洞察: •方差归一化是最大单一贡献者:它将退化从 -3.1 降至 -0.9(恢复了 71.0% 的损失),验证了通道间方差差异是量化误差 的主要来源。 •组量化提供渐进增益:g = 128 带来 0.3 个百分点改善,g = 64 带来额外 0.2 个百分点改善,但参数开销翻倍,g = 128 是精度与效率的最佳平衡。 •校准数据量的饱和效应:512 样本已足够,增加到 1024 样本仅带来 0.1 个百分点提升,验证了方差统计量在分布内样 本上的快速收敛性。
10.3.6 理论分析与兼容
KVarN 的作者从率失真理论(Rate-Distortion Theory)出发,给出了方差归一化改善量化精度的理论证明。 设 K 为第 j 个通道的激活值,方差为 σ 。在 INT4 量化(16 个量化级别,量化区间宽度为 Δ)下,量化均方误差为: :,j j Δ2j MSEstandard ^ :,j )2 ] ≈ = E[(K:,j − K j 其中 Δ ≈ j ∝ σ (对于正态分布,范围 ≈ 6σ )。 max(K:,j )−min(K:,j ) j j 因此各通道的 MSE 与 σ 成比例。总 MSE 为通道 MSE 的加权和——大方差通道支配总误差: j d d 1 C2 1 MSEtotal = ∑ MSEj ≈ ⋅ ∑ σ2 12 d j=1 j d j=1 在方差归一化后,σ = 1, ∀j,所有通道对总误差的贡献均等:j C2 MSEnorm total = MSE 改善比率为: d MSEtotal 1 norm = ∑ σ 2 = VarAvg(K) MSEtotal d j=1 j 对于 LLaMA-2-7B 第 16 层 K 矩阵,VarAvg(K) ≈ 3.2,即方差归一化将量化 MSE 降低了约 3.2×——与消融实验中观察 到的退化改善比例高度一致。 KVarN 的方差归一化是一种输入预处理方案,而非量化算法本身,因此可以与现有的 KV Cache 量化方法正交叠加。与主 流方案的集成情况如表10-5 所示: 方案 原有机制 集成方式 效果 KIVI 逐 token 量化 + 极小校准集 叠加通道方差归一化 MATH EM 从 24.7% 提升至约 27.2% FlexGen 逐层 4-bit KV 量化 + 分层 Offloading 方差归一化嵌入量化步骤 额外存储仅 2d 字节/层 方案 原有机制 集成方式 效果 QServe W4A4KV4 全栈量化 KV4 步骤应用方差归一化预处理 正交叠加无冲突 表10-5 KVarN 与已有量化方案的兼容集成
10.3.7 局限与扩展
尽管 KVarN 在推理任务的 KV Cache 量化上取得了基准最优成绩,仍存在以下局限: •静态校准的漂移:方差归一化参数(μ , σ )在校准后固定。在极大偏离校准数据分布的输入(如极长的多语言混合推 理)下,归一化的最优性可能退化。自适应在线更新 σ 是自然的扩展方向。 j j j •与稀疏注意力的张力:方差归一化将 KV 向量的方差均一化后,可能会削弱稀疏注意力方法(如 MInference、 Spotlight)依赖的 KV 值差异模式,导致稀疏选择的精度下降。 •硬件适配:当前 KVarN 的实现依赖 INT4→FP16 的硬件转换(如 NVIDIA 的 MMA 指令),在部分边缘设备(如 Apple Neural Engine)上尚需手写内核适配。 2026 年,KVarN 的后续工作正沿两个方向推进:动态方差归一化(在推理过程中在线更新 σ )和融合量化-稀疏范式(将 方差归一化作为稀疏注意力的预处理步骤,使两者协同而非竞争)。 j
10.3.8 淘汰问题的定义
Value-Aware Stochastic KV Cache Eviction(2026)提出了一种面向推理模型的 KV Cache 淘汰策略。其核心洞察是: 简单的 LRU/FIFO 淘汰策略在推理链场景下会错误地丢弃对未来推理步骤至关重要的 KV 对,而将注意力分数与 KV 值的 范数相结合的随机淘汰机制可以显著缓解这一问题。 KV Cache 淘汰(Eviction)的目标是:在显存预算 B 的约束下,从当前长度为 N 的 KV Cache 中选择 K = KV 个 token 的 KV 对保留,丢弃其余 N − K 个 token 的 KV 对,使得后续注意力的计算精度损失最小。 BKV 2×d×L×bytes_per_elem 形式化地,给定 Query 矩阵 Q、完整 KV Cache (K, V)、以及保留 token 索引集 S (∣S∣ = K ),淘汰后的注意力输出近 似误差为: QKT QKTS L(S) = softmax ( ) V − softmax ( ) VS d d F 最优淘汰问题是:在 ∣S∣ = K 约束下最小化 L(S)。这是一个 NP-hard 的子集选择问题,实际中需要启发式或随机近似求 解。 简单策略在推理链场景下为何失败,可以分别考察: LRU(Least Recently Used)淘汰:优先丢弃时间上最久远的 token。这个策略源于操作系统中的页面替换,但在 LLM 推理中失败的原因直观:推理任务的「远距离依赖」恰恰是推理链的核心,例如,问题的初始条件和前提假设(通常位于 序列开头)在推理的每一步都可能被重新引用。LRU 恰好优先丢弃了这些信息。 FIFO(First-In-First-Out)淘汰:按 token 进入序列的顺序淘汰。同样在推理场景中失败——前提信息最早进入,因此最 先被 FIFO 丢弃。 仅注意力分数淘汰(H2O/Heavy-Hitter Oracle 风格):仅使用累积注意力分数 ∑ softmax(Q K ) 作为 token 重要性 T h :,i 的依据,丢弃低分 token。这个策略在标准任务上有效,但在推理链中失败的原因有二: h h •注意力分数 ≠ 信息价值:一个 token 的 Key 可能对注意力计算有高贡献(体现在注意力分数上),但其 Value 可能几 乎是零向量——保留这样的 token 对输出毫无贡献。 •推理链中的「休眠 token」:推理过程中,某些中间步骤的 token 在当前注意力窗口中得分很低,但它们在链的后期 (如回溯纠错时)将成为关键证据。纯注意力分数无法预见未来需求。 各策略在推理链场景下的行为对比如图10-5 所示。 Reasoning chain: Math problem solving Token 1-50: Problem state Token 51-200: Reasoning s Token 201-350: Reasoning Token 351-500: Conclusio ment teps 1 steps 2 n and Verification 'Given a+b=10, a-b=2, find 'From a+b=10...we get... 'From a-b=2...we get... 'Verify a=6, b=4, a²-b²=...' a²-b²' Eviction Strategy Comparison LRU Eviction FIFO Eviction Pure Attention Eviction Drop T1 (question premis Drop T1 (question premis Drop T3 (intermediate reas Value-Aware Eviction e) e) oning) Keep T1 + T3 + T4 Cannot look back during v Same as above Backtrack correction lost Preserves key information erification 图10-5 不同淘汰策略在推理链场景下的行为对比
10.3.9 评分与随机淘汰
Value-Aware 方案的核心创新是其重要性评分函数,融合三个正交信号: 注意力分数(Attention Score) A :来自最近 W 个 token 窗口内的注意力分数累积: i softmax ( ) H N T Qt,h Ki,h Ai = ∑ ∑ h=1 t=N −W +1 dh 仅使用最近的 W 个 token(而非全局累积)避免了对早期高注意力 token 的过度偏袒——一个 token 可能在生成第 10 步 时被高度关注,但在第 100 步时已不再重要。 值范数(Value Norm) V :token i 的 Value 向量的 L2 范数: i d Vi = ∥Vi,: ∥2 = ∑ Vi,j j=1 值范数的直觉:在注意力输出 O = ∑ α V 中,V 的范数直接决定了该 token 对输出的最大可能贡献。一个注意力分数 很高但 V 接近零向量的 token,实际上对输出几乎没有影响。值范数弥补了这一遗漏。 i i i i 时序衰减(Recency Decay) R :token i 的时间位置衰减: i N −i Ri = exp (−λ ⋅ ) N 其中 λ 控制衰减速率。时序衰减的动机:在推理链中,最近生成的 token(如当前的推理步骤和中间结果)通常比远古 token(如格式标记、无关过渡语句)更需要保留。但衰减不应过度——前提条件(位于序列开头)需要被保护,因此衰 减因子 λ 设得较小(λ ≈ 0.5),使 R 在 i = 0 时仍为 e ≈ 0.61。 i −0.5 融合评分: β γ Score(i) = Aαi ⋅ Vi ⋅ Ri 其中 α, β, γ 为可调的指数权重。论文通过消融实验确定 α = 1.0, β = 0.5, γ = 0.3 为最优配置,注意力分数为第一要素, 值范数为辅助校准,时序衰减为轻微正则化。 如果严格按 Score(i) 降序选择 top-K 个 token,系统将面临确定性退化(Deterministic Degradation):每次淘汰后的 KV Cache 分布完全相同,模型可能在低分 token 的缺失下产生系统性偏差,尤其是在多轮对话和交互式推理中,某些被 永久淘汰的 token 可能在下轮再次需要。 Value-Aware 方案引入了随机淘汰(Stochastic Eviction):以保留概率 p 替代确定性选取: i Score(i) ⋅ min (1, ) K pi = ∑N j=1 Score(j) ∑i I[randi < pi ] 其中第二阶段通过归一化因子确保期望保留数量为 K 。实际实现中,系统对每个 token 采样 Bernoulli(p ) 决定保留/丢 弃,然后根据实际保留数与 K 的偏差进行少量后处理调整(在线性时间内)。 i 随机淘汰的优势: •探索性保留:低分但可能在后续有用的 token 有较小概率被保留; •多样性保护:不同请求的 KV Cache 分布不同,避免系统性模式崩溃; •在线适应性:在一个步长内随机保留一些通常会被丢弃的 token,下一个步长可以根据最新的注意力模式重新评估。
10.3.10 PagedAttention 集成
Value-Aware 淘汰可以无缝嵌入 vLLM 的 PagedAttention 框架:
- 评分计算:在 PagedAttention 的每个 decode step 后,利用已缓存在 SRAM 中的注意力分数数据(PagedAttention 内核内部计算,无额外 HBM 读取),增量更新 Score(i) ;
- 淘汰调度:当 KV Cache 的总页数达到显存预算上限时,触发淘汰调度——扫描所有物理页,按 Score 计算保留概率, 标记淘汰页为可重用;
- 延迟释放:被标记的淘汰页不立即释放,而是在新 token 需要写入新页时覆盖——这是一个「懒释放(Lazy Eviction)」 策略,避免了一旦淘汰后立即需要(如注意力模式反转)时的重新计算开销。 集成流程如图10-6 所示。 Request Scheduler LLM Inference Engine KV Cache Manager GPU Memory Submit decode step Request KV page for current token Check available pages alt [Sufficient pages] Allocate new page Return page address [Insufficient pages, trigger eviction] No available pages Calculate all physical page scores A_i^α · V_i^β · R_i^γ By retention probability p_i, randomly mark eviction pages Reclaim evicted pages (Mark reusable) Reclaim confirmed Allocate new page Return page address Return page address Attention computation Incremental update Score (A_i, V_i, R_i) Return generated token Request Scheduler LLM Inference Engine KV Cache Manager GPU Memory 图10-6 PagedAttention 中的 Value-Aware 淘汰集成
10.3.11 评测与任务保护
Value-Aware 方案在长上下文推理任务上进行了系统评估,结果如表10-6 所示: 方法 LongBench (avg) ∞Bench (avg) RULER (4K-32K avg) Needle-in-Haystack (32K) 完整 KV Cache (FP16) 48.2 52.6 84.3 96.4% FIFO (50% evict) 35.7 38.1 62.5 71.2% LRU (50% evict) 37.9 40.3 65.8 74.5% H2O (50% evict) 42.1 45.7 73.4 83.1% StreamingLLM (50% evict) 41.3 44.9 72.1 81.7% 方法 LongBench (avg) ∞Bench (avg) RULER (4K-32K avg) Needle-in-Haystack (32K) Scissorhands (50% evict) 42.8 46.2 75.0 84.5% Value-Aware (50% evict) 45.3 49.1 80.2 91.8% Value-Aware (75% evict) 41.7 44.8 74.6 84.3% 表10-6 KV Cache 淘汰方法长上下文基准对比 配置:LLaMA-3-8B-Instruct。 在 50% 淘汰率下,Value-Aware 在所有基准上显著优于其他淘汰方法。与完整 KV Cache 的差距仅 2-4 个百分点,相当 于将 KV Cache 容量减半但保留了约 93% 的推理能力。 在更激进的 75% 淘汰率下,Value-Aware 的性能回退明显(约 7 个百分点),但仍优于多数方法在 50% 淘汰率下的表 现。这验证了值感知评分在极度显存压力下的鲁棒性。 Value-Aware 方案对推理任务(尤其是链式推理)提供的保护程度显著高于非推理任务,这一特性源于值范数 V 分量的 贡献: i 在非推理任务(如文本摘要、翻译)中,不同 token 的 V 分布相对均匀(方差系数 < 0.3),淘汰决策主要由注意力分数 A 驱动——与 H2O 和 Scissorhands 的行为类似。 i i 在推理任务(如数学证明、代码生成)中,某些关键 token(如问题中的数字约束、推理中的中间结果)的 V 显著高于 背景 token(方差系数 > 0.8)。这是因为推理类模型的 Value 向量编码了更丰富的信息内容,导致信息密集 token 与信息 i 稀疏 token 之间的范数差异扩大。值范数分量为这些信息密集型 token 提供了额外的保护分数,避免它们被注意力分数 主导的淘汰策略丢弃。
10.3.12 消融与开销
在 LLaMA-3-8B-Instruct 上的消融实验(LongBench avg,50% 淘汰率,完整 KV Cache = 48.2): 评分配置 LongBench avg Δ 仅注意力分数 A i
42.7 -5.5
仅值范数 V i 38.2 -10.0 仅时序衰减 R i 36.4 -11.8 A i + Vi
44.6 -3.6
A i + Ri 43.0 -5.2 V i + Ri
41.1 -7.1
A i + V i + Ri (Value-Aware) 45.3 -2.9 表10-7 Value-Aware 评分的消融实验 关键发现: •注意力分数是主导分量:单独使用 A 就达到了 42.7,在三个分量中基础能力最强,这与直觉一致——注意力机制本身 就是信息重要性最直接的代理信号。 i •值范数是关键的补充:A + V (44.6)比单独 A (42.7)高出 1.9 个百分点。这验证了值范数捕捉到了注意力分数遗 漏的「信息密度」维度。 i i i •时序衰减提供稳定性:A + V + R (45.3)比 A + V (44.6)提升 0.7 个百分点。提升幅度不大,但在极高的淘汰率 下(75%),时序衰减的作用更加明显——保护了推理链中最近的推理步骤不被过早淘汰。 i i i i i •单独使用值范数或时序衰减效果很差:它们应被视为辅助项而非主导项。 Value-Aware 淘汰的开销分为补充存储和补充计算两部分: 补充存储:每 token 需要维护 3 个标量(A , V , R )和一个 FP32 融合分数。约 16 字节/token。对于 128K 上下文,约 2MB 额外存储,与 KV Cache 总量(5GB+)相比可忽略。 i i i 补充计算:在每次 decode step 后,为最新 token 更新评分需: •V 计算:O(1)(直接取新生成 token 的 Value 范数) i •A 更新:O(W ⋅ d)(对最近 W 个 token 计算注意力分数) i •R 更新:O(1)(递减衰减) i 合并计算约为 O(W ⋅ d),与 decode step 本身的 O(d ) 相比,在典型配置(W = 512, d = 128)下约占 0.5% 的额外计 算。淘汰调度本身(按 Score 随机筛选举保留 token)是 O(N log N ) 的排序操作,仅在显存压力触发时执行(每几百个 decode step 一次)。
10.3.13 工程协同与局限
Value-Aware 淘汰与现有的 KV Cache 管理方案并非竞争而是互补: •前缀缓存(Prefix Caching)处理的是多个请求间的共享前缀(如系统 prompt),属于跨请求优化; •Value-Aware 淘汰处理的是单个请求内的冗余 token,属于请求内优化; •分层淘汰(Hierarchical Eviction)可以在前缀缓存(跨请求共享,高优先保留)和请求私有 KV(低优先,可淘汰)之 间建立两层淘汰策略。 在实践中,最优方案是将三者结合:前缀缓存保证系统 prompt 的 KV 对从不被淘汰;分层淘汰将请求私有的 KV 标记为 可回收;Value-Aware 评分在可回收池中选择具体淘汰哪些 token。 Value-Aware 淘汰的主要局限: •离线最优性没有保证:随机淘汰策略即使在期望意义下可以保留正确的 token 集,单次运行的随机性仍可能导致关键 token 以非零概率被丢弃。论文提出通过多次采样 + 投票缓解,但增加了工程复杂度。 •与 GQA/MQA 的交互:在 Group Query Attention(GQA)和 Multi-Query Attention(MQA)下,KV 头的数量少于 Q 头。评分函数需要权衡,是按 Q 头聚合注意力(保留头间差异信息)还是按 KV 头评分(但可能丢失某些 Q 头的模 式)。论文推荐前者,但在极端的 MQA 下(1 个 KV 头,64 个 Q 头),聚合信号可能被噪声淹没。 •对 MoE 模型的适配:MoE 模型的 KV 重要性可能因激活的专家组合而异。当前方案对所有 token 统一评分,未考虑专 家选择性——这可能导致某些专家专用的 KV 被错误淘汰。 2026 年的后续工作正探索学习型淘汰策略(用小型神经网络预测 token 在未来步长的注意力概率,替代启发式评分)和 双缓冲淘汰(维护活跃池和存档池,低分 token 进入存档池而非直接丢弃,在注意力计算的预备阶段从 GB 级的 CPU 内 存异步预取回 GPU 显存)。
10.3.14 架构级压缩
多头潜在注意力(Multi-head Latent Attention, MLA)把 Key 与 Value 压缩进低秩潜向量,使 KV 缓存相对 GQA 再降一 个数量级,是 DeepSeek 系列实现长上下文的关键。MLA 的代价是潜向量需在注意力计算时解压,略增计算量,但长上 下文下显存的节省远大于这点开销,这是「以算换存」的典型取舍。DeepSeek-V4(2026-04)在此之上结合 CSA+HCA 混合注意力,将单 token 推理 FLOPs 降至 V3.2 的约 27%、KV 缓存开销约为 V3.2 的 10%,使百万 token 上下文从「展 示能力」走向「普惠部署」。Kimi K3(2026-07)同样原生支持 1M 上下文,其 KDA 前缀缓存方案已贡献给 vLLM 生态。 多层 KV(Multi-Layer KV, MLKV)将 KV 缓存的共享粒度从层内扩展到层间:相邻两层或一组层共用同一份 KV 缓存,推 理时只需为整组层维护一次 K/V。若两层共享一份 KV,缓存即减半,长上下文部署的显存压力显著缓解。代价方面,层 间共享对表达能力有轻微影响,需要精心设计共享分组(如相邻层两两一组)将质量损失控制在可接受范围内。MLKV 与 GQA/MLA 正交可叠加:先在层内做分组或潜在压缩,再在层间做共享。 块级注意力(Block-Attention)与稀疏 KV 共享也是同期趋势,将序列划分为块、限定查询块的可见键块范围。这些方法 属于架构设计层面的选择,与推理引擎的运行时优化定位不同。
10.4 投机解码与流水线解码
投机解码(Speculative Decoding)通过「草稿-验证」双模型架构突破自回归解码的内存带宽墙。2025-2026 年间,投 机解码在草稿模型设计、蒸馏训练和自投机方向取得了多项突破性进展。本节先介绍投机解码的原理与草稿模型设计,再 讨论树状扩展与部署实践,最后阐述流水线并行下的融合方案。
10.4.1 投机解码的原理
自回归解码每步仅生成一个 token,需读取全部模型权重(70B 参数约 140GB),受限于内存带宽(HBM Bandwidth)。 投机解码的核心思想是用一个轻量级草稿模型(Draft Model)快速生成 k 个候选 token,然后由目标模型(Target Model)以一次前向传播同时验证所有 k 个候选:
- 草稿模型 M 自回归生成 k 个候选 token:y ,,y…, y~ d k
- 目标模型 M 以当前 KV Cache 为输入,单次前向计算所有 k + 1 步的 logits
- 验证:对每个候选 y,)pt( 以概率 t y~i))min (1, 接受;首个被拒绝的候选及其后续全部丢弃 ii pd ( y
- 在拒绝位置,从调整后的目标分布中采样替代 token 期望接受 token 数:E[accepted] = ,其中 α 为单 token 接受率。当 α → 1 时,E[accepted] → k——草稿与目标模 1−αk+1 型高度对齐时,几乎无浪费。 1−α 注意力计算为 O(k ⋅ d )(对目标模型是 O(1) 次前向而非 O(k) 次),因此投机解码的加速比为: Ttarget ⋅ E[accepted] Speedup ≈ k ⋅ Tdraft + Ttarget 当T target ≫ Tdraft 且 E[accepted] ≈ k 时,加速比趋近 k。
10.4.2 草稿模型设计
草稿模型是投机解码的效率来源,其设计经历了从完整小模型到解耦组件、位置专家与中间层早期退出的演化。
- Domino Domino(2026)针对投机解码的核心瓶颈,即草稿模型的分布必须与目标模型高度对齐,提出了根本性的重新思考:当 前的草稿模型既需要建模 token 间的因果依赖(因果建模),又需要以高概率生成目标模型可能产生的 token(分布对 齐)。这两个目标本质上存在张力:更强的因果建模能力提升草稿序列的连贯性,但可能拉大了草稿分布与目标模型分布 的距离。 Domino 的方案是将这两个目标解耦到两个独立组件: •因果编码器(Causal Encoder):一个轻量级的 Transformer 层(通常 2-4 层),负责编码已生成序列的上下文信息。 它不需要生成与目标模型对齐的分布,只需捕捉充分的上下文表示。 •对齐投影器(Alignment Projector):一个线性层(多层感知机),将因果编码器的输出投影到与目标模型 logits 对齐 的空间。投影器的训练目标是使投影后的分布与目标模型的分布之间的 KL 散度最小化: Lalign = DKL (pt (⋅ ∣ x, y<n )∥pproj (⋅ ∣ henc
n )) 其中 h 为因果编码器的输出。 enc n 这种解耦设计带来了两个关键优势: •草稿速度:因果编码器只需要 2-4 层(标准草稿模型为 6-12 层),草稿生成延迟降低 40-60%。 •接受率:对齐投影器可以直接以目标模型的分布为训练信号,无需通过草稿模型的完整解码路径,接受率达到 0.82- 0.88(标准投机解码为 0.65-0.75)。 两种架构的对比如图10-7 所示。 Domino (2026) Standard Speculative Decoding Causal Encoder Alignment Projector High draft token alignmen Causal modeling + distribu Unstable draft token qualit 2-4 layer Transformer Linear MLP t Full draft model tion alignment y Context encoding only KL Divergence minimizatio Acceptance rate 0.82-0.88 6-12 layer Transformer Two objectives coupled Acceptance rate 0.65-0.75 n training 图10-7 Domino 解耦架构与标准投机解码的对比 2) Draft-OPD Draft-OPD(On-Policy Distillation for Speculative Draft Models, 2026)解决了投机解码中一个根本性的分布偏移问 题:标准草稿模型通过离线知识蒸馏训练——在静态数据集上模仿目标模型的输出。但在推理阶段,目标模型根据自己生 成的序列前文(而非离线数据)产生 token 分布。这导致草稿模型在训练与推理时面对不同的问题分布: Ey<n ∼Dtrain [DKL (pt ∥pd )] = Ey<n ∼Mt [DKL (pt ∥pd )] Draft-OPD 的方案是在推理过程中持续用目标模型自身的输出微调草稿模型,构成一种在线、在策略(On-Policy)的蒸 馏:
- 初始阶段:草稿模型用离线蒸馏数据预热训练;
- 推理时:每完成一次完整的投机解码周期(草稿 → 验证 → 接受/拒绝),将目标模型在该序列上的 logits 作为训练信 号,对草稿模型执行一步梯度更新;
- 采用回放缓冲区(Replay Buffer)存储最近的若干序列,避免「遗忘」早期模式(灾难性遗忘问题)。 Draft-OPD 的在线更新开销极低:草稿模型通常只有目标模型的 5-10% 参数量,单步梯度更新的延迟(< 2ms)可被后续 的草稿生成阶段完全掩盖。 在 Vicuna-33B 作为目标模型、LLaMA-68M 作为草稿模型的设置下,Draft-OPD 将接受率从初始的 0.71 持续提升至收敛 后的 0.87,加速比从 1.7× 提升至 2.3×。
- POSS POSS(Position Specialist, 2025)提出了一种替代完整草稿模型的设计:训练一组位置专家(Position Specialists), 每个专家仅负责预测特定位置的 token。 草稿解码被重塑为: ∣ x, pd (yi <i ∣ x, ) =y psi (yi <i ), y i = 1, …, k 其中 s 为第 i 个位置专家。每个专家是一个轻量级的前馈网络(2 层 MLP + Embedding Lookup),参数量约 0.1% 的目 标模型参数。k 个专家并行运行(而非自回归),共享同一个因果编码器的输出。 i POSS 的关键优势: •并行草稿生成:k 个位置专家完全并行,草稿阶段的延迟是 O(1) 而非 O(k); •极低的参数开销:k 个专家(k = 4 ∼ 8)的总参数量 < 目标模型的 1%; •位置专业性:每个专家专注于特定位置的分布特征——早期位置需要更保守的预测(高概率 token),后期位置可以更激 进(低概率但合理的 token)。 POSS 在 LLaMA-2-70B 上实现了 1.8-2.1× 的墙钟加速,接受率约 0.78。与 Medusa(使用多个草稿头同时预测)相比, POSS 的接受率高约 5 个百分点,且不需要训练草稿 Transformer。
- CLaSp 自投机解码 CLaSp(Cross-Layer Speculative Decoding, 2025)代表了一种不依赖独立草稿模型的设计方向——利用目标模型自身 的中间层输出作为「草稿」:
- 从第 L/2 层(中间层)输出 logits 作为草稿分布,生成 k 个候选 token;
- 目标模型的完整 L 层前向传播用于验证(前 L/2 层已处理的情况下,仅需补充后半层的计算)。 训练阶段,在第 L/2 层添加一个轻量的早期退出头(Early Exit Head): LEE = DKL (pt (⋅ ∣ x)∥pEE (⋅ ∣ x))
(L) (L/2) 早期退出头是一个从中间层 hidden states 到词表 logits 的投影矩阵(d × V ),参数量约 0.2% 的目标模型参数。训练仅 需更新该投影矩阵,模型主体权重完全冻结。 自投机解码的优势: •无需独立草稿模型:省去了维护、部署和更新独立草稿模型的全部开销; •天然的分布对齐:中间层输出本身是目标模型计算路径的一部分,草稿分布与最终分布之间的差异远小于两个独立模型 之间的差异,接受率通常在 0.85-0.92; •零额外推理时的 KV Cache 开销:草稿阶段复用目标模型的前半段 KV。 局限是加速上限受限于前半层计算开销,最佳加速比约 1.4-1.7×(独立草稿模型为 2-3×)。但对于计算资源受限的场景 (如单 GPU 部署),CLaSp 是极具吸引力的低开销选择。 各草稿模型设计方案的接受率与加速比对比如表10-8 所示。 方法 目标模型 草稿模型/结构 接受率 α 墙钟加速比 额外参数 额外显存 标准投机解码 LLaMA-70B LLaMA-7B 0.71 1.8× 7B 14 GB Medusa Vicuna-33B 4 草稿头 0.69 1.9× < 1% 目标模型 0.5 GB Eagle LLaMA-70B Eagle-7B 0.78 2.4× 7B 14 GB Domino LLaMA-70B 2-4 层编码器 + 投影器 0.85 2.6× 约 1% 目标模型 1.5 GB Draft-OPD Vicuna-33B LLaMA-68M (在线更新) 0.71 → 0.87 1.7× → 2.3× 68M 0.14 GB POSS LLaMA-70B 4 位置专家 0.78 2.0× < 0.5% 目标模型 0.3 GB CLaSp (自投机) LLaMA-13B 早期退出头 0.90 1.5× < 0.2% 目标模型 0.1 GB 表10-8 投机解码方法的接受率与加速比系统对比
10.4.3 理论边界与接受率
- 投机解码的理论边界 投机解码的数学性质决定了其加速比的理论上限。设目标模型单步前向时间为 T ,草稿模型为 T ,草稿窗口为 k,接受 率为 α,则理论加速比为: t d Speedup =
T + 当k→∞ max Td t Tt 1−α k 当 α → 1(完美草稿)且 T ≪ T 时,Speedup → k。但在实践中,接受率 α < 1 且随 k 增大而下降(草稿模型在长窗 max 口中的误差累积),最优 k 通常在 3-8 之间。 d t 投机解码的另一个理论性质是分布等价性:无论草稿模型的质量如何,经接受/拒绝采样后的输出分布严格等于目标模型 的分布。这是投机解码相较于其他加速技术(如量化、剪枝)的核心优势,零精度损失。 2) 接受率的分析与优化 接受率 α 是投机解码效率的第一性决定因素。深入理解 α 的性质对于优化投机解码设计至关重要。 α 与 KL 散度的关系:在标准投机解码中,期望接受率与草稿-目标分布之间的总变分距离(Total Variation Distance, TVD)负相关: 1 1 α = 1 − TVD(pd , pt ) = 1 − ∑ ∣pd (y) − pt (y)∣ 2 2 y 由 Pinsker 不等式,TVD(p , p ) ≤ d t D ( p ∥p d ) 2 KL t ,因此: α≥1− DKL (pt ∥pd ) 这意味着最小化目标模型与草稿模型之间的 KL 散度(如 Domino 的对齐投影器训练目标和 Draft-OPD 的在线蒸馏目标) 是提升接受率的理论基础。 位置相关的接受率衰减:接受率随候选位置 i(1 到 k)递减。在标准投机解码中,近似关系为: E[αi ] ≈ α1 ⋅ (1 − ϵ)i−1 其中 ϵ 为每步的误差传播率(约 0.03-0.08)。这意味着 k = 4 时第 4 个候选的接受率仅约第 1 个的 0.92 ≈ 0.78 倍——这一 3 衰减支持了流水线投机解码的核心论点:大窗口 k 在传统单卡模式下边际收益递减,但在流水线模式下可以通过重叠并行 获得净收益。 不同任务类型的接受率特征如表10-9 所示。 任务类型 接受率 α 原因分析 代码生成 0.75-0.85 语法 token(括号/缩进)高度确定,分支点(标识符)不确定 数学推理 0.65-0.75 推理步骤具有中等确定性,数字 token 不确定性高 文本翻译 0.80-0.90 源语言到目标语言的映射高度约束,草稿容易对齐 创意写作 0.50-0.65 高度开放,草稿模型难以预测目标模型的风格选择 事实问答 0.85-0.92 事实性内容的高度确定性 表10-9 不同任务类型的投机解码接受率特征
10.4.4 树状与多目标扩展
- 多目标模型草稿共享 2026 年的一个新兴方向是一个草稿模型服务多个目标模型。在模型服务集群中,通常同时部署同一系列的不同规模模型 (如 LLaMA-8B 用于低延迟,LLaMA-70B 用于高质量)。一个中等的草稿模型(如 LLaMA-1B)可以同时为多个目标模型 提供草稿 token: 验证 {pt1 (y pd (yi )i ) pt2 (y~i ) for Model 70Bfor Model 13B 草稿模型在 GPU 上的 KV Cache 被所有目标模型共享,草稿 token 的生成只执行一次。验证阶段各目标模型独立进行 (可并行)。这种架构相当于将草稿模型的成本分摊到多个目标模型上,进一步提升了系统的总体吞吐。
- 树状投机解码 标准投机解码按线性序列生成和验证候选 token,每个位置的候选是确定的(argmax 或单次采样)。树状投机解码 (Tree-based Speculative Decoding,如 SpecInfer, Sequoia)扩展了这一模式:在每个位置生成多个候选分支,在验 证阶段以树搜索的方式同时评估多条路径。 设草稿模型在每个位置采样 b 个候选 token(通过 top-b 采样或 temperature-based 多采样),形成一个宽度为 b、深度 为 k 的候选树。验证阶段以一次树状注意力前向传播同时评估所有 O(b ) 条路径: k Otree = TreeAttention(Q, Kall , Vall , tree_mask)
树掩码(tree_mask)指定了哪些 token 之间存在因果依赖(父子关系)——这比完整因果掩码稀疏得多,因此计算量虽 大于线性投机解码,但远小于枚举所有可能路径的代价。 树状投机在以下场景中尤为有效: •高不确定性位置:当目标模型的熵很大时(如创意写作中的形容词选择),单候选投机大概率被拒绝;多候选树覆盖了 目标模型可能选择的多种 token,显著提升接受率。 •代码生成:代码中存在大量确定性 token(关键字、括号、缩进)和少量高分支点(如函数名、变量名)。树状投机在 分支点提供多候选覆盖,保持确定性段的单候选效率。 在 SpecInfer 的实验中,b = 2, k = 4 的树状投机在 HumanEval 上将接受率从线性投机的 0.71 提升至 0.83,代价是验证 阶段的计算量增加约 2.1×——净加速比从 1.8× 提升至 2.3×。
10.4.5 部署与工程协同
- 部署实践 生产环境中部署投机解码需要考虑以下工程问题: •草稿与目标的亲和性调度:草稿模型应被调度到与目标模型相同的 GPU 节点上(避免跨节点通信延迟),但可能需要独 立的 GPU(因为草稿模型需要独立的显存和算力)。典型的配置是:每 4 个 GPU 的目标模型搭配 1 个 GPU 的草稿模型 (比例 4:1)。 •动态窗口大小:接受率 α 在不同的输入内容和生成阶段是不同的——生成的早期阶段(上下文不足,α 较低)应使用较 小的 k(如 3),后期阶段(上下文充分,α 较高)可增大 k(如 8)。自适应窗口调节可通过滑动平均接受率控制。具体 实现中维护一个 EMA(ρ = 0.9)的接受率估计 α^,动态窗口大小 k = max(2, min(8, ⌊α^ ⋅ 10⌋))。 •草稿模型的热更新:对于 Draft-OPD 式的在线蒸馏,草稿模型的权重持续更新,但 KV Cache 是基于旧权重建模的。当 权重更新幅度较大时(如累积 100 步在线更新后),需清空 KV Cache 并重建——这在连续对话中表现为一次短暂的延迟 峰值。缓解方案是双缓冲草稿模型:维护两个草稿模型副本,一个提供当前的草稿服务(读取模式),另一个进行在线 权重更新(写入模式)。每 N 步交换角色,在交换时短暂重建 KV Cache。
- 与 KV Cache 管理协同 投机解码与 KV Cache 管理存在深层的工程协同关系: •草稿模型的 KV Cache 共享:在草稿生成阶段,草稿模型的 KV Cache 中的大部分 token 与目标模型的 KV Cache 重叠 (相同的前文上下文)。如果两个模型共享相同的 tokenizer 和隐藏维度,目标模型的 KV Cache 可以直接投影为草稿模 型的 KV Cache(通过一个训练得到的线性投影矩阵),省去草稿模型对前文上下文的重复编码,节省了草稿阶段的 Prefill 时间。 •草稿 token 的 KV 预分配:在草稿生成前,为草稿 token 预分配 KV Cache 页(在 PagedAttention 框架中)。验证阶段 确定接受/拒绝后,接受的 token 的 KV Cache 页被标记为「正式」,拒绝的 token 的 KV Cache 页被释放回页池。这一 流程避免了验证完成后重新分配 KV Cache 页的延迟,将 KV 管理开销从同步路径中移除。 •量化草稿 KV Cache:草稿模型的 KV Cache 可以使用更激进的量化策略(如 KVarN-INT4),因为草稿 token 即使因为 量化误差而产生微小的分布偏移,也会在验证阶段被目标模型纠正(接受/拒绝采样保证了最终输出的分布等价性)。这 意味着草稿 KV Cache 的量化对最终输出零精度影响,这是有别于目标模型 KV Cache 量化的独特优势。 投机解码的「草稿-验证」架构可以进一步映射到多 GPU 流水线并行,用流水线调度消除验证等待期间的气泡。
10.4.6 流水线消除气泡
Speculative Pipeline Decoding(2026)提出了投机解码与流水线并行的融合方案,通过流水线调度消除传统投机解码 中的「气泡」(Bubble),并在多 GPU 环境下利用更大的有效草稿窗口提升接受精度。
- 传统投机解码的气泡问题 传统投机解码的执行流程包含两个串行阶段(草稿生成和验证),它们在目标模型的 GPU 上交替执行。设草稿阶段耗时为 T ,验证阶段耗时为 T (T ≫ T ),则一个完整的投机解码周期(含 k 个候选 token 的生成与验证)的时序为: d t t d Tcycle = k ⋅ Td + Tt
其中 T 占主导(约 80-90% 的周期时间)。关键问题是:在验证阶段,草稿模型处于空闲状态(Bubble)——它在等待目 标模型的验证结果后才能继续生成下一个周期的草稿 token。同理,在草稿阶段,目标模型也在空闲。 t 这一气泡问题的本质是草稿与验证之间的数据依赖:草稿模型需要目标模型的 KV Cache 中最新的 token 信息(输入前 文)才能开始生成,而目标模型需要草稿模型的输出(候选 token)才能开始验证。这一循环依赖造成了两种角色无法并 行执行。 Timing and bubbles of traditional speculative decoding Draft generation cycle 1 Idle Bubble 1 Draft Model Draft generation cycle 2 Idle Bubble 2 Idle Bubble 0 Verification cycle 1 Target Model Idle Bubble 1a Verification cycle 2 -28800 -28785 -28770 -28755 -28740 -28725 -28710 -28695 -28680 -28665 -28650 -28635 -28620 -28605 图10-8 传统投机解码的时序与气泡(定性示意) 如图10-8 所示,草稿模型在验证阶段有 80% 的时间空闲,目标模型在草稿阶段有 20% 的时间空闲。总 GPU 利用率约为 1−2×Tbubble Ttotal ≈ 60%,近 40% 的 GPU 算力被气泡浪费。 2) 流水线并行的消除方案 流水线投机解码将目标模型的层沿深度方向切分,分布到多个 GPU 上,并在 GPU 之间建立前向传播的流水线。核心思想 是:当目标模型的前几层 GPU 在验证上一周期的草稿 token 时,草稿模型可以同时为下一周期生成新的草稿 token,两 者的数据依赖被流水线切分自然消除。 具体架构:假设目标模型有 L 层,分布在 P 个 GPU 上(流水线并行,每个 GPU 负责 L/P 层)。草稿模型固定在第 0 号 GPU 上运行。执行调度如下:
- 预热阶段(Warm-up):GPU 0 上的草稿模型生成 Cycle 0 的 k 个候选 token,注入流水线的第一级。GPU 0 → GPU 1 → … → GPU (P − 1) 依次完成前向传播的对应层段。
- 稳态阶段(Steady State):GPU 0 上的草稿模型为 Cycle n + 1 生成草稿 token 的同时,GPU 0 上的目标模型层段(前 半段)也同时在处理 Cycle n 的验证(但两者的层段不同,计算资源通过微批处理分时复用或通过独立 CUDA Stream 并行)。实际操作中,草稿模型与目标模型的前几层在 GPU 0 上分时共享——草稿模型使用 CUDA Stream A,目标模型 的前段使用 CUDA Stream B,两者完全并行。
- 流水线微批(Micro-batch)调度:每个投机周期被进一步拆分为多个微批(micro-batches),在流水线上以 1F1B(1 forward, 1 backward,但推理阶段仅有 forward)方式调度。第 n 个周期的验证前向传播与第 n + 1 个周期的草稿生 成在时序上完全重叠。 草稿与验证的重叠调度如图10-9 所示。 Draft Model (GPU 0) Target model layer 1-L/P (GPU 0) Target model layer L/P+1 - 2L/P (GPU 1) Target model layer 2L/P+1 - L (GPU 2) === Cycle n ===
Draft tokens (k) injected into pipeline Forward pass segment1 Start cycle n+1 draft generation Forward pass segment2 Cycle n+1 Draft tokens complete Verify logits and accept or reject === Cycle n+1 (Overlapping with Cycle n tail) === Forward pass segment1 (Cycle n+1) Forward pass segment2 (Cycle n+1) Start cycle n+2 draft generation Draft Model (GPU 0) Target model layer 1-L/P (GPU 0) Target model layer L/P+1 - 2L/P (GPU 1) Target model layer 2L/P+1 - L (GPU 2) 图10-9 投机解码中草稿与验证的重叠 3) 更大草稿窗口的精度优势 流水线并行不仅消除了气泡,它还间接提升了投机解码的精度。原因如下: 在传统投机解码中,草稿窗口 k 的大小受限于单次目标模型验证的延迟与草稿生成延迟之比。设 T 为验证延迟,T 为单 token 草稿生成延迟。为了不使验证阶段成为全周期的瓶颈,k 必须满足: t d k ⋅ Td ≤ Tt 在 T ≈ 50ms, T ≈ 2ms 的典型配置下,k 最多取 25,但实践中取 k = 4 ∼ 8,因为大 k 下草稿接受率 α 急剧下降(草稿模 型在远离当前上下文的位置预测能力有限)。 t d 在流水线投机解码中,由于流水线天然将草稿和验证的时间重叠,k 不再受 k ⋅ T ≤ T 的约束,草稿生成与验证并行执 行。可以设置更大的 k(如 k = 16 ∼ 32),只要接受率 α 不因 k 过大而崩塌。 d t 更大的 k 不仅提升了每个验证周期接受的 token 数(吞吐),更重要的是:增加了草稿 token 的数量,使得验证阶段有更 多的候选可以筛选,从而提升了有效接受率。论文的实验表明:k = 16 时接受率(0.83)反而高于 k = 4 时(0.79)。原 因是:大窗口下,即使某些位置草稿 token 被拒绝,后续位置的草稿 token 也有更高概率被接受(窗口的早期拒绝不影 响后期候选的验证,它们基于被拒绝位置采样后的目标分布重新评估)。
10.4.7 多 GPU 部署与基准
- 多 GPU 部署架构 流水线投机解码的多 GPU 部署有以下关键设计: •GPU 拓扑:草稿模型固定在流水线的第 0 级 GPU。目标模型层按 L/P 段分配到 P 个 GPU。草稿模型与目标模型前 L/P 层共享 GPU 0 的显存和算力。对于大模型(70B+),P 通常为 4 或 8。 •通信模式:流水线阶段间的通信仅为逐层的前向激活传递(大小为 B × d,其中 B 为微批大小)。P = 4 时每步通信量 约 4 × 8192 = 32KB(BF16),远小于张量并行的通信开销(AllReduce, O(d ))。因此流水线投机解码的通信效率极 2 高,可在 PCIe/NVLink 混合拓扑甚至跨节点网络上高效运行。 •显存分配:GPU 0 承载目标模型前 L/P 层权重 + 完整 KV Cache + 草稿模型权重 + 草稿模型 KV Cache;GPU 1..(P-1) 承载目标模型对应层段权重 + KV Cache(按层切分,每 GPU 存储 1/P 的总 KV Cache)。草稿模型 KV Cache 仅存在于 GPU 0,因为它需要完整前文上下文来生成草稿 token。 对于 70B 模型(L = 80, d = 8192),P = 4 时 GPU 0 的显存压力最大(层权重 + 完整 KV Cache + 草稿模型),其余 GPU 显存压力约为 GPU 0 的 40-50%。各配置的显存分布如表10-10 所示。 配置 GPU 0 显存 GPU 1/2/3 显存 总显存 70B 模型, 8K 上下文, 4 卡 72 GB 36 GB each 180 GB 70B 模型, 32K 上下文, 4 卡 78 GB 38 GB each 192 GB 70B 模型, 8K 上下文, 8 卡 42 GB 18 GB each 168 GB 表10-10 流水线投机解码的多 GPU 显存分布 配置:LLaMA-70B, FP16, 草稿模型=LLaMA-7B。
- 与其他方法的基准对比 流水线投机解码在多个模型和配置下与标准投机解码、Medusa、Eagle 进行了系统对比,结果如表10-11 所示。 方法 目标模型 GPU 数 草稿窗口 k 接受率 加速比 GPU 利用率 标准投机解码 LLaMA-70B 1 4 0.71 1.8× 62% 标准投机解码 LLaMA-70B 1 8 0.65 2.1× 58% Medusa Vicuna-33B 1 4 heads 0.69 1.9× 65% Eagle LLaMA-70B 1 4 0.78 2.4× 68%
Pipeline-SD LLaMA-70B 4 8 0.82 3.1× 94%
Pipeline-SD LLaMA-70B 4 16 0.83 4.2× 96%
Pipeline-SD LLaMA-70B 8 16 0.85 3.8× 92%表10-11 流水线投机解码与主流方法的加速比对比 关键发现: •加速比突破 4×:P = 4, k = 16 的配置下达到 4.2× 加速比,显著超出单卡投机解码的 1.8-2.4× 范围。这证明了流水 线并行消除气泡的效果。 •GPU 利用率的大幅提升:从单卡的 58-68% 提升至 92-96%。剩余 4-8% 的未利用率来自流水线启动和排空阶段(流水 线填充和清空期间的不完全并行)。 •P = 8 的回报递减:P = 8 时加速比 3.8×,低于 P = 4 的 4.2×。原因是:当 P 过大时,每个 GPU 的目标模型层段过 短(80/8=10 层),流水线级间的通信频率增加(每 10 层通信一次,而非每 20 层通信一次),通信开销开始稀释并行收 益。此外,草稿模型在 GPU 0 上需要等待 GPU 1 的回传(验证结果)才能开始下一周期,流水线深度越大,这一回传 的延迟越大。
10.4.8 调度模型与架构协同
- 流水线调度算法的数学表达 流水线投机解码的吞吐量上限可以形式化地表达。设: •T :草稿模型生成 k 个 token 的延迟 (k) •T :目标模型的单次前向传播延迟(全模型) d t •P :流水线并行度(GPU 数量) •B:微批大小 则流水线投机解码的每步平均延迟为: Tcomm + max (Td , TPt )
(k) Tavg = E[accepted_per_cycle] 其中 T 为级间通信延迟,E[accepted_per_cycle] 是每周期期望接受的 token 数。 comm 当 T ≈ T /P 时(草稿生成与流水线级的验证时间匹配,即负载均衡),系统达到最优吞吐: (k) d t E[accepted_per_cycle] Throughputmax = T t /P 与传统单卡投机解码的吞吐相比: Throughputpipeline E[accepted_per_cycle]pipeline ≈P⋅ Throughputsingle E[accepted_per_cycle]single 在 P = 4 且大窗口提升接受率的情况下(k = 8 时 E[accepted] 从 2.6 提升至 6.6),理论加速比约 4 × 2.54 = 10.2×,但实 践中受限于各种开销(级间通信、负载不平衡、流水线气泡)只能达到 4.2×,仍有巨大的优化空间。 2) 与分离式推理架构的关系 流水线投机解码与 2025-2026 年兴起的 Prefill-Decode 分离式推理架构(Splitwise, DistServe, Mooncake)有自然的协 同关系: •分离式架构将 Prefill(计算密集型)和 Decode(内存密集型)分配到不同的 GPU 池,各自独立优化调度; •流水线投机解码更进一步——将 Decode 阶段的草稿生成和验证分离到不同的流水线级。在分离式架构下,草稿模型可 以运行在 Prefill 池中空闲的 GPU 上(Prefill 任务间歇性,存在 GPU 碎片),目标模型验证运行在 Decode 池中。草稿 生成与 Prefill 任务的 KV Cache 不重叠(各自独立的上下文),因此可以安全共存。 在 DeepGEMM 等分离式推理引擎中,流水线投机解码已作为 Decode 阶段的标配加速组件提供。分离式 Prefill 池中的 GPU 在空闲时自动切换为草稿模型运行的载体,形成「Prefill 忙时做 Prefill,Prefill 闲时做草稿生成」的动态调度,进 一步提升了 GPU 集群的总体利用率。 3) 局限 流水线级间的负载均衡:当前实现假设目标模型的各层计算量均匀,在标准 Transformer 中成立,但在 MoE 模型中,不 同层的专家选择可能导致计算量的波动(某些层的被激活专家参数更多)。这会导致某些流水线级的延迟显著高于其他 级,气泡重新出现。论文提出的解决方案是动态层分配(根据层的 FLOPs 分布非均匀地分配 GPU 层段),但需要针对每 个模型手动调优。 草稿模型的 KV Cache 一致性:草稿模型运行在 GPU 0,需要完整的 KV Cache。但目标模型的 KV Cache 在流水线中被切 分到 P 个 GPU 上。草稿模型的 KV Cache 需要与目标模型 GPU 0 上的 KV Cache 保持同步,而目标模型的后续 GPU 可能 延迟更新(因为流水线阶段滞后)。在大 P 下,这一不一致可能导致草稿模型基于过时的上下文生成 token,降低接受 率。论文的缓解方案是让草稿模型使用目标模型 GPU 0 的「当前」 KV Cache(而非等待后续 GPU 确认后的完整缓存)。 初始延迟(TTFT)无改善:流水线投机解码显著加速了 Decode 阶段,但 Prefill 阶段(首 token 延迟)不受投机解码影 响,因为 Prefill 是一次性的全并行编码,无法通过草稿-验证模式加速。对于 TTFT 敏感的应用(如交互式代码补全),需 额外搭配 Prefill 专用优化(前缀缓存、分离式架构、FP8 Prefill)。
10.4.9 并行组合与未来方向
- 与张量并行、数据并行 流水线投机解码可以与张量并行(Tensor Parallelism, TP)和数据并行(Data Parallelism, DP)组合形成三级混合并行 架构: •流水线并行(PP):将目标模型沿深度方向切分到 P 个 GPU(如 P = 4),消除草稿-验证气泡 •张量并行(TP):在每个流水线级内,将单层的权重矩阵切分到 T 个 GPU(如 T = 2),加速单级内的矩阵乘计算 •数据并行(DP):复制整套流水线到 D 个独立实例(如 D = 2),每个实例服务不同的请求批次 总 GPU 数量 = P × T × D(如 4 × 2 × 2 = 16 GPU)。在这样的三级混合架构下,吞吐量近似为: Throughput ≈ D × Throughputpipeline (P , T ) 但三级并行的通信开销也会叠加——TP 的 AllReduce 通信量最大(O(d )),PP 的 P2P 通信次之(O(B ⋅ d)),DP 的梯度 同步在推理阶段不存在(仅前向传播,无 DP 通信)。因此在实际部署中,优先最小化 TP 的通信(将 TP 限制在 NVLink 域内),PP 可跨越 NVSwitch 域(PCIe/NVLink 混合),DP 可跨越节点(通过 InfiniBand/RoCE)。
- 未来方向 2026 年下半年,流水线投机解码的方向包括: •自适应流水线深度:根据当前接受率动态调整流水线深度 P ——低接受率时减少 P (降低回传延迟),高接受率时增大 P (提升并行度)。 •草稿-验证联合流水线:将草稿模型也沿深度切分到多个 GPU 上,形成草稿流水线与验证流水线的双层嵌套流水线。这 在超大模型(405B+)和超长上下文(1M+ tokens)场景下有独特优势。 •异构硬件流水线:将草稿模型分配到低算力但低延迟的边缘 GPU(如 L40S),目标模型分配到高算力 GPU (H100/B200),通过异构流水线降低总体硬件成本。 Domino(解耦因果建模)和 Draft-OPD(在策略蒸馏)可以与流水线投机解码叠加使用,在线更新的草稿模型在流水线 模式下同样有效,且梯度更新可以在 GPU 0 的草稿模型空闲微槽(micro-slots)中执行,不增加额外延迟。
10.5 推理系统与效率
Transformer 推理系统的核心矛盾在于自回归生成是存储受限(Memory-bound)的:每生成一个 token,都要访问随 序列增长的 KV 缓存。本节从系统侧回答「如何让长上下文模型跑得又快又便宜」。2023 至 2026 年间,推理工程成为与 模型同等重要的竞争力来源,PagedAttention、连续批处理、投机解码与 KV 缓存优化构成了当代推理引擎的技术骨架。
10.5.1 KV 缓存与显存墙
KV 缓存的显存占用随序列长度线性增长,在长上下文场景中迅速逼近显存墙(Memory Wall)。对百万 token 级别的上 下文,即使经过 MQA/GQA 压缩,单请求的 KV 缓存也常达到数十 GB 量级,超过单卡可用显存。更隐蔽的问题是碎片 化:传统实现为每个请求一次性预留连续显存,请求之间的空闲块无法相互借用,物理内存利用率常不足三成。 存储带宽同样构成瓶颈。解码阶段每一 token 都要重读全部历史 KV,GPU 的 HBM 带宽决定了吞吐上限,序列越长越明 显。以 128K 上下文、80 层 GQA 模型为例,单 token 解码需读取数十 MB 的 KV,在 A100 的 2 TB/s 级带宽下,延迟即 被数据搬运锁死,浮点计算只占极小比例。因此推理优化的主线有三条:用分页式分配消除碎片化,用更细粒度的调度填 满 GPU,以及从算法上削减 KV 缓存的体积。前两条解决「内存怎么管」,第三条回答「内存怎么省」,共同决定长上下文 模型能否盈利。
10.5.2 PagedAttention 与 vLLM
PagedAttention(Kwon et al., 2023)借鉴操作系统虚拟内存的思想,将 KV 缓存切成固定大小的块(Block),通过块表 (Block Table)映射到物理显存。每个请求按需逐块分配,物理页无需连续,从根本上消除了内部碎片;并行采样与束 搜索等场景还可通过写时复制(Copy-on-write)共享前缀块,进一步节省显存。KV 缓存利用率从静态分配下的约 20- 40% 提升到 90% 以上。 块大小是吞吐与开销的折中:块越大,查找表越小、分配次数越少,但尾部浪费越多;块越小则反之,典型实现取 16 或 32 个 token。vLLM 是首个基于 PagedAttention 的高吞吐推理引擎,自 2023 年开源起即成为业界参考实现,吞吐相对 朴素实现提升 2-4 倍。其意义在于把 KV 缓存抽象成了可调度、可复用的资源:块的分配与回收纳入调度器统一管理,为 后续的前缀缓存、抢占与迁移奠定了基础。这也是「KV 缓存即内存」观念的来源——显存管理从此向操作系统内存管理 的成熟经验看齐。
10.5.3 连续批处理与调度
静态批处理(Static Batching)按请求粒度调度:同一批内各请求完成后仍须等待最慢者,GPU 空转严重。连续批处理 (Continuous Batching)将生成循环细化为逐 token 迭代,每步由调度器决定哪些请求进入、哪些离开:完成的请求立 即释放块与计算资源,新请求随时加入。配合 PagedAttention 的动态块分配,解码阶段可逼近 100% 的 GPU 利用率, 这是当代引擎的标配能力。 调度决策进一步与缓存协同。系统提示词、few-shot 前缀在请求间高度共享,引擎通过前缀缓存(Prefix Caching)复用 其 KV:SGLang 用基数树(Radix Tree)组织前缀并执行最长前缀匹配,vLLM 提供自动前缀缓存。命中的前缀无需重算 prefill,能显著降低首 token 延迟(TTFT)。长上下文请求因 prefill 计算量巨大,还催生了 prefill 与 decode 分离 (Disaggregation)的部署形态,以平滑二者对算力配比的不同需求。 调度还须权衡公平与效率:抢占时优先驱逐已计算成本最高的请求(换成重新计算可能更亏),租户间按配额与优先级分 配资源,并保证长尾请求的延迟上限(SLA)。换出(Swap)与重算(Recompute)是两种抢占手段,前者依赖 CPU 显 存或 NVMe 做缓存换页,后者直接重跑 prefill;PagedAttention 的块级映射使换出只需移动块即可,重算则利用前缀缓 存尽量保留公共部分。连续批处理与调度共同决定了引擎在混合负载下的资源效率,是吞吐优化的主战场。
10.5.4 KV 量化、稀疏与压缩
量化。KV 缓存的 INT8/FP8 量化可将显存减半,配合逐通道缩放与离群值处理,质量损失很小;更低位的分组量化(如 按通道 4-bit)则进一步逼近极限,代价是增加反量化开销。 稀疏与驱逐。保留「重头」 token(如 H2O 的 Heavy Hitters)或利用注意力汇聚点(Attention Sink,StreamingLLM) 配合滑动窗口,可实现无限长度推理,但属近似手段,对依赖远端检索的任务质量有损。逐出后不可逆,因此现代引擎通 常与「重算」配合:被逐出的历史块在再次需要时通过前缀缓存或请求重放恢复。 Decode iteration Speculative verify Prompt requests Scheduler Prefix cache Prefill phase KV cache blocks Output tokens 图10-10 推理引擎的请求处理流水线 如图10-10 所示,请求经调度器进入前缀缓存与 prefill,随后在解码循环中逐 token 生成:KV 块随序列增长而扩展,投 机解码批量验证候选,新输出又成为下一迭代的上下文。循环不断,直到请求完成离开批处理。
10.5.5 2026 推理引擎格局
2026 年,推理工程栈已高度成熟:vLLM、SGLang、TensorRT-LLM、Triton、LMDeploy 等引擎与各厂商托管 API 共同 构成主流生态。这一技术栈与模型的训练方法解耦,只要 checkpoint 符合开放格式(safetensors + 对话模板 + 工具协 议),无论模型经过 RLHF、DPO 还是强化学习后训练,均可无差别提供服务,量化格式(GGUF/AWQ/GPTQ)与调度内 核完全复用。引擎以 OpenAI 兼容接口对外暴露,模型换血而系统不动。 推理模型改变了工作负载结构:思考 token 往往占据输出的主体,prefill 与 decode 的比例随之偏移。引擎为此增加 reasoning_effort 档位控制(如 Kimi K3 的 low/high/max)、针对长思考链的批量调度与廉价的续写-修正机制。长思考 链还改变了批处理的形态——思考 token 不返回给用户,可采用更高的批规模;中途产出可丢弃,投机解码在此更有价 值。 引擎选择还受硬件生态约束:TensorRT-LLM 深度绑定 NVIDIA 闭源加速,Triton 与 vLLM 更偏开放与可移植,托管 API 则把调度、扩缩容与计费封装成黑盒。趋势上,模型与服务的协同设计成为常态,架构选型以服务成本为指标,模型发布 与引擎贡献同步进行,Kimi 的 KDA 进入 vLLM 即是明证。推理系统与缩放法则由此形成闭环:系统效率决定同一预算能 支撑的规模,而规模又反向决定系统必须优化的瓶颈。
10.6 量化与知识蒸馏
注意力机制的效率优化不仅发生在计算模式层面,也体现在模型参数的表示与迁移层面。量化(Quantization)通过降低 权重和激活的数值精度压缩模型体积,知识蒸馏(Knowledge Distillation)通过大模型指导小模型训练来压缩模型能 力。两者常结合使用,成为大语言模型部署的核心技术栈。
10.6.1 INT8 与 INT4 量化
Transformer 模型推理的主要瓶颈之一是显存带宽。以 LLaMA-7B 为例,FP16 格式下参数占用约 13 GB,在单张 A100 (40 GB 或 80 GB)上可以运行,但对于消费级硬件(RTX 3090 的 24 GB)则捉襟见肘。量化将参数从 16-bit 压缩到 8- bit 或 4-bit,直接在体积上获得 2 倍或 4 倍的压缩比。 训练后量化(Post-Training Quantization, PTQ)是最简单的方法:在已训练好的模型上直接应用量化,无需重新训练或 微调。其核心公式为: Wint = round ( + zero_point) Wfp scale 其中 scale 决定了量化的步长,zero_point 处理非对称分布。PTQ 的关键挑战在于:Transformer 的激活值中存在离群 值(Outlier),某些通道的值可能比平均值大 10-100 倍。直接按张量粒度量化会将大多数值压缩到极小的动态范围内, 造成严重的精度损失。Dettmers 等人(2022)的 LLM.int8() 方法通过混合精度,将离群值通道保留 FP16,其余通道做 INT8 量化,在 175B 规模的模型上实现了无精度损失的 INT8 推理。 量化感知训练(Quantization-Aware Training, QAT)在训练过程中模拟量化效应,让模型学会适应低精度表示。QAT 通 常能达到更高的精度,但因为需要完整的训练流程,在预训练模型上的适用性有限。
10.6.2 GPTQ 与 AWQ 技术原理
GPTQ(Frantar et al., 2023)和 AWQ(Lin et al., 2024)是 PTQ 范畴内最主流的两种方法(2025 年后 MXFP4 等低比特 量化感知训练渐成预训练标配,PTQ 更常用于既有权重的后训练压缩),分别代表了权重量化的两个方向。 GPTQ 基于 Optimal Brain Compression(OBC)框架,将权重量化问题建模为逐列的贪心补偿优化。其核心流程是:对 权重矩阵的每一列,先将其量化为目标精度(如 4-bit),然后通过 Hessian 矩阵的逆更新剩余未量化列的权重,补偿量化 引入的误差。这一过程可以写为: ′ W:,j = quant(W:,j ) ′ δ = (W:,j − W:,j)/[H −1 ]j,j −1 W:,j+1: −= δ ⋅ Hj,j+1: 其中 H 是校准数据集上的激活 Hessian 矩阵。GPTQ 通过一次性(One-shot)的逐列最优补偿,在 3-bit 甚至 2-bit 量化 下仍能保持较低的 perplexity 退化。 AWQ(Activation-Aware Weight Quantization)则从另一个角度切入:并非所有权重通道同等重要。实验表明,权重通 道的重要性与其对应激活值的幅值强相关——激活值越大的通道,其权重对输出贡献越大,应当以更高精度保留。AWQ 的解决方案不是混合精度,而是对重要通道的权重进行等比例的缩放(Scaling),使量化后的有效动态范围增大: = W ⋅ diag(s), X W = X ⋅ diag(s)−1 其中 s 是逐通道的缩放因子,通过对激活值分布的分析确定。缩放后 WX = WX,数学等价性得以保持,但量化信噪比得 到了提升。
10.6.3 知识蒸馏的核心公式
知识蒸馏(Hinton et al., 2015)将大型教师模型(Teacher)的知识迁移到小型学生模型(Student)。其核心思想是: 不仅让学生模仿教师对正确类别的预测,也让学生模仿教师对所有类别的概率分布——这个软标签(Soft Label)携带了 类别间关系的结构信息。 蒸馏的损失函数由两项组成: LKD = α ⋅ LCE (y, y^student ) + (1 − α) ⋅ T 2 ⋅ LKL (pteacher , pstudent ) 式中 L 是学生与真实标签的交叉熵,L 是学生与教师输出概率的 KL 散度。温度参数 T 控制软标签的平滑程度,T > CE KL 1 时输出分布更加平滑,类别间差异性信息的相对权重被放大。T 因子用于补偿温度缩放对梯度的影响。 对于 Transformer 模型,蒸馏不仅可以在最终输出层进行,还可以在中间层(隐藏状态、注意力分布)上进行。这种多 层次蒸馏(Multi-Level Distillation)在 BERT 类模型的压缩中取得了良好效果。
10.6.4 DistilBERT 与 TinyBERT 实践
DistilBERT(Sanh et al., 2019)是最早成功将知识蒸馏应用于 Transformer 的工作之一。它以 BERT-base 为教师,蒸馏 出一个 6 层(教师的一半)的学生模型。DistilBERT 的蒸馏目标包括三项: •MLM 损失:与 BERT 相同的掩码语言建模(Masked Language Modeling)任务 •蒸馏损失:学生与教师输出 logits 的 KL 散度(带温度软化) •余弦嵌入损失:学生与教师最后一层隐藏状态的余弦距离 结果是在 GLUE 基准上保留了 BERT-base 97% 的性能,参数量减少 40%,推理速度提升 60%。这一结果表明:BERT 的 大量层存在显著的冗余,适度的深度压缩对表达能力的损害远小于直观预期。 TinyBERT(Jiao et al., 2020)将蒸馏推向更极致的程度:在 4 层、隐藏维度 312 的极小模型上,通过精心设计的蒸馏策 略逼近 BERT 的性能。TinyBERT 的两阶段蒸馏流程是其实践价值的核心: •通用蒸馏(General Distillation):在大型语料(如 English Wikipedia)上,以原始 BERT-base 为教师进行预训练蒸 馏。蒸馏目标涵盖嵌入层、隐藏状态(所有 Transformer 层逐层对齐)和注意力矩阵。 •任务蒸馏(Task-Specific Distillation):在下游任务数据上,对经过通用蒸馏的学生模型进行微调阶段的二次蒸馏,同 时额外引入数据增强。 TinyBERT 在仅保有 BERT-base 13.3% 参数和 10.6% 推理时间的前提下,在 GLUE 上达到其 96.8% 的性能。这一极端压 缩的成功表明,Transformer 的效率瓶颈不仅可以通过架构创新突破,也可以在固定架构内通过参数精度的精细管理来缓 解。DistilBERT 的教师-学生蒸馏结构如图10-11 所示。 Teacher Model (e.g., BERT-base, 110M) Embedding Cosine Loss Student Model (e.g., DistilBERT, 66M) Embedding Layer 1 Layer 1 Layer 2 Layer 2 ... ... Layer 12 Hidden State MSE Layer 6 Output Logits KL Divergence (T>1) Output Logits 图10-11 DistilBERT 的知识蒸馏架构 量化与蒸馏代表了 Transformer 效率优化的两个互补维度:量化从比特层面压缩信息的物理表示,蒸馏从结构层面压缩 模型的功能容量。在 2026 年的大语言模型生态中,二者的融合(先蒸馏缩小架构、再量化压缩位宽)已成为模型从实验 室走向移动端和边缘设备的标准路径。
10.6.5 MXFP4 与量化感知训练
2024 年 OCP(Open Compute Project)发布了微观缩放(Microscaling, MX)格式标准,定义了 MXFP8、MXFP6、 MXFP4 等块级缩放浮点格式:以 32 个元素为块共享缩放因子(scale),在保持动态范围的同时压缩位宽。MX 格式被 Blackwell 等新一代硬件的张量核心原生支持,其中 MXFP4(E2M1,4-bit)相比 FP8 进一步减半带宽,成为 2025-2026 年大模型权重与 KV cache 的主流部署格式。 量化感知训练(Quantization-Aware Training, QAT)在这一时期从可选优化变为标配环节。Kimi K3(Moonshot AI, 2026)的技术报告展示了典型实践:在 SFT 阶段即引入 MXFP4 量化感知训练,前向中模拟 MXFP4 权重的块级量化误差 并回传梯度,使模型在训练阶段就适应低精度表示;最终部署时权重以 MXFP4 存储、激活保持 MXFP8,无需依赖 GPTQ/AWQ 等后训练补偿,即可获得接近全精度的质量。这一范式将「先训练、后压缩」转向「边训练、边压缩」,与大 模型训练管线深度融合,是 2025-2026 年量化技术最重要的趋势转变。
10.7 架构未来演进
Transformer 自 2017 年提出以来,不仅成为 NLP 的事实标准,更渗透到视觉、语音、生物、物理等几乎所有数据驱动领 域。本节从注意力机制的演化、统一架构的趋势、推理效率的突破三个维度展望 Transformer 可能的发展方向,并讨论 「下一个范式」的可能形态。
10.7.1 注意力机制的持续演化
注意力机制本身仍有大量的优化空间。近年来,研究前沿集中在三个方向: •可微分稀疏性:当前的稀疏注意力(如 Longformer、Big Bird)使用固定的稀疏模式,最优模式需要手工设计。可微 分稀疏性通过将注意力模式的选取参数化并纳入梯度优化,让模型学习「该关注哪里」。Adaptive Sparse Attention 和 Diff Transformer 等工作展示了模型可以在不同层和不同头上自动学习差异化的稀疏模式,在同等计算预算下超越固定 模式。 •低精度注意力:FlashAttention-3 证明注意力可以在 FP8 甚至 FP4 精度下计算而不显著降低模型质量。量化注意力 (Quantized Attention)的核心挑战在于 softmax 的非线性性质:低精度的指数运算容易产生显著的截断误差。 SmoothQuant 等方法通过迁移激活值幅值、对 Q/K 进行逐通道缩放,以及 QuaRot 等基于旋转的对角缩放技术,使得 INT8 注意力在 8K 序列长度下与 FP16 注意力的输出误差小于 0.5%。 •注意力头剪枝与合并:研究发现,大型 Transformer 中大量的注意力头是冗余的,移除 50% 甚至更多的头可能只带来 1-2% 的 perplexity 损失。关键不在于「哪些头可以剪掉」,而在于剪枝后如何补偿。深度可分离注意力(Deep- Separable Attention)将多头注意力的 QKV 投影分解为深度卷积和逐点卷积,参数效率提升 40% 而表达能力几乎不 损失。
10.7.2 统一架构的探索
过去五年,NLP 和 CV 各自发展出独立的模型架构谱系(BERT/GPT vs. ResNet/ViT/Swin)。一个日益明显的趋势是:不 同模态和不同任务正在收敛到同一个核心架构。 多模态原生 Transformer。Google 的 Gemini 系列和 OpenAI 的 GPT-4V 代表了「原生多模态」的早期实践——同一个 Transformer 同时处理文本、图像、音频和视频 token,不使用独立的模态编码器。这种设计的优雅性在于:所有模态使 用同一组注意力参数,跨模态的迁移学习不再需要刻意设计对齐损失,而是从数据中自然涌现。 代码作为通用推理介质。DeepSeek-Coder 和 Code Llama 等代码专用模型的经验表明,代码预训练可以显著提升模型的 推理和工具使用能力。代码的结构化性质(严格的语法、明确的因果关系、长距离的变量依赖)天然适合训练注意力的精 确性。这一经验已落地为现实,主流统一架构普遍将代码作为与自然语言并列的基础模态纳入联合预训练。统一化路径如 图10-12 所示。 Current (2026) Text: GPT, LLaMA, Qwen, D Code: DeepSeek-Coder, Co Image: ViT, DiT Audio: Whisper, EnCodec eepSeek de Llama Unified Multimodal Transf Discrete Token for All Mod MoE Routing ormer alities Long-term World Model Neural + Symbolic Hybrid Self-improving Architectur e 图10-12 模型架构的统一化路径
10.7.3 推理效率的突破方向
推理效率是 Transformer 大规模部署的核心瓶颈。训练可以摊销到大规模集群上并行完成,但推理需要为每个用户请求 独立执行。以下三个方向代表了 2024-2026 年的主要突破路径: •投机解码:用轻量草稿模型快速生成多个候选 token,由目标模型并行验证,接受/拒绝采样保证输出分布严格等价。 树状候选与多预测头(Medusa、Eagle)进一步提升了收益,已成为推理引擎的标准加速组件。 •KV 缓存优化:KV 缓存的内存瓶颈催生了量化、驱逐与架构级压缩三条路线。量化以低比特压缩位宽(INT8/FP8 约减 半),驱逐用启发式保留重要 token(如 H2O 保留约 20% 的重头 token),层间共享(如 YOCO 的 Decoder-Decoder 缓存)削减同构层冗余;以可更新隐状态替代 KV 缓存的轻量记忆(如 Gated DeltaNet)则从结构上彻底消除这一瓶 颈。 •推测性专家路由:在 MoE 架构中,每个 token 只激活部分专家(如 Mixtral 8x7B 的 top-2 路由)。推理时,专家路由 器的选择决定下一次读取哪些专家权重,专家参数的加载延迟成为新的瓶颈。推测性专家路由(Speculative Expert Routing)预测下一个 token 可能激活的专家,提前发起参数加载与计算预取,将路由决策与权重搬运的延迟隐藏到推 理流水线中,是 2025-2026 年 MoE 推理优化的方向之一。
10.7.4 Transformer 之后的下一个范式
每一代架构都有其生命周期。CNN 在 2012-2017 年主导计算机视觉,RNN/LSTM 在 2013-2017 年主导序列建模, Transformer 自 2017 年起延续至今。是否有「下一个 Transformer」正在酝酿? 几个候选范式值得关注: •状态空间模型:Mamba 及其后继在效率上对 Transformer 构成压力。SSM 的 O(n) 复杂度和无 KV 缓存的推理特性, 使其在边缘设备和低延迟场景中具有天然优势。但 SSM 在复杂推理和上下文学习上的不足尚未被彻底解决。 •线性 RNN 的复兴:RWKV(Receptance Weighted Key Value, Peng et al., 2023)和 RetNet(Retentive Network, Sun et al., 2023)从不同角度复活了线性 RNN,在训练和推理效率上都优于 Transformer,且在一部分基准上取得了 可比的结果。这些模型的共同特点是使用线性递推(而非二次注意力)组合序列信息,同时通过门控机制(Gating)保 留了选择性。 •液态神经网络(Liquid Neural Networks):从动态系统理论出发,Hasani 等人提出的液态时间常数网络(LTC)和闭 环连续时间网络(CfC)使用微分方程而非离散层来定义模型动力系统。在当前规模下(百万参数量级),LNN 在视频 理解和小样本学习上展现了显著的样本效率,但可扩展性(Scalability)尚未被验证。 •神经符号混合系统:AlphaGeometry(Trinh et al., 2024)将语言模型的直觉搜索(Fast Thinking)与符号推理引擎 的严格验证(Slow Thinking)结合,在国际数学奥林匹克几何题上达到了金牌水平。这一范式指向了超越纯神经网络 的可能路径:Transformer 负责提出假设(生成候选步骤),符号系统负责验证和修正(SAT 求解、代数化简)。 从 2026 年来看,Transformer 仍然是学界和工业界的主力架构,短期内没有明确的「替代者」。但架构研究的速度正在 加快——SSM 从 S4 到 Mamba-2 仅用时两年,线性 RNN 从 RWKV-1 到 RWKV-6 仅用一年。Transformer 的优势来自十年 积累的工程生态(训练框架、推理引擎、硬件适配),而非不可逾越的理论壁垒。当某个替代方案在同等规模上持续且显 著地超越 Transformer 时,生态系统的迁移可能比预期更快。 注意力与架构变体 在方向层面之外,2024 年以来已落地为可复现成果的注意力与架构变体同样值得关注。它们大多不推翻 Transformer 的 总体骨架,而是以更细的粒度重写「注意力如何计算」与「token 如何消耗计算」两个问题,并直接影响了 2026 年主流 模型的设计。 DIFF Transformer。差分注意力(Differential Attention, Microsoft 2024)同时计算两套注意力分数并取差,通过共模 噪声抵消自动实现稀疏聚焦,在语言建模与上下文学习等任务上超越标准 Transformer。 Mixture-of-Depths。深度混合(Mixture-of-Depths, MoD)由 Google DeepMind 于 2024 年提出,将「混合」的思想从 专家维度(MoE)迁移到深度维度。标准 Transformer 中每个 token 依次通过全部层;MoD 则让模型为每个 token 学习 决定在每一层是继续深入计算还是直接跳过该层(走恒等捷径),把有限的计算预算动态分配给「重要」的 token。 MoD 通过轻量路由器(Router)为每个 token 打分,并预先设定每层的 token 通过比例(如 12.5%),训练时以辅助损 失约束预算分配,推理时严格按学得的比例裁剪算力。其收益是 FLOPs 的显著下降:在固定的推理计算预算下,MoD 能 在与全深度基线质量持平的前提下节约约一半的 FLOPs,且不产生显式的「死 token」,被跳过的 token 仍经残差路径携 带信息,只是不消耗该层的矩阵运算。2025-2026 年,MoD 与 MoE 的组合成为热门方向:token 同时按「深度路由」与 「专家路由」分配计算,算力被进一步聚焦到少数高价值路径上,这也与推测性专家路由的思路形成呼应——计算不再是 均匀摊派,而是逐 token 定制。 Gated DeltaNet。Gated DeltaNet(2024)是线性注意力族的新成员,将 delta 规则(Delta Rule)与门控机制引入线性 递推状态。它维护一个固定维度的隐状态矩阵 S ,写入新键值对时,先用当前键查回旧状态中与该键相似的内容,再以 「预测误差」按学习率修正状态: t St = St−1 + βt (vt − St−1 kt ) kt⊤ 其中 β 是逐 token 的门控(Gating),键通常被归一化以保证 k k = 1,使状态向真实的键值关联收敛。相比标准线性注 ⊤ 意力的等权累加,delta 规则让新信息覆盖而非稀释旧记忆,关联记忆(Associative Recall)能力显著增强;门控则赋予 t t t 模型选择性遗忘的能力,避免状态在超长序列中被无关信息污染。 Gated DeltaNet 最突出的特性是常数显存:无论序列多长,记忆状态始终是一个固定大小的矩阵,无需任何随序列增长 的 KV 缓存。这一设计是 KDA(Kimi Delta Attention)的直接理论近亲,KDA 同样以 delta 规则通过隐状态递推维护历 史,二者共享「以可更新的记忆状态实现常数显存的长程记忆」这一核心思想。区别在于,Gated DeltaNet 强调门控对 状态更新的精细调节,而 KDA 进一步与 softmax 注意力层混合,以 delta 状态覆盖长程历史、以 softmax 注意力保证精 确检索,是线性注意力走向生产部署的工程化形态。 MLKV。多层 KV(Multi-Layer KV, MLKV)于 2024 年提出,将 KV 缓存的共享粒度从层内扩展到跨层,相邻两层或一组层 共用一份 KV,缓存占用随共享组大小成比例下降,并与 GQA/MLA 正交可叠加。与之同属 2025-2026 趋势的还有块级注 意力(Block-Attention)与稀疏 KV 共享,把序列划分为块、限定查询块的可见键块范围,并让多个位置复用同一批稀疏 键块。它们把集约化内建进注意力结构本身,与面向推理引擎的运行时优化(量化、驱逐、YOCO 层间缓存)定位不同, 属于架构设计层面的选择。各变体的机制、收益与代价汇总如表10-12 所示。 变体 提出时间 核心机制 主要收益 主要代价 Mixture-of-Depths 2024 token 级深度路由 推理 FLOPs 约减半 需辅助损失约束预算 Gated DeltaNet 2024 delta 规则加门控线性状态 常数显存长程记忆 复杂推理能力需混合注意力补齐 MLKV 2024 跨层共享 KV 缓存 KV 缓存占用成倍下降 轻微质量损失 表10-12 2025-2026 注意力与架构变体一览 归纳上述变体,可以提炼出 2025-2026 年架构演进的两大主线。其一是「注意力本身的可学习压缩」:DIFF Transformer 以差分抵消噪声,delta 规则线性注意力以可更新状态压缩历史,MLKV 与块级稀疏 KV 共享以跨层复用压缩缓存,它们都 指向同一个目标,即让注意力机制自身学习「压缩什么、保留什么」,与学习式稀疏选择、KDA 的状态记忆一脉相承。其 二是「token 级动态计算」:MoD 在深度维度、MoE 在专家维度、推测性路由在推理维度,共同把计算从「均匀分配给所 有 token」改为「按 token 的重要性动态分配」。二者叠加在混合架构(SSM 与注意力交替、注意力内部混合)之上,构 成 2026 年主流模型的设计底层:Transformer 的骨架仍在,但「注意力如何压缩」与「计算如何分配」都已重写为可学 习的决策。