vLLM 推理后端简介
- 简介
- 一、核心优势
- 1️⃣ PagedAttention(核心创新)
- 2️⃣ 连续批处理
- 3️⃣ 高吞吐 + 低延迟
- 4️⃣ OpenAI API 兼容
- 5️⃣ 部署简单
- 二、使用示例
- 1️⃣ 启动服务
- 2️⃣ Python 调用
- 3️⃣ curl 调用
- 三、vLLM vs Hugging Face Transformers
- 四、与 MCP 的关系
- MCP(Model Context Protocol) 👉 是“协议层”
- vLLM 👉 是“推理执行层”
简介
vLLM 是一个面向大语言模型(LLM)的高性能推理引擎,其核心目标是:以极高吞吐量 + 低延迟运行模型,同时保持部署简单
🧪 相比传统推理方式(如 Hugging Face Transformers),vLLM 更像是一个“专为生产环境设计的 LLM 推理服务器”。
⚠️ 注意
目前 vLLM 仅支持 NVIDIA GPU(CUDA),不支持 AMD、Intel GPU 或 Apple Silicon 进行核心推理。
一、核心优势
1️⃣ PagedAttention(核心创新)
vLLM 最重要的技术之一是:
👉 PagedAttention
它解决了一个关键问题:LLM 推理时 KV Cache 占用大量显存,并且极度碎片化
传统问题:
- 每个请求单独占用 KV Cache
- 显存碎片严重
- 并发一高就 OOM
vLLM 的做法:
- 类似“操作系统分页内存”
- KV Cache 按块(page)管理
- 动态分配 / 回收
📌 结果:
- 显存利用率大幅提升
- 支持更高并发
- 减少 OOM
2️⃣ 连续批处理
传统推理(Transformers):
- 一批请求必须“同时开始,同时结束”
- 后来的请求要排队
vLLM:
👉 请求可以随时加入 batch
效果:
- GPU 始终保持高利用率
- 延迟更稳定
- 吞吐量大幅提升
3️⃣ 高吞吐 + 低延迟
在实际测试中(官方与社区数据):
- 吞吐量:提升 2~10 倍
- 延迟:显著降低(尤其高并发)
适用于:
- Chat API
- Agent系统
- RAG问答
- 多用户服务
4️⃣ OpenAI API 兼容
vLLM 原生支持:
👉 OpenAI API 格式
例如:
POST /v1/chat/completions这意味着:
- 可以直接替换 OpenAI
- 兼容 LangChain / LlamaIndex / Agent 框架
- 几乎零改造接入
5️⃣ 部署简单
启动一个服务只需一行命令:
python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen2.5-7B-Instruct\--port8000即可得到一个:
👉 本地 OpenAI API Server
二、使用示例
1️⃣ 启动服务
python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen2.5-7B-Instruct\--host0.0.0.0\--port80002️⃣ Python 调用
fromopenaiimportOpenAI client=OpenAI(base_url="http://localhost:8000/v1",api_key="EMPTY")resp=client.chat.completions.create(model="Qwen/Qwen2.5-7B-Instruct",messages=[{"role":"user","content":"介绍一下vLLM"}])print(resp.choices[0].message.content)3️⃣ curl 调用
curlhttp://localhost:8000/v1/chat/completions\-H"Content-Type: application/json"\-d'{ "model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "你好"}] }'三、vLLM vs Hugging Face Transformers
| 项目 | Value |
|---|---|
| 电脑 | $1600 |
| 手机 | $12 |
| 导管 | $1 |
| 维度 | vLLM | Transformers |
|---|---|---|
| 设计目标 | 生产级推理服务 | 通用模型框架 |
| 并发能力 | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 显存利用 | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 吞吐量 | 高(2~10倍) | 中 |
| 易用性 | 高(API Server) | 中 |
| 灵活性 | 中 | ⭐⭐⭐⭐⭐ |
| 训练支持 | ❌ | ✅ |
四、与 MCP 的关系
MCP(Model Context Protocol) 👉 是“协议层”
作用:
- 统一模型调用方式
- 标准化工具调用
- 支持 Agent 生态
vLLM 👉 是“推理执行层”
作用:
- 真正运行模型
- 返回推理结果
👉 MCP ≠ vLLM
👉 它们是上下游关系