vLLM:高吞吐推理服务
vLLM 是一个高性能的大语言模型推理与服务框架,由 UC Berkeley 等团队提出,以 PagedAttention 技术显著提升显存利用率与并发吞吐。它把开源模型包装成可水平扩展的 API 服务,常用于自托管推理后端。
它对常用开源模型都有良好支持,并通过量化与张量并行进一步压榨硬件利用率;接口兼容 OpenAI 协议,前端代码可无缝迁移。大规模部署时还能以多副本方式横向扩展,稳定承接线上流量,降低单位推理成本。
是什么
vLLM 的核心价值在「高效服务」:
- PagedAttention:像操作系统分页一样管理注意力缓存,减少碎片。
- 连续批处理:动态合并到达的请求,提高 GPU 占用。
- OpenAI 兼容接口:可直接替换既有客户端接入方式。
为什么快
传统推理为每个请求预留连续显存,碎片严重、并发受限。vLLM 把键值缓存分页管理,显存利用更紧凑,相同硬件下能承载更多并发,延迟也更稳。
怎么用
最简单的方式是启动一个服务进程:
vllm serve meta-llama/Llama-3.1-8B-Instruct --host 0.0.0.0 --port 8000
启动后,用兼容 OpenAI 的客户端请求即可:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
print(client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "你好"}],
).choices[0].message.content)
注意点
- 显存仍决定能加载的模型规模,大模型需多卡或量化。
- 服务暴露在网络上须加鉴权,避免被滥用。
- 不同版本命令与参数有差异,以官方文档为准。
小结
vLLM 用 PagedAttention 与连续批处理把开源模型的推理吞吐推高,是自托管服务的高性能选择。它降低单位成本,但部署仍需关注显存、鉴权与版本差异。
参考与延伸阅读
- vLLM 官方文档。已核验。https://docs.vllm.ai
- vLLM GitHub 仓库。已核验。https://github.com/vllm-project/vllm
本文累计阅读 — 次