vLLM部署指南:把AI推理速度提升10倍

📘 AI教程 💬 🔥 Trending 发布者: leakey
vLLM部署指南:把AI推理速度提升10倍

🩺 摘要

用原生transformers跑大模型推理,每秒只有20个token,接口调一次要等10秒。vLLM说:我能让你快10倍。

📝 详情

vLLM是什么

vLLM是一个高性能模型推理引擎。它用PagedAttention技术解决了显存碎片问题,让推理速度提升5-10倍。

目前在开源社区非常流行,很多模型服务平台底层都用的vLLM。

快速开始

pip install vllm
from vllm import LLM, SamplingParams

# 加载模型
llm = LLM(model="Qwen/Qwen2.5-7B-Instruct")

# 设置采样参数
params = SamplingParams(temperature=0.7, max_tokens=512)

# 推理
outputs = llm.generate(["你好,介绍一下你自己"], params)
print(outputs[0].outputs[0].text)

就这么简单。速度比原生transformers快3-5倍。

API服务器

vLLM自带OpenAI兼容的API服务器:

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

然后直接用OpenAI SDK调用:

from openai import OpenAI

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

response = client.chat.completions.create(
    model="Qwen/Qwen2.5-7B-Instruct",
    messages=[{"role": "user", "content": "你好"}]
)

性能优化技巧

连续批处理

vLLM自动把多个请求合并成一批处理。不需要你手动做任何事情,请求越多效率越高。

# 并发请求,vLLM自动批处理
from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=10) as executor:
    futures = [executor.submit(llm.generate, [prompt], params) 
               for prompt in prompts]

量化加速

# 用AWQ量化模型推理更快
python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-7B-Instruct-AWQ \
    --quantization awq

多卡部署

# Tensor Parallelism:一张卡装不下时多卡并行
python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-72B-Instruct \
    --tensor-parallel-size 4  # 4张卡

硬件要求

模型 显存 推荐
7B 16GB RTX 4060 Ti 16GB
13B 24GB RTX 4090
70B 4x24GB 4张4090

一句话

vLLM = 模型推理加速器。部署模型服务记得用它。