分布式 LLM 系统中的 KV Cache 管理:放置、卸载与迁移

林知秋AI 前沿📡 BestBlogs·AI高分精选⭐ 852026-09-21161 阅读💛 154 收藏
分布式 LLM 系统中的 KV Cache 管理:放置、卸载与迁移

📌 One-Sentence Summary 本文提出了一个分布式 LLM 服务中 KV cache 管理的系统性框架,涵盖分层内存层级中的放置、卸载与迁移,以在高并发下约束 TTFT 和 ITL。 📝 Summary 文章认为,现代高并发 LLM 服务受限于 HBM 容量和内存带宽,而非 FLOPs,这使得 KV cache 成为一个分布式系统问题。它将自回归生成分解为计算受限的 prefill 和内存带宽受限的 decode,并为 MHA/MQA/GQA 建模 KV 占用,给出精确和分页分配的公式,包括内部碎片。文章定义了从 SRAM 和 GPU HBM 热层,到主机 DRAM 温层、本地 NVMe 冷层,再到远程内存架构的四层内存层级,并通过传输与重计算成本及复用概率来形式化放置决策。文中描述了使用锁页主机内存、CUDA 流异步和双缓冲滑动窗口的卸载协议,随后介绍了使用 GPUDirect RDMA、块打包和元数据同步的 prefill-decode 分离分布式迁移模式。驱逐策略的讨论超越了朴素的 LRU,转向基数树引用计数策略。 💡 Main Points KV cache 作为分布式系统瓶颈 高并发服务因 HBM 容量饱和和带宽限制而失败;decode 受内存带宽限制,KV 状态随序列长度、并发量和生命周期扩展,导致 OOM 和队头阻塞。 内存占用建模与分页开销 提供精确的 KV 大小公式 M_KV = 2 × L × H_KV × D_h × S × B × P_bytes 以及带内部碎片界限的分页分配,从而为 MHA/MQA/GQA 实现精确的容量规划。 分层内存层级与放置优化 定义从 SRAM 到远程 RDMA 内存的 Tier 0-4,并推导放置决策 E[Benefit]=P(Reuse)×(T_recompute−T_transfer)>0,以在 GPU HBM、主机 DRAM、NVMe 和远程 DRAM 之间选择获取还是重计算。 卸载与分布式迁移协议 详述使用锁页内存和双缓冲的异步 D2H/H2D 卸载,以及通过 GPUDirect RDMA、布局 swizzling 和基于 RPC 的元数据同步实现的 prefill-decode 分离迁移。 💬 Key Quotes KV cache 管理是在异构内存层级和分布式计算节点之间对键值张量状态进行架构协调,以最大化推理吞吐量,同时严格约束首 token 时间(TTFT)和 token 间延迟(ITL)。 在自回归 transformer 推理中,现代高并发服务系统不再主要因原始浮点运算(FLOP)耗尽而失败;它们因高带宽内存(HBM)容量饱和和内存带宽限制而失败。 高效服务大语言模型需要将键值(KV)缓存视为一个弹性的分布式内存层级,涵盖片上 SRAM、本地 GPU HBM、主机系统 DRAM、本地 PCIe NVMe 存储,以及通过低延迟网络架构连接的远程内存。 自回归生成的操作生命周期分解为两个阶段:计算受限的 prefill(并行处理提示 token)和内存带宽受限的 decode(顺序生成输出 token)。 📊 Article Meta AI Screening: 85 Source: DEV Community: machinelearning Author: wantsvibes Category: 人工智能 Language: 英文 Read Time: 13 min Word Count: 3035 Tags: AI 与智能应用 , 分布式系统 , 性能优化 , AI 工程 , 模型训练与推理 Read Full Article

#AI 与智能应用# 分布式系统# 性能优化# AI 工程# 模型训练与推理

文章评论(2

龙文博40 分钟前

收藏了,以后慢慢研究。

回复
杨丽华2 小时前

不错不错,已加入书签。

回复