以下是针对生产环境的vLLM核心命令选项详解(共23个),涵盖显存管理、吞吐优化、量化策略等关键场景,结合企业级最佳实践做个记录
一、模型加载与初始化
--model
作用:指定HuggingFace模型路径或名称
生产级示例:
--model=/models/llama3-70b-awq
关键点:推荐使用绝对路径避免路径错误
--dtype
作用:控制计算精度
推荐值:
bfloat16
(A100/H100)、half
(消费级显卡)优势:H100使用bfloat16吞吐提升15%
--quantization
作用:量化方法选择
选项:
awq
(4bit)、gptq
(3bit)、fp8
(H100专用)案例:70B模型显存从140GB→40GB
--trust-remote-code
作用:允许加载自定义模型代码
场景:使用非标准架构模型时必须启用
二、显存与计算资源管理
--gpu-memory-utilization
作用:显存利用率阈值(0.0-1.0)
生产级设置:A100设为0.95,多模型混部建议0.8
--block-size
作用:KV缓存块大小
优化建议:长文本场景设为32,短文本保持16
--swap-space
作用:CPU交换空间大小(GB)
典型配置:
--swap-space=64
(支持32K+上下文)
--enable-chunked-prefill
作用:分块处理长输入优化显存
效果:32K文本生成显存峰值降低40%
三、批处理与吞吐优化
--max-num-batched-tokens
作用:单批次最大token数
推荐值:高吞吐场景设为8192,低延迟设为4096
--max-num-seqs
作用:最大并发请求数
调优策略:A100 80GB建议512,RTX 4090建议256
--preemption-mode
选项:
recompute
(重计算)或swap
(换出到CPU)生产级选择:高优先级服务用
recompute
,普通服务用swap
--scheduler-policy
作用:请求调度策略
选项:
fcfs
(先进先出)、priority
(优先级队列)
四、分布式与硬件优化
--tensor-parallel-size
作用:张量并行度(需等于GPU数量)
示例:4卡集群设为4
--pipeline-parallel-size
作用:流水线并行(实验性功能)
适用场景:Falcon-180B等超大规模模型
--max-parallel-loading-workers
作用:模型加载并行线程数
优化建议:SSD存储设为4,HDD保持1
五、监控与稳定性
--metric-interval
作用:监控指标输出间隔(秒)
生产级设置:与Prometheus抓取周期对齐(默认10)
--disable-log-requests
作用:禁用请求日志提升性能
场景:QPS>1000时必选
--log-file
作用:指定日志文件路径
最佳实践:配合Logrotate实现日志轮转
六、高级功能
--enforce-eager
作用:强制即时执行模式(调试用)
警告:生产环境禁用,性能下降30%+
--enable-prefix-caching
作用:共享前缀计算结果缓存
效果:客服机器人场景吞吐提升20%
--kv-cache-dtype
选项:
fp8
(H100专用)、auto
(自动选择)优势:H100启用fp8后显存占用降低50%
--max-model-len
作用:最大上下文长度
动态策略:高并发场景可适当降低该值
--guided-decoding-backend
作用:约束性文本生成引擎
选项:
outlines
(JSON格式生成)、xgrammar
(语法约束)
七、其它命令
--port
指定端口,默认是8000
--host
指定主机,默认是0.0.0.0
--config
指定配置文件
--api-key
指定访问接口token
--allowed-origins
允许的跨域,默认*
生产级参数组合示例
# 高吞吐客服机器人(4×A100)
vllm serve --model=llama3-70b-awq \
--dtype=bfloat16 \
--quantization=awq \
--tensor-parallel-size=4 \
--max-num-batched-tokens=16384 \
--max-num-seqs=512 \
--gpu-memory-utilization=0.95 \
--block-size=32 \
--enable-chunked-prefill \
--disable-log-requests
# 长文本生成(单卡+CPU卸载)
vllm serve --model=qwen-72b-chat \
--swap-space=64 \
--max-model-len=32768 \
--enable-prefix-caching \
--preemption-mode=swap