Skip to content

vLLM

Overview

vLLM 是由 UC Berkeley 的 Sky Computing Lab 开发的开源大语言模型推理引擎,以 PagedAttentionContinuous Batching 两大技术为核心,实现了生产环境中最高的推理吞吐量。vLLM 已成为行业事实标准,被包括 OpenAI、Anthropic、Replicate 在内的多家公司采用。

核心技术

PagedAttention

受操作系统虚拟内存管理的启发,vLLM 将 KV Cache 分割成固定大小的块(blocks),类似于操作系统的分页:

传统 KV Cache 问题:

  • 每个请求预分配连续的内存空间
  • 实际生成长度不确定,导致内存浪费(内存碎片)
  • 平均内存利用率仅 20-40%

PagedAttention 解决方案:

  • KV Cache 分割为非连续的块
  • 动态分配和释放块
  • 内存利用率提升到 90%+

Continuous Batching

传统的静态批处理(Static Batching)要求批次中所有请求同时完成,造成等待浪费。

Continuous Batching 允许:

  • 动态将新请求加入正在运行的批次
  • 某个请求完成后立即被新请求替代
  • GPU 利用率提升 2-5 倍

性能表现

吞吐量对比

框架吞吐量 (req/s)内存利用率支持的并发数
vLLM10-20×90%+
Hugging Face TGI基准60-70%
TensorRT-LLM类似80%+
原始 PyTorch0.1×20-40%

支持的模型

vLLM 支持 Hugging Face 上大多数主流模型:

  • Llama 2/3 系列
  • Qwen 系列
  • Mistral / Mixtral
  • GPT-2 / GPT-J / GPT-NeoX
  • Falcon, Phi, Gemma 等

架构特点

分布式推理

vLLM 支持多种并行策略:

  • Tensor Parallelism: 模型分割到多 GPU
  • Pipeline Parallelism: 层级分割
  • Data Parallelism: 多副模型服务

量化支持

  • AWQ, GPTQ, SqueezeLLM 等后训练量化
  • FP8 精度(Hopper 架构)
  • KV Cache 量化

模型服务

vLLM 提供 OpenAI 兼容的 API 服务:

python
from vllm import LLM

llm = LLM(model="meta-llama/Llama-2-7b-hf")
output = llm.generate("Hello, my name is")

生态定位

vLLM 在 AI 推理生态中的定位:

框架开发者核心优势适用场景
vLLMUC Berkeley最高吞吐量,生产标准高并发服务端推理
TGIHugging FaceHF 生态集成HF 模型一站式部署
TensorRT-LLMNVIDIANVIDIA GPU 最低延迟企业级 NVIDIA 集群
llama.cpp社区CPU/边缘设备本地运行、隐私场景

应用与采用

  • OpenAI: 部分推理工作负载基于 vLLM
  • Replicate: 模型托管平台的推理引擎
  • Together AI: 推理优化基础设施
  • 多个云平台: AWS, GCP, Azure 均提供 vLLM 部署方案

Synthesis

vLLM 代表了 LLM 推理工程的重要突破——它证明了系统级的内存管理优化可以带来数量级的性能提升。与纯粹的算法优化(如 FlashAttention)不同,vLLM 的创新在于系统架构层面的重新设计。对于需要服务大量用户的生产环境,vLLM 是当前最可靠的基础设施选择。

Sources

相关页面

AI Knowledge Base — 持续积累