论文洞察:面向长上下文场景的高效LLM推理方案
研究背景本文基于上海交通大学在DAC25上发表的研究成果《KVO-LLM: Boosting Long-Context Generation Throughput for Batched LLM Inference》进行深入分析。目前LLM推理系统中存在注意力机制计算强度低导致加速器处理单元PE利用率低问题同时现有KV Cache压缩算法普遍存在精度损失过大的问题。为解决这些问题本文提出了一种面向长上下文批处理的高效LLM推理方案KVO-LLM。在算法层面本文提出了一种基于量化感知的KV Cache压缩方法首先采用融合差分与显著token感知的量化技术然后基于历史-当前注意力进行KV Cache压缩在保证LLM推理精度的前提下实现了低KV Cache读取开销。在架构层面提出了一种基于算子融合和跨批次交织处理的多核加速器最大化处理单元和DRAM带宽利用率。核心问题识别随着上下文长度和批处理大小的增加KV Cache数据量迅速增长需要存储到外部内存中。从外部内存加载KV Cache会造成较高的时延降低了注意力机制的计算强度低导致了加速器的处理单元PE利用率低从而造成算力资源浪费。KV Cache加载延迟高GPU显存容量有限长序列或大批量场景下需将KV Cache存储到外部内存中。外部内存相对HBM的带宽较低以及KV Cache数据量较大导致KV Cache加载延迟极高。在Llama-2-7B模型中当上下文长度达到32K时KV Cache能达到128GB其加载时延占token生成时延的96%。KV Cache量化精度低现有KV Cache压缩算法量化或丢弃存在精度显著下降的缺陷。核心设计与创新KVO-LLM进行了算法与架构的协同优化同时满足了LLM推理的算力资源利用率、LLM推理生成质量、最大化处理单元和DRAM带宽的利用率三大需求具体包含两部分核心设计1.算法层面基于量化感知的KV Cache压缩算法融合差分与显著token感知的量化技术DSQ将token进行分组在组内对KV Cache中的K值采用逐token差分量化其中基token显著token量化为INT8精度其余token用更低bitINT2精度进行差分量化存储相对基token的差分值对KV Cache中的V值采用显著token感知的逐通道量化显著token量化为INT8精度其他token分配INT2精度减少token间量化干扰。历史-当前注意力引导的压缩算法HCAP基于历史累积注意力分数删除KV Cache中的低贡献通道减轻了语义信息的丢失通过查询Q与基token K值来估算当前注意力分数筛选少量关键token参与注意力计算平衡压缩率与精度。2.架构层面多核联合的加速器设计算子融合与跨批交织处理的多核架构最大化处理单元和DRAM带宽利用率。算子融合IntraPE Cores将计算中的关键操作进行融合减少流水线延迟跨批次交织处理Inter PE Cores将计算核心划分为5个矩阵核心其中1个矩阵核心用于多头注意力MHA。已有KV Cache的注意力计算过程属于内存密集型则采用MHA核心处理新token的注意力计算过程属于计算密集型则采用其他矩阵核心专门处理让二者并发执行充分利用DRAM带宽并提高处理单元的计算强度。图KVO-LLM加速器实验验证在LongBench基准数据集上基于Llama-2-7B、LongChat-7B、Vicuna-7B等模型对KVO-LLM、KIVI目前SOTA的KV量化方法之一进行了测试KVO-LLM在KV Cache的压缩率为91.93%时比KIVI方案的推理准确度更高。KVO-LLM通过采用DSQ和HCAP技术将MHA的处理单元利用率从25%提高到93%并将DRAM带宽使用率从25%提高到67%。与Tender、OPAL、MECLA等加速器相比LLM推理吞吐量最高提升7.32倍。表不同KV Cache压缩算法的推理精度对比图KVO-LLM相对不同LLM加速器的吞吐量提升研究价值KVO-LLM通过算法和架构的深度协同实现了KV Cache压缩率、LLM推理准确度、加速器的算力利用率三个目标让长上下文场景中LLM的高吞吐量、高能效推理成为可能。论文链接https://dl.acm.org/doi/10.1109/DAC63849.2025.11132542以上内容转载自微信公众号—大模型软硬协同优化链接https://mp.weixin.qq.com/s/IDsd