一、推理成本的“隐形杀手”:KV Cache
什么是KV Cache
大语言模型生成文本时,每生成一个新Token都需要“回顾”之前所有Token的Key和Value向量。为了避免重复计算,系统把这些中间结果缓存下来,这就是KV Cache。随着上下文越来越长——从几万Token迈向几十万甚至百万Token——KV Cache的体积可能远超模型参数本身。上海AI Lab的胡侠教授打了个比方:KV Cache压缩之后,可以让价格2万美金的GPU发挥出20万美金的价值。这句话精准道出了KV Cache在整个推理成本中的核心地位。
为什么KV Cache如此“吃”成本
KV Cache的存储压力体现在两个层面:一方面,正在处理中的请求占用GPU显存,直接限制了并行推理的吞吐能力;另一方面,服务商为了支持长时记忆,大量KV Cache需要持久化存储,带来高昂的存储成本和加载开销。研究表明,KV Cache的规模对推理效率和存储成本的影响极为显著。在长序列场景下,KV Cache存储的减少几乎直接等价于decode成本的降低。
二、KV Cache压缩:把“内存大户”瘦下来
五大压缩路径
学界和工业界已经探索出多种KV Cache压缩策略,大致可分为五类:基于合并、基于量化、基于Token驱逐、基于共享和基于注意力头剪枝。其中量化是目前最受关注的方向——通过降低KV Cache的数值精度来压缩体积。例如,上海AI Lab团队将KV Cache量化为2比特数字,实现了8倍内存效率提升和3.5倍时钟时间加速。
从实验室到真实服务
KV Cache压缩正在从理论走向实战。Together AI等团队提出的OSCAR方案,在约2.28有效比特的预算下仍能接近BF16的精度表现。谷歌研究院推出的TurboQuant算法,把KV Cache压缩至少6倍且精度零损失。更令人振奋的是,KVTC方案在Llama 3等模型上实现了最高20倍压缩,特定场景甚至可达40倍以上。KV Cache压缩不再只是“少占显存”,而是开始进入真实长上下文服务系统的设计核心。
三、Prefill-Decode分离:让计算和访存各司其职
两个阶段,两种“体质”
大模型推理天然分为两个阶段:Prefill阶段一次性处理全部输入Token并生成KV Cache,属于计算密集型操作;Decode阶段则逐个生成后续Token,需要频繁访问KV Cache,属于内存密集型操作。两者的硬件需求截然不同——Prefill需要高算力GPU,Decode需要高带宽GPU。传统方案把两者塞进同一个实例,结果Prefill阶段显存闲置,Decode阶段算力闲置,资源利用率极低。
分离带来质的飞跃
Prefill-Decode分离(PD分离)的核心思路很简单:把两个阶段拆开,分别部署在最适合的硬件上。这一架构已成为现代大模型推理服务的行业标配。实际效果如何?一家企业将72B模型从混合部署调整为PD分离后,响应耗时减半、成本节约50%。Anyscale的数据显示,在同样GPU预算下,PD分离可服务1.3到2.3倍以上的QPS,最高节省67%的计算成本。NVIDIA Dynamo、vLLM、SGLang等主流框架都已原生支持PD分离。
四、双剑合璧:1+1>2的降本效应
为什么两者缺一不可
KV Cache压缩和PD分离并非各自为战,而是相辅相成的降本组合拳。KV Cache压缩解决了“存不下”的问题——让同样显存能塞下更多请求;PD分离解决了“用不好”的问题——让不同硬件发挥各自所长。两者结合,才能在有限GPU预算下实现最大吞吐。正如一篇综述所指出的,KV Cache的规模直接影响推理并行度,而PD分离正是通过解耦阶段来最大化这种并行度。
更远的想象空间
前沿探索正在进一步打破边界。月之暗面与清华团队提出的PrFaaS(Prefill-as-a-Service)方案,让KV Cache可以跨数据中心传输,将Prefill和Decode彻底解耦到不同异构集群。在内部1T参数模型上实测,吞吐量提升54%,P90延迟降低64%。从KV Cache压缩到PD分离,再到跨数据中心调度——推理降本正沿着“压得小、分得开、调得远”的路径持续进化。