vLLM 是一个为大模型推理专门优化的高性能开源推理引擎,它的核心思路是采用一种 PagedAttention(分页注意力) 机制,将传统方法中不灵活的内存管理,改造为动态、高效的模式,从而大幅提升推理吞吐量。
PART 01
vLLM的作用
部署大模型做服务时,会面临三个核心挑战:
PART 02
核心原理:像管理硬盘一样管理显存
大模型推理时,需要缓存已生成的“Key”和“Value”向量(KV Cache),这部分内存会随着请求长度动态增长,管理不当会造成大量内存碎片,核心创新在于两项关键技术:
PagedAttention(分页注意力)
这是vLLM的“灵魂”,借鉴了操作系统虚拟内存的管理方式,将KV Cache划分为固定大小的“内存页”, 允许其存储在非连续的物理内存中 ,并通过块级共享与写时复制技术,将内存利用率提升了 40% ,可视为解除了显存碎片化的硬约束。
Continuous Batching(连续批处理)
这是一种动态调度策略,一旦有请求完成,调度器会立刻将新请求加入批次,让GPU始终保持满载状态,从而最大化吞吐量
vLLM 的创新点 PagedAttention ,就是从操作系统的虚拟内存和分页技术中获得灵感,将连续的 KV Cache 逻辑空间,映射到物理上不连续的、固定大小的“内存块”(KV Blocks)上,实现了按需动态分配,带来了几个关键优势:
这种高效的显存管理,使得vLLM可以支撑更大的批处理(Batch Size),从而在高并发场景下实现更高的吞吐量。
PART 03
vLLM的核心亮点
除了PagedAttention,vLLM还具备以下亮点:
PART 04
vLLM的优势与适用场景
与传统的 HuggingFace Transformers 和 TGI 等框架相比,vLLM 在 高并发、高吞吐量 的场景下优势极为明显。
性能表现
根据学术研究,在处理高并发请求时,vLLM的吞吐量相比 HuggingFace Transformers 最高可提升 24 倍 ,相比 TGI 最高可提升 3.5 倍 。
适用场景
局限性与挑战
PART 05
与主流推理框架的横向对比
vLLM与另外两大主流框架的对比:
框架 | 核心定位 | 优势与适用场景 | 劣势与权衡 |
|---|---|---|---|
vLLM | 通用高性能推理 | 高吞吐、低TTFT、生态完善,适用多数在线服务。 | 对极端规模(如671B)或特殊优化(如DeepSeek MoE)需深度调优。 |
SGLang | 复杂交互与长文本 | 长文本吞吐量高(DeepSeek 671B测试中领先25-30%)、延迟低、支持结构化生成。 | 生态较新,社区规模小于vLLM。 |
TensorRT-LLM | NVIDIA硬件性能极致优化 | 深度硬件优化(内核融合、量化、FP8),性能极致,适合纯NVIDIA环境。 | 与厂商深度绑定,灵活性低,学习曲线较陡。 |
TGI | HuggingFace生态深度集成 | 与HuggingFace生态无缝集成,开箱即用,适合交互式应用。 | 高并发下吞吐量低于vLLM(测试中低约3.5倍)。 |
llama.cpp | 边缘端与轻量化 | C++编写,极致轻量,支持多CPU/GPU,GGUF量化适合消费级硬件本地运行。 | 不针对大规模高并发生产服务设计。 |
Ollama | 本地开发与快速原型 | 极简操作,一键运行,封装良好,适合快速测试。 | 非生产级服务框架,高并发性能远低于vLLM(峰值吞吐量793 vs 41 TPS)。 |
DeepSpeed-MII | 微软生态高性能推理 | 动态分片技术在高并发下性能优异,微软生态内部工具链完善。 | 社区生态相对封闭,外部支持较少。 |
若需处理结构化输出, SGLang 是更优选择;若已有Spark或Ray集群, Ray Serve 可作为补充编排层;资源受限的CPU环境可考虑 CTranslate2
PART 06
总结
vLLM的价值在于,它通过创新的内存管理,将大模型推理从“资源密集型”转变为“计算密集型”,实现了 更高的吞吐、更低的延迟和更优的成本效益 。它已成为连接强大模型与现实世界应用的桥梁。
总结来说,选择哪个框架,本质是 在性能、成本、生态和易用性之间做权衡 :
