内容提要
vLLM 0.11.0引入KV缓存卸载功能,将缓存转移至CPU内存(DRAM),提升推理吞吐量。通过缓存KV值,降低计算需求,改善请求延迟和每节点吞吐量。新API支持异步加载和存储KV数据,优化GPU与CPU间的数据传输,显著提升性能。
关键要点
-
vLLM 0.11.0引入KV缓存卸载功能,将缓存转移至CPU内存(DRAM),提升推理吞吐量。
-
通过缓存KV值,降低计算需求,改善请求延迟和每节点吞吐量。
-
新API支持异步加载和存储KV数据,优化GPU与CPU间的数据传输。
-
KV值的计算在请求处理生命周期中是计算密集型的,预填充阶段需要专用硬件加速。
-
KV缓存卸载可以在请求共享相同前缀时提高请求延迟和每节点吞吐量。
-
CPU内存的容量通常超过GPU内存,适合存储更大的KV缓存。
-
vLLM的连接器API支持异步加载和存储KV数据,简化了新卸载后端的添加。
-
使用CPU卸载时,可以通过CLI标志轻松启用KV缓存卸载功能。
-
CPU卸载通过减少单个请求的处理时间和提高并发请求的吞吐量来提升性能。
-
DMA(直接内存访问)用于高吞吐量的数据传输,最小化CPU和GPU核心的开销。
-
vLLM的KV缓存布局优化提高了物理块大小,从而提升了卸载连接器的吞吐量。
-
未来版本将进一步改进CPU KV缓存的功能,增强存储卸载的中间层。
-
用户可以在vLLM Slack上分享使用案例和反馈。
延伸解读
KV缓存卸载的优势
vLLM 0.11.0引入的KV缓存卸载功能,能够将缓存数据转移至CPU内存,从而提升推理吞吐量。这一功能特别适合处理并发请求,能够有效减少GPU内存的压力,避免因内存不足而导致的请求中断。用户在使用时应关注CPU内存的容量,以确保能够存储足够的KV缓存。
异步加载的技术优势
新版本的vLLM支持异步加载和存储KV数据,这意味着在处理请求时,系统不会因数据传输而阻塞。这种设计显著提高了系统的并发处理能力,用户在实际应用中可以体验到更低的请求延迟和更高的吞吐量。使用时,建议用户熟悉CLI命令,以便快速启用这一功能。
DMA技术的应用
在KV缓存卸载过程中,vLLM利用DMA(直接内存访问)技术进行高效的数据传输。这种方式能够最小化CPU和GPU核心的开销,提升数据传输的吞吐量。用户在选择模型时,应考虑模型的KV数据布局,以便最大化DMA的性能优势。
延伸问答
vLLM 0.11.0的KV缓存卸载功能有什么主要优势?
该功能将缓存转移至CPU内存,提升推理吞吐量,降低计算需求,改善请求延迟和每节点吞吐量。
如何使用vLLM的KV缓存卸载功能?
可以通过在vllm serve命令中添加CLI标志来启用,例如--kv_offloading_backend native --kv_offloading_size <size_in_GB>。
KV缓存卸载如何影响请求的处理时间?
KV缓存卸载通过减少单个请求的处理时间和提高并发请求的吞吐量来提升性能,TTFT可减少2倍到22倍。
vLLM的异步API有什么作用?
异步API允许在处理请求时同时加载和存储KV数据,避免了阻塞,提高了并发处理能力。
CPU内存相较于GPU内存在KV缓存卸载中有什么优势?
CPU内存容量通常超过GPU内存,适合存储更大的KV缓存,并且CPU与GPU之间的数据传输延迟低、吞吐量高。
未来的vLLM版本将如何改进KV缓存功能?
未来版本将增强CPU KV缓存的功能,改进存储卸载的中间层,提升整体性能。