目 录CONTENT

文章目录

vLLM 0.18 正式发布!这 8 大新功能太香了,手把手教你部署

vLLM 0.18 正式发布!这 8 大新功能太香了,手把手教你部署

兄弟们,vLLM 又双叒叕更新了!这次 0.18 版本真的有点东西,我连夜给大家整理了一波

vLLM 0.18 发布封面

前言

各位老铁们,我是你们的技术搬运工。就在昨天(3 月 20 日),vLLM 团队正式发布了 v0.18.0 版本!

说实话,这次更新我是真的有点兴奋。为啥?因为这次加的 8 个大功能,个个都是干货,全是咱们实际部署时最需要的东西。

废话不多说,咱们直接开整!


🎯 这次更新了啥?8 大亮点速览

1️⃣ gRPC 支持来了!

之前一直有人问:vLLM 能不能用 gRPC 啊?HTTP 太慢了!

现在好了,0.18 版本直接给你安排上了。加个 --grpc 参数就能启用 gRPC 服务,性能提升不是一点半点。

# 之前只能这样
python -m vllm.entrypoints.openai.api_server --model xxx

# 现在可以这样了
python -m vllm.entrypoints.openai.api_server --model xxx --grpc

2️⃣ GPU -less 渲染服务

这个功能我真的要吹爆!简单说就是:

  • 把多模态预处理(比如图片解码、音频提取)从 GPU 上分离出来
  • 用 CPU 单独搞个渲染服务
  • GPU 专心搞推理,互不干扰

啥意思呢?就是你不用再担心图片预处理占用 GPU 显存了,小显存显卡的福音啊!

# 启动 GPU-less 渲染服务
vllm launch render

3️⃣ NGram GPU 推测解码

之前 NGram 推测解码只能跑在 CPU 上,慢得要死。现在直接上 GPU 了,还能配合异步调度器使用。

说人话就是:推测解码的开销大幅降低,推理速度又能提一截。

4️⃣ KV Cache 智能卸载

这个功能厉害了。之前 KV Cache 卸载是啥?就是把不用的缓存扔到 CPU 内存去,腾出 GPU 显存。

但之前是傻扔,现在变聪明了:

  • 只卸载那些不常用的块
  • 常用的块留在 GPU 上
  • 支持多个 KV 组分别管理

5️⃣ Elastic EP 专家并行里程碑 2

搞 MoE 模型的兄弟们注意了!这次 NIXL-EP 集成,支持动态 GPU 扩展了。

说人话:你的 MoE 模型可以根据负载自动调整使用的 GPU 数量,省钱了有没有!

# 启用 EP 权重过滤,加载更快
--enable-ep-weight-filter

6️⃣ FlashInfer 0.6.6 更新

这个不用多说了吧?FlashInfer 每次更新都是性能提升。这次 0.6.6 版本修复了一堆问题,稳定性又上了一个台阶。

7️⃣ Responses API 支持流式工具调用

之前用 Responses API 调用工具/函数,只能等全部生成完才能拿到结果。现在支持流式了,边生成边返回。

8️⃣ Ray 不再是默认依赖

这个对大多数人来说是好事。之前装个 vLLM,顺带装一堆 Ray 的依赖,动不动就几百兆。

现在 Ray 被移除了,需要的话自己装:

pip install ray

⚠️ 已知问题

先给大家避个坑,官方提到了两个已知问题:

  1. Qwen3.5 + FP8 KV Cache + B200 GPU = 精度下降 - 如果你在用这个组合,注意一下输出质量

  2. CUBLAS_STATUS_INVALID_VALUE 错误 - 之前 v0.17.0 的 workaround 可以不用了 - 重新安装 PyTorch 2.10.0 就行(官方修复了)


💻 手把手教你部署 vLLM 0.18

好了,重头戏来了!下面是详细的安装部署教程,跟着步骤走,保你一次成功。

方式一:pip 安装(最常用)

第 1 步:准备环境

先整个虚拟环境,别跟系统 Python 混在一起:

# 创建虚拟环境
python3 -m venv vllm-env

# 激活环境
source vllm-env/bin/activate

# 升级 pip(一定要做,不然可能安装失败)
pip install --upgrade pip

第 2 步:安装 vLLM

根据你的 CUDA 版本选择:

CUDA 12.1(推荐):

pip install vllm==0.18.0

CUDA 12.4:

pip install vllm==0.18.0 --extra-index-url https://download.pytorch.org/whl/cu124

CPU 版本(就玩玩):

pip install vllm-cpu==0.18.0

第 3 步:验证安装

python -c "import vllm; print(f'vLLM 版本:{vllm.__version__}')"

看到输出版本号就对了:

vLLM 版本:0.18.0

方式二:Docker 部署(生产环境推荐)

第 1 步:拉取镜像

docker pull vllm/vllm-openai:v0.18.0

第 2 步:运行容器

单卡部署:

docker run --runtime nvidia --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    -p 8000:8000 \
    --env "HUGGING_FACE_HUB_TOKEN=你的 token" \
    vllm/vllm-openai:v0.18.0 \
    --model Qwen/Qwen2.5-7B-Instruct \
    --served-model-name qwen-7b

多卡部署(比如 4 卡):

docker run --runtime nvidia --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    -p 8000:8000 \
    --env "HUGGING_FACE_HUB_TOKEN=你的 token" \
    vllm/vllm-openai:v0.18.0 \
    --model Qwen/Qwen2.5-72B-Instruct \
    --tensor-parallel-size 4 \
    --served-model-name qwen-72b

方式三:源码安装(开发者)

# 克隆仓库
git clone https://github.com/vllm-project/vllm.git
cd vllm
git checkout v0.18.0

# 安装依赖
pip install -r requirements.txt

# 编译安装
pip install -e .

🔧 常用模型部署示例

示例 1:部署 Qwen2.5-7B(单卡)

python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-7B-Instruct \
    --host 0.0.0.0 \
    --port 8000 \
    --gpu-memory-utilization 0.9 \
    --max-model-len 4096

示例 2:部署 DeepSeek-V3(8 卡)

python -m vllm.entrypoints.openai.api_server \
    --model deepseek-ai/DeepSeek-V3 \
    --host 0.0.0.0 \
    --port 8000 \
    --tensor-parallel-size 8 \
    --gpu-memory-utilization 0.95 \
    --max-model-len 8192

示例 3:启用 gRPC 服务(新功能)

python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-7B-Instruct \
    --host 0.0.0.0 \
    --port 8000 \
    --grpc

示例 4:GPU-less 渲染(多模态专用)

# 先启动渲染服务
vllm launch render

# 再启动推理服务
python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-VL-7B-Instruct \
    --host 0.0.0.0 \
    --port 8000

📝 API 调用示例

用 curl 调用

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "qwen-7b",
        "messages": [
            {"role": "system", "content": "你是一个有帮助的助手。"},
            {"role": "user", "content": "你好,介绍一下你自己"}
        ],
        "max_tokens": 512,
        "temperature": 0.7
    }'

Python 代码调用

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="sk-xxx"  # 随便填,本地不用验证
)

response = client.chat.completions.create(
    model="qwen-7b",
    messages=[
        {"role": "system", "content": "你是一个有帮助的助手。"},
        {"role": "user", "content": "你好,介绍一下你自己"}
    ],
    max_tokens=512,
    temperature=0.7
)

print(response.choices[0].message.content)

流式调用

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="sk-xxx")

response = client.chat.completions.create(
    model="qwen-7b",
    messages=[
        {"role": "user", "content": "写一首关于春天的诗"}
    ],
    max_tokens=512,
    stream=True  # 开启流式
)

for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

⚙️ 性能调优参数

下面是我平时常用的调优参数,照着改就行:

显存优化

# 显存使用比例(默认 0.9,可以调到 0.95)
--gpu-memory-utilization 0.95

# 交换空间大小(GB,防止 OOM)
--swap-space 4

# 最大模型长度
--max-model-len 4096

批处理优化

# 最大批处理 token 数
--max-num-batched-tokens 8192

# 最大并发请求数
--max-num-seqs 256

缓存优化

# 启用前缀缓存
--enable-prefix-caching

# 缓存块大小
--block-size 16

🐛 常见问题

问题 1:CUDA Out of Memory

解决方法:

# 降低显存使用
--gpu-memory-utilization 0.8

# 减小模型长度
--max-model-len 2048

# 或者上量化
--quantization fp8

问题 2:模型下载慢

解决方法:

# 使用镜像站
export HF_ENDPOINT=https://hf-mirror.com

# 或者手动下载后指定本地路径
--model /path/to/local/model

问题 3:推理速度慢

优化建议:

# 启用 CUDA Graph
--enable-cuda-graph

# 增大批处理
--max-num-batched-tokens 16384

# 启用推测解码
--speculative-model Qwen/Qwen2.5-1.5B-Instruct

📊 总结一下

vLLM 0.18 这次更新我是真的满意。8 个大功能,个个实用:

  1. ✅ gRPC 支持 - 性能提升
  2. ✅ GPU-less 渲染 - 显存解放
  3. ✅ NGram GPU 推测 - 速度更快
  4. ✅ 智能 KV 卸载 - 显存管理更聪明
  5. ✅ Elastic EP - MoE 模型更灵活
  6. ✅ FlashInfer 更新 - 稳定性提升
  7. ✅ 流式工具调用 - API 更好用
  8. ✅ 移除 Ray 依赖 - 安装包更小

我的建议:

  • 生产环境直接用 Docker 部署
  • 开发测试用 pip 安装就行
  • 小显存显卡试试 GPU-less 渲染
  • MoE 模型一定要开 Elastic EP


📚 相关文章推荐

你可能还想看:

  1. 飞牛NAS部署OpenClaw教程:XXOS大佬一键应用轻松对接QQ机器人
  2. QQ小龙虾机器人接入OpenClaw保姆级教程

📢 关注「Geek 运维」

了解更多最新 AI 技术分享!

关注 Geek 运维公众号

长按识别图中二维码,关注「Geek 运维」公众号,获取:

  • 最新 AI 技术资讯
  • 实用技术教程和工具
  • vLLM/OpenClaw 使用指南
  • 运维开发最佳实践
  • 第一手技术资源分享
0

评论区