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 = 模型推理加速器。部署模型服务记得用它。
💬 评论 (0)