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

👉 它们是上下游关系

相关推荐
我会飞biubiubiu25 分钟前
State 与 Reducer:一本谁都能写的账本,怎么不打架
人工智能
superj37 分钟前
答题卡智能批改系统:选择题 OMR 秒出,主观题交给一次大模型调用
人工智能
海螺_AIHCC38 分钟前
AGENTS.md 别手写,让它自己从仓库里长出来
人工智能
用户241015057020841 分钟前
给 100 块的 AI 玩具写了一套英语启蒙 App:100 个词、看图选词、开口打分
人工智能
黄啊码1 小时前
从 0 到 1 做 FDE:如何获客、成交、交付?百万级 AI 项目实战复盘
人工智能
Flynt1 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
玩美数据1 小时前
海外市场数据服务常用术语与名词解释权威指南
大数据·人工智能
Lansonli1 小时前
Claude Code 写 Shell 脚本翻车实录:一份避坑指南
人工智能
IT_陈寒2 小时前
Vue的这个响应式陷阱,差点让我加班到天亮
前端·人工智能·后端
choumou_M2 小时前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法