ai官小西

Deja Vu:用「上下文稀疏性」给 LLM 推理提效 6 倍

Deja Vu:用「上下文稀疏性」给 LLM 推理提效 6 倍

用大模型 Copilot 超过两周的开发者都遇到过同一个问题:模型吐 token 太慢了。GPT-4 级别模型在本地推理几乎不可能,而线上 API 的响应延迟又让你反复等待。75% 的 LLM 推理成本花在内存加载——模型参数太多,每次生成一个 token 都要把所有参数从显存读到计算单元,即使大部分参数对这个特定输入根本没贡献。

稀疏化是自然的解决思路。但现有方法要么需要昂贵的重训练,要么牺牲了 LLM 的 in-context learning 能力,要么实际跑不出 wall-clock 加速。来自 CMU、Stanford、Meta AI 等机构的研究者提出了一个直截了当的假设:上下文稀疏性——对于每个具体输入,只有一小部分注意力头和 MLP 参数真正起作用,其余可以安全跳过;而且,哪些参数会被用到是可预测的。

基于这个洞察,他们构建了 DejaVu(ICML 2023,被引 555 次),在 OPT-175B 上实现 2× 推理加速(对比 FasterTransformer)和 6×(对比 HuggingFace),不损失模型精度、不削弱 in-context learning


什么是上下文稀疏性?

LLM 在推理时,每个 token 的生成需要过所有 Transformer 层。常规观点是"每一层、每一个头都在做有用的计算"。DejaVu 的发现刚好相反:

组件 稀疏度 说明
注意力头 ~80% 不需要 每层 96 个头中,仅 15-20 个对特定输入有实质贡献
MLP 神经元(FFN1) ~95% 不需要 OPT-175B 每层 49152 个神经元,只需激活 ~5%

而且,这种稀疏性是输入相关的——不同 prompt 激活完全不同的参数子集。这意味着"静态剪枝"(训练好后一次性裁掉固定权重)行不通,必须动态决策。

阶段 操作 说明
1. 离线训练 用 C4 数据集跑 OPT-175B 全量推理,记录每输入对应的激活模式 生成 (输入, 激活标签) 训练数据
2. 训练预测器 每层独立训练小型二分类器(MLP),以当前层输入为特征,预测哪些头/神经元需要激活 预测器开销极小,不增加显存压力
3. 在线推理 每个输入到达某层时,预测器实时选出一小部分参数,仅对这些执行计算 跳过 80-95% 的无效计算

预测器的核心设计:异步 + 硬件感知。预测发生在参数加载之前,隐藏了预测延迟;稀疏矩阵乘法优化了 GPU 利用率,避免了不规则访存导致的性能下降。


实际效果:不止是理论加速

DejaVu 不只停留在"理论上减少 MAC 操作数",它在真实 GPU 上跑出了有意义的 wall-clock 加速:

模型 框架 延迟 加速比
OPT-175B HuggingFace (baseline) ~1500ms/token
OPT-175B FasterTransformer ~500ms/token
OPT-175B DejaVu ~250ms/token 6× vs HF, 2× vs FT

更关键的是精度保持:

指标 稠密模型 DejaVu 差异
C4 困惑度 10.68 10.72 +0.04(可忽略)
WSC 准确率 63.5% 63.5% 0%
HellaSwag 80.7% 80.5% -0.2%
OpenBookQA 48.8% 48.8% 0%

这些数字传递的信息很清楚:你可以安全跳过 80% 的注意力头和 95% 的 MLP 神经元,模型不知道该输出什么的时候,它确实不知道,但它本来就不会知道。


与同类方案的横向对比

DejaVu 不是推理加速赛道的唯一选手。把它放进 2023-2025 年的优化版图里看位置:

方法 思路 精度损失 硬件加速 代表工作
FlashAttention 优化注意力计算的显存 IO ✅ 实打实 Dao et al., 2022
量化 INT8/INT4 降低精度 极小 ✅ 实打实 GPTQ, AWQ
推测解码 小模型先猜,大模型验证 ✅ 实打实 Leviathan et al., 2023
静态剪枝 一次性裁掉"不重要"权重 ⚠️ 需重训练 SparseGPT, Wanda
PowerInfer 利用激活局部性,热神经元放 GPU ✅ 实打实 Song et al., 2024
DejaVu(上下文稀疏) 每输入动态选参数子集 无(预测准确 >99%) ✅ 实打实 Liu et al., ICML 2023

DejaVu 的独特价值:它是第一个证明"动态、输入依赖的稀疏化"可以在不做重训练的情况下实现 wall-clock 加速的工作。与静态剪枝不同,它保留了模型对任意输入的全响应能力。与推测解码互补——推测解码优化的是"生成多个 token"的场景,DejaVu 优化的是"生成每个 token"的成本。两者可以叠加。


关键局限:为什么没有成为默认?

尽管 DejaVu 的理论价值很高,但它在实践中并未成为主流推理框架的默认组件。原因有三:

  1. 训练预测器的成本:需要先用 OPT-175B 在全量 C4 上跑一遍推理来收集训练数据。这个过程本身就是昂贵的,而且每换一个新模型就要重来一遍。对于模型版本迭代频繁的团队,ROI 不够。

  2. 稀疏预测器的泛化问题:预测器是在特定数据分布上训练的。如果推理时遇到分布外输入(如代码 vs 自然语言、长文本 vs 短 prompt),预测准确率可能下降,导致精度损失。论文在 C4 和下游任务上验证了泛化,但生产环境的输入多样性远超基准测试。

  3. 生态位被 FlashAttention + 量化占据:2023 年后,FlashAttention v2/v3 + 4-bit 量化(GPTQ/AWQ)+ 推测解码的组合已经为大多数团队提供了"够好"的加速比。这些方法对模型改动最小,工程复杂度低。DejaVu 需要额外的训练流水线和自定义 CUDA kernel,投入产出比不占优。

但它的思想遗产是显著的。2024 年的 PowerInfer(热/冷神经元分离)和 2025 年的多种动态稀疏工作都受益于 DejaVu 首次系统化论证的"上下文稀疏性是可预测且可工程化的"这一命题。


作者阵容:这个领域的人脉图

DejaVu 的作者名单本身就是 LLM 系统领域的一张关系图:

作者 机构 代表性贡献
Zichang Liu Rice → CMU 一作,上下文稀疏性
Jue Wang CMU 预测器设计
Tri Dao Stanford → Together AI FlashAttention 作者
Binhang Yuan ETH Zurich 分布式训练
Ce Zhang ETH → Together AI 系统+ML 交叉
Yuandong Tian Meta AI (FAIR) 推理优化
Christopher Ré Stanford 弱监督、数据系统
Beidi Chen CMU 高效 Transformer(资深通讯作者)

Tri Dao 的参与意味着该工作与 FlashAttention 的 IO 优化思路一脉相承。Beidi Chen 在高效注意力机制领域的积累保证了方法的严谨性。这是一份"圈内人"的合作成果——不是学生发一篇就走的典型学术论文,而是该领域核心研究者共同推动的系统性工作。


结论

DejaVu 在 2023 年提出了一个现在看来依然清醒且重要的命题:LLM 推理的大部分计算是浪费的——不是"可能浪费",而是"确定浪费",且可以精确预测哪些计算是浪费的。在 OPT-175B 上 6× 加速的实证结果证明了这一命题的可工程化性。

它的工程落地受限于预测器训练成本和生态位竞争,但其"动态稀疏"的思想深刻影响了后续推理优化工作。如果你的场景是同一个模型部署后长期不改、输入分布稳定、且需要极致推理吞吐,DejaVu 仍然是值得考虑的路径——尤其是与 FlashAttention + 推测解码组合使用,加速比可叠加。

我们的判断:DejaVu 不是"最优选择",但它是 LLM 推理优化版图上唯一完整验证了上下文稀疏性可工程化的工作。理解它,就理解了为什么 2025 年的推理成本还能持续下降。


参考资料

  1. Liu et al. — Deja Vu: Contextual Sparsity for Efficient LLMs at Inference Time (ICML 2023, arXiv:2310.17157)
  2. FMInference/DejaVu GitHub 仓库 — 359 Star,截至 2026-07-14
  3. Dao et al. — FlashAttention: Fast and Memory-Efficient Exact Attention (NeurIPS 2022)
  4. Song et al. — PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU (2024)
  5. Leviathan et al. — Fast Inference from Transformers via Speculative Decoding (ICML 2023)