把记忆交给CPU,大模型会变快

把记忆交给CPU,大模型会变快

💡 原文中文,约6100字,阅读约需15分钟。
📝

内容提要

Agent时代长上下文推理导致KV Cache急剧膨胀,显存不足会清空缓存并触发重复Prefill,推高首Token延迟。英特尔提出以CPU管理分层存储与硬件压缩为核心的优化方案,包括KV Shrink、KV Fuse、KV Cascade和KV Infinity,并借助QAT加速压缩。测试表明该方案可显著降低TTFT、节省缓存空间,使GPU专注生成新Token。

🔎

延伸解读

KV Cache膨胀的量化影响

文章以Qwen3-8B为例,每个Token的KV Cache约147KB,百万Token上下文对应约147GB。若按300万日活、每人10请求、每请求1M上下文推演,日累计KV数据可达4410PB。这虽非实际存储需求,但清晰揭示了长上下文与高并发下缓存规模的爆炸性增长,以及显存不足导致缓存清空、重复Prefill和TTFT升高的风险。

分层存储与CPU的管理角色

面对显存压力,文章提出以存代算:将KV Cache按活跃度分层存放于HBM、DDR、SSD或远端存储。CPU凭借大容量内存和存储连接,负责跟踪会话状态、容量和访问情况,决定缓存层级。vLLM的KV Offloading已支持类似机制,但需权衡取回延迟与重算成本,避免搬运比计算更慢。

硬件压缩与QAT的差异化优势

压缩能减少存储和传输量,但软件压缩可能挤占CPU资源并成为瓶颈。英特尔QAT将压缩/解压卸载到专用硬件,释放通用核心。KV Shrink通过重排存储格式,使无损压缩节省空间从10%以上提升至20%-30%。测试中,QAT方案性能约为软件压缩的两倍,额外TTFT开销低于10%,在特定配置下TTFT最高加速约5倍。

实际部署需结合负载测试

英特尔KV Shrink在双路至强6554S与L20 GPU、Qwen3-32B、80%缓存命中率下,TTFT最高提升约5倍;另一组与道客联合测试中,对比LMCache,单路平均TTFT从129.81ms降至114.13ms,八路并发降幅约4.6%。可见加速幅度随设备、对比方案和并发变化,运营方需带入自身上下文长度、并发量和缓存命中率实测,才能评估真实收益。

Q&A

为什么Agent时代长上下文推理会导致首Token延迟增加?

因为Agent任务需要反复读取代码、查资料、跑测试,会话历史不断积累,导致KV Cache急剧膨胀。当显存不足时,部分缓存被清走,后续需要时又得重新做Prefill,从而推高首Token延迟(TTFT)。

KV Cache是什么?它为什么占空间?

KV Cache是Transformer模型在推理时缓存的Key和Value中间结果,用于避免重复计算。它占空间是因为每个Token对应的KV数据量很大,例如Qwen3-8B每个Token约147KB,且随上下文长度和请求规模增长。

英特尔提出的KV Cache优化方案包含哪些技术?

包括KV Shrink、KV Fuse、KV Cascade和KV Infinity四个方向。KV Shrink结合分层管理与硬件压缩;KV Fuse尝试缓存融合;KV Cascade用辅助模型筛选;KV Infinity通过按需加载和预取扩展长任务。

KV Shrink如何利用QAT提升性能?

KV Shrink将分层管理与硬件压缩结合,QAT专用加速单元负责压缩解压,减少CPU核心占用。通过重排KV Cache存储格式,压缩节省空间从10%以上提升到20%-30%,且为无损压缩。测试中TTFT最高获得约5倍加速。

以存代算的分层存储策略是怎样的?

根据数据活跃程度分层存放:频繁访问的留在GPU HBM,短期可能用到的放CPU DDR内存,更久未访问的下沉到SSD或远端存储。CPU负责统一管理,跟踪会话状态和缓存访问,决定缓存位置。

KV Shrink在实际测试中的效果如何?

在双路至强6554S和两张L20 GPU、Qwen3-32B模型、80%缓存命中率下,相比原生vLLM基线,TTFT最高获得约5倍加速。QAT硬件压缩性能约为CPU软件压缩的两倍,开启QAT压缩带来的额外TTFT开销低于10%。

🏷️

标签

➡️

继续阅读