当前位置: 首页 > news >正文

Agent初创实习-大模型推理加速02

H2O 方法汇报:Heavy-Hitter Oracle 如何动态压缩 KV Cache

参考论文:H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models

本汇报回答三个问题:

  1. H2O 的 pipeline 是怎么实现的?
  2. 它为什么能推理加速?
  3. 它和 StreamLLM 的“attention sink + sliding window”有什么区别?

1. 先说结论

H2O 做的事情很直接:

在生成过程中,不保存所有历史 token 的 KV cache,只动态保留“最近 token”和“历史上最常被注意到的 token”。

其中,“历史上最常被注意到的 token”就是 Heavy Hitters,也就是 H2。

它不是固定保留开头几个 token,也不是固定保留每隔几个 token,而是每一步生成时根据 attention 分数更新 token 的重要性。谁在过去生成过程中反复被后续 token 注意到,谁就更可能留在 KV cache 里。

一句话类比:

StreamLLM 像固定保留“开头几个主持人 + 最近聊天内容”;H2O 像动态保留“最近聊天内容 + 整场对话里一直被大家反复引用的关键人物”。

2. 背景:为什么 KV cache 会成为瓶颈

自回归生成时,模型每生成一个新 token,都要看前面所有 token。为了避免每一步都重新计算历史 token 的 key 和 value,推理系统会保存历史 token 的 KV cache。

标准做法是:

第 1 步:保存 token 1 的 KV 第 2 步:保存 token 1,2 的 KV 第 3 步:保存 token 1,2,3 的 KV ... 第 n 步:保存 token 1...n 的 KV

问题是 KV cache 的显存开销会随着:

  • 序列长度
  • batch size
  • 层数
  • hidden size

线性增长。

长文本生成和大 batch 推理时,KV cache 可能比你想象中大得多。论文里举例,30B 模型、batch size 128、sequence length 1024 时,KV cache 可以到 180GB。

所以 H2O 的目标是:

不保存全部 KV,只保留一小部分关键 KV,同时尽量不掉效果。

3. H2O 的两个核心观察

3.1 Attention 很稀疏

虽然 Transformer 是 dense attention,但实际推理时,每个新 token 通常只强烈关注少数历史 token。

也就是说:

当前 token 生成时,并不是每个历史 token 都同等重要。

论文观察到,LLM 推理阶段的 attention matrix 很稀疏,大部分位置的 attention 分数很低。

这说明:

保留全部 KV 可能是浪费的。

3.2 少数 token 长期很重要,也就是 Heavy Hitters

论文进一步发现,历史 token 的累计 attention 分数呈现长尾分布。

也就是说,少数 token 会反复被后续 token 注意到,它们贡献了大部分注意力价值。这些 token 就叫 Heavy Hitters。

举个直观例子:

输入:Children laughed and played in the sunny park ...

在后续生成中,模型可能经常回看:

  • Children
  • played
  • park

而一些功能词可能很少被回看。

H2O 的直觉是:

如果 KV cache 空间有限,与其随机留,不如留“最近 token + 历史高注意力 token”。

4. H2O Pipeline

下面是 H2O 的整体流程。

http://www.jsqmd.com/news/1070843/

相关文章:

  • MCP协议实战:手写v1.2服务端与三类异构Agent互通
  • 蛋白质设计中的Token级不确定性估计:LogTokU原理与应用
  • 锂离子电池多孔电极理论:从无量纲数到工程简化模型
  • GPU内核性能优化新思路:AdaExplore框架如何利用失败驱动与多样性搜索突破瓶颈
  • 飞书CLI:基于Go的企业级命令行操作系统
  • 我的AI辅助开发工具链2026版:从编码助手到工业视觉检测的全栈实践
  • GitHub Markdown终极指南:GFM语法原理与协作工程实践
  • 有限迹LTL中强释放与释放算子的语义差异与算法实现
  • WebRTC实时支付延迟优化:LETW框架治理用户体验
  • YOLO目标检测入门讲义——RoboMaster视觉篇
  • 时空U-Net:AI如何预测视网膜疾病进展
  • 全同态加密神经网络推理优化:从理论到高吞吐量工程实践
  • DeepSeek-v4-Pro工程实践:从API调用到可编程AI基础设施
  • NWCAD:基于双流置信度门控的RAG幻觉抑制技术详解
  • 量子模拟中的对称性破缺与ADAPT-VQE算法优化
  • 大字母表低熵水印技术:保护AI生成内容版权的新方法
  • Harness Engineering 中 AGENTS.md 的角色建模与三层契约设计
  • Vue 3 响应式核心:ref 与 reactive 的本质区别与选型指南
  • Claude Skills本质解析:能力协议而非插件
  • 从Bot–Nguyen系数分布到Lorentz条件:诊断与优化迭代法收敛性的核心技术
  • MOSAIC模型解析:块稀疏注意力与概率建模如何革新AI气象预报
  • CAAF架构:基于确定性UAI与状态锁定的LLM约束满足与悖论检测框架
  • 基于物理引导深度学习的Sentinel-1 InSAR雪深反演技术详解
  • Bot–Nguyen迭代系数与Lorentz条件:优化大型稀疏矩阵求解收敛性
  • Agentic Vibe Coding:工程控制论驱动的系统化编码范式
  • 4sapi工作流引擎:2026生产级Agent的确定性架构实践
  • Mac上Typora安装激活与深度定制全指南
  • 音频对话实时事实核查:多模态融合与系统架构实战
  • AstroSURE:无监督深度学习天文图像去噪框架解析与实践
  • 基于Transformer与多粒度对齐的异构骨架动作识别方法解析