文章预览
之前在 大模型推理优化技术-KV Cache 一文讲述了在大模型推理时,通常会使用 KV Cache 进行推理优化,以避免在大模型生成阶段,反复计算KV 值,从而提高推理速度。但与此同时,KV Cache 造成了对于内存需求的显著提升。所以,KV Cache 是一种折衷方案(用显存换计算),本文将讲述一些针对 KV Cache 量化的方法来降低对于显存的消耗,从而使我们能够生成更长的序列以及处理更大的批次数据。 为什么需要进行 KV Cache 量化? 在大模型推理过程中,模型的显存占用主要由模型权重、激活(前向传递过程中生成的张量)以及KV缓存(从之前处理过的 token 的 self-attention 层中提取的Key-Value对)组成。模型的权重和激活由于模型参数规模确定之后通常比较固定。
而 KV 缓存除了与模型参数规模规模有关,还有输入与生成序列的长度有关。 KV 缓存的计算公式如下
………………………………