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

👉 它们是上下游关系

相关推荐
老纪的技术唠嗑局7 分钟前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
志栋智能15 分钟前
告别报告堆砌:超自动化巡检的智能分析与洞察
运维·服务器·网络·人工智能·自动化
测试_AI_一辰1 小时前
AI 产品输出格式测试实战:为什么模型返回的 JSON 前端解析总报错
人工智能·ai·自动化·状态模式·ai编程
IT_陈寒1 小时前
SpringBoot自动配置坑了我,原来要这样绕过去
前端·人工智能·后端
东方小月2 小时前
Claude Code 完整上手指南:MCP、Skills、第三方模型配置一次搞定
前端·人工智能·后端
AIFQuant2 小时前
2026 全球股票/外汇/贵金属行情 API 深度对比:延迟、覆盖、价格与稳定性
python·websocket·ai·金融·mcp
EnCi Zheng2 小时前
01d-前馈神经网络代码实现 [特殊字符]
人工智能·深度学习·神经网络
阿里云大数据AI技术2 小时前
登顶WorldArena榜单!阿里云PAI助力中科院自动化所、中科第五纪打造具身世界模型FlowWAM
人工智能
hixiong1232 小时前
C# TensorRT部署RF-DETR目标检测&分割模型
人工智能·目标检测·计算机视觉·ai·c#
Ray Liang2 小时前
吐血整理JSON-RPC2.0的原理与应用
python