vLLM推理引擎
AI TERM术语词条vLLM Inference Engine
术语释义
高性能大模型推理引擎。以 PagedAttention 分页管理 KV 缓存,配合连续批处理与多卡并行,把显存利用率与并发吞吐提升数倍,是自建服务的默认选择。
vLLM 是当前最流行的高性能大模型推理引擎。它最核心的贡献是 PagedAttention:把 KV Cache(Key-Value 缓存,用于避免重复计算历史 token)像操作系统的虚拟内存那样分页管理,显著减少显存碎片与浪费,使显存利用率提升数倍,从而在同一张卡上同时服务更多请求。对自建推理服务的团队而言,它几乎是默认选项。
关键特性
- PagedAttention:分页管理缓存,降低显存浪费,提升并发能力。
- 连续批处理:动态把新请求插入正在执行的批次,避免等待整批结束。
- 张量并行:把模型切分到多张卡,支撑更大的模型与更高吞吐。
- 量化支持:兼容 AWQ、GPTQ 等方案,在有限显存下运行更大的模型。
- 前缀缓存与投机解码:相同系统提示只计算一次;用小模型起草、大模型验证来加速生成。
使用方式
通常以服务形式启动:安装后指定模型名称与端口,即可得到一个兼容主流接口的 HTTP 服务,现有应用改一个地址就能接入。它也提供离线批量推理接口,适合评测与数据生成。由于默认走 Python 生态,与模型仓库的权重格式天然兼容,模型更新后一般无需额外转换,团队可以快速试跑新模型。
同类方案对比
- SGLang:同样面向高吞吐,在部分结构化生成场景表现出色。
- TensorRT-LLM:厂商官方方案,在特定硬件上优化充分,但绑定较紧。
- llama.cpp:面向CPU与端侧,资源占用低,适合本地运行。
- Ollama:在 llama.cpp 之上做桌面友好封装,胜在易用。
实践要点
- 按显存定并发:上下文长度与并发数直接决定显存需求,需压测确定上限。
- 分别测量两个延迟:首字延迟与生成速度是不同指标,吞吐高不代表交互体验好。
- 量化是权衡:低比特能省显存,但可能影响输出质量。
- 做好监控:排队长度、缓存命中率与显存水位是排障的关键信号。
常见误区
- 以为引擎能弥补小显存:它优化的是效率,不是容量。
- 只看吞吐不看质量:激进批处理与量化可能改变输出分布。
- 忽视冷启动与加载时间:大模型加载耗时明显,扩容需要提前预热。