← 课程库
解码 · 部署 · 应用模块七 · 解码加速代码12 分钟

推理工具 vLLM 实践

把优化打包好,一行起一个高吞吐服务

学完这节你能:
  • 了解 vLLM 集成了哪些优化
  • 会用 vLLM 起离线/在线推理
  • 理解它为什么吞吐高

vLLM 把 PagedAttention、连续批处理等优化打包,是当前最常用的高吞吐推理框架,还提供 OpenAI 兼容的 API 服务。

vLLM 离线批量推理
from vllm import LLM, SamplingParams
llm = LLM(model='Qwen/Qwen2.5-1.5B-Instruct')
params = SamplingParams(temperature=0.7, top_p=0.9, max_tokens=256)
outs = llm.generate(['介绍一下注意力机制'], params)
print(outs[0].outputs[0].text)
起一个 OpenAI 兼容服务
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-1.5B-Instruct --port 8000
# 之后可用 OpenAI SDK 指向 http://localhost:8000/v1 调用

💡 vLLM 高吞吐主要来自 PagedAttention(高显存利用) + 连续批处理(不空转)。同样的模型和硬件,换 vLLM 常能把吞吐提升数倍。

自测vLLM 吞吐高的主要原因是:
// 带走一句话

vLLM 打包 PagedAttention+连续批处理,一行起高吞吐/OpenAI 兼容服务,同硬件吞吐常翻数倍。

独立练习

做到这些,才算完成本节

  1. 启动一个小模型服务,记录 TTFT、TPOT、吞吐与峰值显存,而不只看总耗时。
  2. 对 batch=1 与连续批处理做同样请求,解释吞吐和单请求延迟的变化。
  3. 在本地运行代码,打印每个关键张量的 shape。
  4. 关闭示例后从空文件重写核心部分,并补一个异常或边界测试。
学习记录

记录本节阅读进度

建议先独立回答自测。读完记录不等于已经掌握。

继续下一课
← 上一课
系统级优化:FlashAttention、PagedAttention
下一课 →
量化:对称/非对称、粒度与显存

学完不要急着赶进度:去练习自测,或完成对应的阶段实验