vLLM 推理后端简介

vLLM 推理后端简介

  • 简介
  • 一、核心优势
    • [1️⃣ PagedAttention(核心创新)](#1️⃣ PagedAttention(核心创新))
    • [2️⃣ 连续批处理](#2️⃣ 连续批处理)
    • [3️⃣ 高吞吐 + 低延迟](#3️⃣ 高吞吐 + 低延迟)
    • [4️⃣ OpenAI API 兼容](#4️⃣ OpenAI API 兼容)
    • [5️⃣ 部署简单](#5️⃣ 部署简单)
  • 二、使用示例
    • [1️⃣ 启动服务](#1️⃣ 启动服务)
    • [2️⃣ Python 调用](#2️⃣ Python 调用)
    • [3️⃣ curl 调用](#3️⃣ curl 调用)
  • [三、vLLM vs Hugging Face Transformers](#三、vLLM vs Hugging Face Transformers)
  • [四、与 MCP 的关系](#四、与 MCP 的关系)
    • [MCP(Model Context Protocol) 👉 是"协议层"](#MCP(Model Context Protocol) 👉 是“协议层”)
    • [vLLM 👉 是"推理执行层"](#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 格式

例如:

bash 复制代码
POST /v1/chat/completions

这意味着:

  • 可以直接替换 OpenAI
  • 兼容 LangChain / LlamaIndex / Agent 框架
  • 几乎零改造接入

5️⃣ 部署简单

启动一个服务只需一行命令:

bash 复制代码
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --port 8000

即可得到一个:

👉 本地 OpenAI API Server

二、使用示例

1️⃣ 启动服务

bash 复制代码
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --host 0.0.0.0 \
  --port 8000

2️⃣ Python 调用

python 复制代码
from openai import OpenAI

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 调用

bash 复制代码
curl http://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

👉 它们是上下游关系

相关推荐
星云穿梭2 小时前
用Python写一个带图形界面的学生管理系统——完整教程
python
Jack202 小时前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
金銀銅鐵2 小时前
用 Pygame 实现 15 puzzle
python·数学·游戏
jooloo3 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户5191495848453 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
小小杨树3 小时前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
用户5191495848455 小时前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户018349301695 小时前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能
黄忠8 小时前
大模型之LangGraph技术体系
python·llm
这token有力气8 小时前
Function Calling 格式漂移
人工智能