Appearance
vLLM
Overview
vLLM 是由 UC Berkeley 的 Sky Computing Lab 开发的开源大语言模型推理引擎,以 PagedAttention 和 Continuous 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) | 内存利用率 | 支持的并发数 |
|---|---|---|---|
| vLLM | 10-20× | 90%+ | 高 |
| Hugging Face TGI | 基准 | 60-70% | 中 |
| TensorRT-LLM | 类似 | 80%+ | 中 |
| 原始 PyTorch | 0.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 推理生态中的定位:
| 框架 | 开发者 | 核心优势 | 适用场景 |
|---|---|---|---|
| vLLM | UC Berkeley | 最高吞吐量,生产标准 | 高并发服务端推理 |
| TGI | Hugging Face | HF 生态集成 | HF 模型一站式部署 |
| TensorRT-LLM | NVIDIA | NVIDIA GPU 最低延迟 | 企业级 NVIDIA 集群 |
| llama.cpp | 社区 | CPU/边缘设备 | 本地运行、隐私场景 |
应用与采用
- OpenAI: 部分推理工作负载基于 vLLM
- Replicate: 模型托管平台的推理引擎
- Together AI: 推理优化基础设施
- 多个云平台: AWS, GCP, Azure 均提供 vLLM 部署方案
Synthesis
vLLM 代表了 LLM 推理工程的重要突破——它证明了系统级的内存管理优化可以带来数量级的性能提升。与纯粹的算法优化(如 FlashAttention)不同,vLLM 的创新在于系统架构层面的重新设计。对于需要服务大量用户的生产环境,vLLM 是当前最可靠的基础设施选择。
Related Pages
- Model Inference & Deployment — 模型推理部署的全面概述
- FlashAttention — vLLM 集成的核心注意力优化
- KV Cache & Prompt Caching — PagedAttention 优化的对象
- Model Quantization — 推理优化的重要手段
- Hugging Face — vLLM 的模型生态依赖
Sources
- Kwon et al. (2023). "Efficient Memory Management for Large Language Model Serving with PagedAttention." SOSP.
- vLLM GitHub: https://github.com/vllm-project/vllm
- vLLM 文档: https://docs.vllm.ai
- Berkeley Sky Computing Lab
相关页面
- Model Inference & Deployment — 模型推理与部署
- 推理框架深度对比 — 推理框架深度对比