行业痛点
大语言模型落地部署的核心瓶颈始终集中在推理吞吐量和内存利用率两个维度。常规部署方案中,注意力机制的键值缓存会占用大量GPU显存,且不同长度请求的碎片化内存无法得到有效利用,导致单卡可承载的并发请求数量极低。
传统服务框架采用顺序批处理逻辑,短请求会被长请求阻塞,GPU无法始终保持满负载运行,硬件资源浪费严重。同时,大模型参数量不断提升,普通消费级显卡无法直接运行未压缩的全精度模型,低精度压缩方案又容易带来效果损失,部署成本和推理效果难以平衡。
项目概述
该项目最初由美国加州大学伯克利分校的Sky Computing实验室开发,目前已经发展为全球化开源项目,拥有超过两千名贡献者,贡献者来自数十家不同的学术机构与科技企业。
该项目的核心定位是为大语言模型提供易用、低成本、高吞吐量的推理与服务部署能力,目标是降低大语言模型落地部署的技术门槛与硬件成本。
技术架构深度分析
该项目整体架构分为三层:前端API适配层、核心推理调度层、硬件加速内核层,三层职责清晰,便于针对不同硬件架构做适配优化。前端API适配层兼容多种主流大模型接口规范,支持直接从HuggingFace格式加载权重,无需额外转换格式,降低用户接入成本。
核心推理调度层是整个项目的性能核心,整合了内存管理、请求调度、模型执行三个核心子模块。内存管理模块负责页式键值缓存的分配与回收,请求调度模块处理连续批处理与分块预填充的逻辑,模型执行模块支持图优化的模型推理,减少GPU kernel launch的开销。这种模块化设计让每个模块都可以独立迭代优化,不会影响其他模块的稳定性。
硬件加速内核层直接对接底层硬件架构,针对NVIDIA CUDA和AMD HIP架构做了深度优化,整合了主流的高性能注意力内核实现,充分挖掘硬件的计算能力。该层通过抽象接口隔离硬件差异,新增硬件架构只需要修改对应底层实现,不需要改动上层推理逻辑,架构扩展性较强。
该架构设计的核心优势是把内存管理和推理调度从大模型推理逻辑中抽离出来,通过系统级优化提升整体吞吐量,不需要修改模型结构,也不会影响模型输出结果。这种设计思路兼容几乎所有主流开源大模型,用户不需要对已有模型做额外修改就能获得性能提升。
核心功能详解
PagedAttention注意力内存管理
该功能将注意力键值缓存分块存储,类比操作系统的虚拟内存分页机制,支持不连续的物理内存块映射逻辑,解决传统连续内存分配带来的碎片化问题。不同长度的请求只占用对应长度的内存块,不会预先分配大块固定内存,显存利用率可以提升一倍以上,单卡可承载的并发请求数量大幅提升。该设计实现了近乎零浪费的显存利用,是项目整体性能提升的核心基础。
连续请求批处理
区别于传统框架的固定批处理逻辑,该功能会将新到达的请求和正在处理中的请求合并为一个批次执行推理,不需要等待批次中所有长请求生成完所有token才能处理新请求。短请求不会被长请求长期阻塞,GPU始终可以保持满负载运行,整体吞吐量提升明显。在在线对话场景下,该功能可以大幅降低请求的平均响应延迟,提升用户交互体验。
分块预填充
针对长上下文输入场景,该功能将预填充阶段的计算拆分为多个小块逐步执行,避免长输入一次性占满所有显存,让大上下文请求也能在有限显存的显卡上运行。分块预填充还可以和增量解码阶段的计算交错执行,进一步提升GPU利用率,减少长输入带来的响应延迟。该功能降低了大上下文模型部署对硬件显存的要求,让7B模型的128k上下文可以在24GB显存的消费级显卡上运行。
前缀缓存
对于存在相同前缀输入的多个请求,该功能复用已经计算完成的前缀键值缓存,不需要重复计算相同前缀的注意力键值,减少冗余计算,提升推理速度。在对话总结、多轮对话这类存在大量公共前缀的场景下,该功能可以带来非常明显的性能提升,相同硬件下可以承载更多并发请求。该功能对共享上下文场景的服务成本降低效果显著。
全链路量化支持
支持多种主流低精度量化格式,包括FP8、MXFP8、MXFP4、INT8、INT4、GPTQ、AWQ、GGUF等,覆盖了从训练后量化到量化感知训练的不同方案,满足不同场景的精度和性能需求。量化后的模型可以大幅降低显存占用,让更大参数量的模型可以在更小显存的硬件上运行,同时带来推理速度提升。用户可以直接加载已经量化好的模型权重,不需要自己做量化转换,使用门槛较低。
CUDA/HIP图优化
支持分段和完整的CUDA与HIP图优化,将多次kernel launch合并为一次,减少CPU调度开销和GPU启动延迟,进一步提升推理吞吐量。图优化对短文本推理场景的性能提升尤为明显,可以减少小批次推理的调度 overhead,让GPU更多时间用于实际计算。该优化不需要修改模型代码,只需要在启动时开启对应配置即可生效。
优化注意力内核
整合了FlashAttention等主流高性能注意力内核实现,针对不同GPU架构做了内核层面的优化,减少内存读写开销,提升计算效率。优化后的注意力计算速度比原生实现快数倍,进一步放大了内存管理和调度优化带来的性能提升。该功能默认会根据当前硬件自动选择最优内核,不需要用户手动配置。
项目地址:https://github.com/vllm-project/vllm
⭐ Stars:89773
🔍 来源:GitHub
A high-throughput and memory-efficient inference and serving engine for LLMs

微信扫一扫,打赏作者吧~


