作者: Woosuk Kwon, Zhuohan Li, Siyuan Zhuang, Ying Sheng, Lianmin Zheng, Cody Hao Yu, Joseph E. Gonzalez, Hao Zhang, Ion Stoica
提交日期: 2023年9月12日
主题/分类: 机器学习 (cs.LG); 分布式、并行与集群计算 (cs.DC)
摘要:
为了实现大语言模型(LLM)的高吞吐量服务,需要同时批处理足够多的请求。然而,现有系统面临挑战,因为每个请求的键值缓存(KV cache)内存占用巨大,并且动态增长和收缩。如果管理效率低下,这些内存会因碎片化和冗余复制而被大量浪费,从而限制了批处理大小。为了解决这个问题,我们提出了PagedAttention,这是一种受到操作系统经典虚拟内存和分页技术启发的注意力算法。在此基础上,我们构建了vLLM,一个LLM服务系统,它实现了:(1) KV缓存内存的接近零浪费;(2) 在请求内部和跨请求之间灵活共享KV缓存,以进一步减少内存使用。我们的评估表明,与最先进的系统(如FasterTransformer和Orca)相比,在相同延迟水平下,vLLM将流行LLM的吞吐量提高了2-4倍。当序列更长、模型更大、解码算法更复杂时,改进更为显著。vLLM的源代码公开在 https://github.com/vllm-project/vllm。
备注: 本文发表于SOSP 2023。