SmartFlowAI
点击上方蓝字关注我们
作者:樊奇,上海交通大学硕士生
全文约 2100 字,预计阅读时间 10 分钟
在当下,大语言模型(LLMs)的影响力日益显著,像 GPT、PaLM 等模型的出现,不仅推动了自然语言处理领域的发展,更在编程助手、聊天机器人等多个应用场景中大放异彩。然而,随着这些模型的广泛应用,如何优化其内存管理以提升服务吞吐量,成为了一个亟待解决的关键问题。今天,我们就来深入解读这篇聚焦于此的论文——《Efficient Memory Management for Large Language Model Serving with PagedAttention》。
值得一提的是,这篇论文的源码是完全开源的,也就是大家所熟知的 vLLM,源码位于 https://github.com/vllm-project/vllm ,目前已有 32K GitHub stars。
研究背景:LLMs 应用中的内存管理困境
LLMs 虽然能力强大,但运行成本高昂,其中内存管理效率在服务过程中起着举足轻重的作用。当前的系统在处理 LLM 请求时,常常陷入内存碎片化和共享性差的泥沼。由于每个请求的 KV 缓存内存需求大且动态变化,而现有系统将 KV 缓存存储在连续内存空间,这就导致了严重的内存碎片化以及无法有效共享内存的问题,使得内存利用率低下,进而限制了服务的吞吐量,难以满足实际应用中的高效需求。
方法创新:PagedAttention与vLLM系统架构
1. PagedAttention算法
该算法借鉴了操作系统中的虚拟内存和分页技术,将请求的 KV 缓存分割成固定大小的块,这样就能够在非连续的内存空间中进行存储。这种创新的设计极大地缓解了内存碎片化的问题,而且还支持跨序列和请求的内存共享,为后续高效的内存管理搭建了坚实的基础架构,是整个研究中的核心创新点之一。
2. vLLM 系统架构
调度协调机制
vLLM 采用集中式调度器来协调分布式 GPU 工作者,确保整个系统的各个组件能够高效协同工作,如同精密齿轮组一般有序运转,使得计算资源能够得到合理分配和充分利用,从而提升系统的整体性能。
KV 缓存管理策略
KV 缓存管理器根据调度器的指令,对 GPU 上的物理 KV 缓存内存进行精细管理。它可以动态地分配和回收内存,根据实际需求灵活调整内存资源的分配,避免了内存的闲置和浪费,有效提高了内存的利用率。
解码算法支持:
并行采样:在并行采样过程中,vLLM 通过独特的内存管理方式,使得多个输出序列能够共享提示 KV 缓存。这就像是多个读者同时阅读同一本书的不同章节,极大地减少了内存的重复占用,提高了内存的使用效率,从而使得系统在处理并行任务时能够更加高效地运行。
束搜索:对于束搜索,vLLM 能够根据解码过程动态地调整不同候选序列之间的KV缓存共享模式。在搜索过程中,随着候选序列的扩展和筛选,内存的分配和共享也随之优化,确保在保证搜索质量的同时,最大限度地减少内存开销,让系统在复杂的搜索任务中也能保持高效的性能表现。
实验评估:多维度验证创新方法的有效性
1. 实验设置
研究团队选用了 OPT 和 LLaMA 模型,并基于 ShareGPT 和 Alpaca 数据集合成了工作负载,以此来模拟实际应用中的各种场景。同时,将 vLLM 与 FasterTransformer 和 Orc a等当前先进的系统进行对比,重点关注服务吞吐量和归一化延迟这两个关键性能指标,通过全面且严谨的实验设计来验证 vLLM 的优势和性能表现。
2. 实验结果亮点
基本采样性能领先
在不同的模型和数据集条件下,vLLM 都展现出了卓越的性能。以 ShareGPT 数据集为例,与 Orca(Oracle)相比,vLLM能够维持 1.7-2.7 倍的更高请求率,而相较于 Orca(Max),这一优势更是扩大到了 2.7-8 倍,并且在保持这样高请求率的同时,延迟与对比系统相近,这意味着 vLLM 在基本采样任务中能够更高效地处理更多的请求,极大地提升了系统的工作效率。
内存共享成效显著
在并行采样和束搜索的实验中,vLLM 的内存共享优势得到了充分验证。在并行采样时,内存节省达到了 6.1-9.8%,而在束搜索场景下,内存节省更是高达 37.6-55.2%。这些数据直观地展示了 vLLM 通过其创新的内存管理策略,在减少内存占用方面取得了显著的成效,使得系统能够在有限的内存资源下处理更多的任务,进一步提升了系统的整体性能和资源利用率。
共享前缀场景优势尽显
在输入提示共享前缀的翻译任务中,vLLM的 吞吐量相比 Orca(Oracle)有了显著的提升。例如,在 5-shot 前缀提示的场景下,vLLM 的吞吐量提升了 3.58 倍。这表明在实际应用中,当面对具有共享前缀的输入提示时,vLLM 能够更加高效地利用内存和计算资源,快速响应用户请求,为用户提供更加流畅和高效的服务体验。
研究结论:vLLM为大模型推理优化开辟新路径
通过一系列严谨的实验和创新的方法设计,这篇论文提出的 PagedAttention 算法和 vLLM 系统成功地为大语言模型的高效推理提供了切实可行的解决方案。vLLM 凭借其创新的内存管理策略,在多种复杂的实际应用场景下,显著提升了服务吞吐量,同时保持了较低的延迟水平,有效解决了当前 LLMs 在内存管理方面的难题。
往期 · 推荐
🌠 番外:我们期待与读者共同探讨如何在 AI 的辅助下,更好地发挥人类的潜力,以及如何培养和维持那些 AI 难以取代的核心技能。通过深入分析和实践,我们可以更清晰地认识到 AI 的辅助作用,并在 AI 时代下找到人类的独特价值和发展空间。“机智流”公众号后台聊天框回复“cc”,加入机智流大模型交流群!
一起“点赞”三连👇