Squeezed Attention:基于语义聚类的长上下文LLM推理加速

Squeezed Attention:基于语义聚类的长上下文LLM推理加速

ArXiv ID: 2411.09688
作者: Coleman Hooper, Sehoon Kim, Hiva Mohammadzadeh, Monishwaran Maheswaran, Sebastian Zhao, June Paik, Michael W. Mahoney, Kurt Keutzer, Amir Gholami
机构: UC Berkeley, SqueezeAI Lab
发布日期: 2024-11-14
会议: ACL 2025

摘要

长上下文LLM推理面临的核心挑战是注意力计算的二次复杂度问题。当上下文长度从8K扩展到128K时,KV缓存大小和注意力计算量呈指数级增长,导致推理延迟急剧上升。

Squeezed Attention提出了一种创新的语义压缩方案,通过离线K-means聚类将固定上下文中的语义相似键值对分组,在推理时仅针对查询token的语义最相关的簇进行注意力计算。这种方法将注意力复杂度从O(N)降低到O(log N),其中N是上下文长度。

系统分为两个阶段:

  1. 离线优化阶段:对固定上下文(如系统提示、知识库)使用K-means算法进行语义聚类,生成簇质心和索引
  2. 在线推理阶段:查询token与簇质心进行相似度比较,选择最相关的K个簇,仅对这些簇内的键值对计算注意力

实验结果显示,Squeezed Attention在保持准确率的前提下,将KV缓存预算降低了3.1倍,并通过定制CUDA核实现了预填充和生成阶段超过4倍的端到端加速。

该方法特别适合RAG(检索增强生成)、长文档问答等场景,这些应用通常包含大量固定上下文和少量动态查询。

Squeezed Attention工作流程
展示离线聚类、在线查询匹配和稀疏注意力计算的完整流程

核心贡献

  • 语义聚类压缩:使用K-means算法对固定上下文进行离线聚类,显著减少在线注意力计算量
  • 对数复杂度注意力:将长上下文注意力复杂度从O(N)降低到O(log N),突破传统线性瓶颈
  • 定制CUDA核实现:针对质心比较和稀疏注意力计算优化的GPU核函数,实现4倍以上加速
  • KV缓存优化:3.1倍的缓存预算降低,同时保持模型精度几乎无损失
  • 端到端优化:覆盖预填充和解码两个阶段的完整加速方案

技术方案

Squeezed Attention的核心思想是利用注意力的稀疏性和语义局部性:

离线优化阶段

  1. 对固定上下文的键(Key)向量进行K-means聚类
  2. 计算每个簇的质心向量
  3. 为每个键建立到簇的索引映射
  4. 预计算质心之间的相似度矩阵(可选优化)

在线推理阶段

  1. 计算查询向量与所有簇质心的相似度
  2. 选择Top-K个最相关的簇
  3. 仅对选中簇内的键值对执行注意力计算
  4. 使用稀疏FlashAttention核函数加速计算

关键技术细节

  • 簇数量K的选择:通常设置为√N到N/4,平衡压缩率和精度
  • 自适应簇选择:根据质心相似度分布动态调整选择的簇数量
  • 混合精度计算:质心比较使用FP16,注意力计算支持FP16/BF16
  • 内存优化:质心向量保存在GPU共享内存,减少全局内存访问

性能评估

端到端加速比(相对标准FlashAttention-2)

上下文长度 预填充加速 生成加速 KV缓存减少
8K 1.8x 2.1x 2.0x
16K 2.5x 2.8x 2.5x
32K 3.2x 3.5x 2.8x
64K 4.1x 4.3x 3.0x
128K 4.6x 4.8x 3.1x

与其他压缩方法对比(64K上下文)

  • StreamingLLM:加速2.2x,但准确率下降12%
  • H2O:加速2.8x,准确率下降6%
  • SnapKV:加速3.1x,准确率下降4%
  • Squeezed Attention:加速4.1x,准确率下降<2%

部署建议

适用场景

  • RAG应用:固定知识库 + 动态查询
  • 长文档问答:文档固定,问题动态
  • 多轮对话:系统提示固定,对话历史动态
  • 代码辅助:代码库上下文固定,查询动态

配置建议

  • 簇数量:K = √(固定上下文长度)
  • 簇选择数:Top-K = 总簇数的1/4到1/2
  • 重聚类触发:上下文变化>20%时重新聚类

个人评价

Squeezed Attention是一个针对特定场景(固定上下文)高度优化的推理加速方案,在RAG等应用中展现出卓越的性能。

优势

  1. 极致加速:4倍以上的端到端加速,远超现有压缩方法
  2. 精度保持:<2%的准确率损失,实用性强
  3. 理论优雅:对数复杂度是理论上的重大突破
  4. 开源实现:提供完整的CUDA核和集成代码
  5. ACL 2025接收:学术价值得到认可

局限

  1. 场景限制:仅适用于有固定上下文的场景,通用性受限
  2. 离线成本:虽然是一次性的,但对于频繁变化的上下文不适用
  3. 簇数调优:需要根据任务调整K值,缺乏自动化

应用前景

  • RAG是当前LLM最重要的应用场景之一,Squeezed Attention的适用性强
  • 随着上下文长度扩展到1M+,这类压缩技术将更加关键
  • 可与量化、投机解码等技术组合,进一步提升性能

评分: 4.3/5.0

代码仓库: GitHub

© 2025 Generative AI Discovery All Rights Reserved.
Theme by hiero