vLLM 是目前最快的开源 LLM 推理框架之一,核心靠PagedAttention机制(类比操作系统的“分页内存”)高效管理 KV Cache,大幅提升吞吐量、降低延迟。
调优的核心目标很简单:在有限显存下,跑更快、塞更多请求、出结果更稳。下面从小白能上手的「纯配置调参」,到需要一点技术基础的「硬件/量化优化」,再到高阶的「框架/模型定制优化」,一步步讲明白。
一、 入门级调优:纯参数配置(小白零代码上手)
这一层不需要改任何代码,只需要在启动 vLLM 时加命令行参数,是性价比最高的调优手段,优先掌握。
1. 控制「请求批次」:核心参数max_num_batched_tokens
vLLM 是动态批处理框架,简单说就是把多个用户的请求“打包”一起算,提升 GPU 利用率。
- 参数作用:
max_num_batched_tokens是单个批次能容纳的最大 token 总数(包含 prompt 输入 token + 生成 token)。 - 怎么调
- 太小:批次里塞的请求少,GPU 没跑满,吞吐量低(单位时间处理的请求少)。
- 太大:显存不够用,直接报
CUDA out of memory错误。
- 小白实操:从保守值开始试。比如 A100 (40G) 跑 LLaMA-7B,先设
--max-num-batched-tokens 2048,如果不爆显存,再逐步涨到 4096/8192;如果爆显存,就降到 1024。
2. 大模型必用:张量并行tensor-parallel-size
如果你的模型很大(比如 70B/175B),单张 GPU 装不下怎么办?用**张量并行(TP)**把模型参数拆到多张 GPU 上。
- 原理类比:把一本厚书拆成 2 本,2 个人各看一本,一起完成阅读任务。
- 怎么调:启动时加
--tensor-parallel-size N,N是 GPU 数量(必须是 2 的幂:1/2/4/8