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

👉 它们是上下游关系

相关推荐
Raink老师13 小时前
【AI面试临阵磨枪-79】实时数据 RAG:订单、商家、物流、天气、动态库存
人工智能·面试·职场和发展
脑极体13 小时前
点亮星河AI+鸿蒙,一座艺术场馆的日神觉醒
人工智能·华为·harmonyos
Cosolar13 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
BUG指挥官13 小时前
Claude Code的自动化编程
人工智能
意图共鸣13 小时前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
等一个人的@13 小时前
让数据自己开口:数睿通智库新增智能问数模块
人工智能·自然语言处理
ZGi.ai13 小时前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
风吹夏回14 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
王莎莎-MinerU14 小时前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
盘古信息IMS14 小时前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造