vLLM 显存优化与批处理参数调优实战
影响显存占用的关键参数 参数 作用 建议值 --gpu-memory-utilization GPU 显存预留比例 单卡场景 0.85~0.9 --max-model-len 最大上下文长度 按实际业务设置,避免过大浪费 --max-num-seqs 同时处理的最大序列数 根据显存余量调整 --block-size PagedAttention 分页大小 默认 16,一般无需更改 --swap-space CPU 侧交换空间(GB) 显存紧张时可设置 4~8 量化降低显存占用 对 7B 级别模型,FP16 大约需要 14GB 显存用于权重本身,加上 KV Cache 后往往超过消费级显卡容量。使用 AWQ 或 GPTQ 4-bit 量化可将权重显存需求降低到原来的 1/4 左右: vllm serve Qwen/Qwen2.5-7B-Instruct-AWQ --quantization awq 提升吞吐的关键:Continuous Batching vLLM 默认启用连续批处理,无需手动配置。但可以通过 --max-num-batched-tokens 控制单次调度的 token 总量,值越大吞吐越高,但延迟波动也会增加,需要根据 SLA 要求权衡。 多卡场景:张量并行 vllm serve meta-llama/Llama-3-70B-Instruct \ --tensor-parallel-size 4 \ --gpu-memory-utilization 0.9 --tensor-parallel-size 需与实际 GPU 数量匹配,且各卡显存尽量一致,否则会以最小显存的卡为瓶颈。 ...