vLLM 核心功能
三、核心功能
| 能力 | 说明 | 关键参数 |
|---|---|---|
| 服务协议 | OpenAI 兼容的 chat / completions / embeddings 接口 | served-model-name、api-key |
| 并行策略 | 单机多卡张量并行、多机多卡、流水线并行 | tensor-parallel-size、pipeline-parallel-size |
| 显存控制 | 按比例分配显存给权重与 KV cache | gpu-memory-utilization、max-model-len |
| 批处理调度 | 连续批处理、批内抢占与重排 | max-num-seqs、max-num-batched-tokens |
| 前缀缓存 | 复用公共前缀的 KV,多轮对话与固定系统提示收益大 | enable-prefix-caching |
| 量化推理 | 加载 AWQ / GPTQ / FP8 权重 | quantization、dtype |
| 投机解码 | 小模型草拟、大模型验证,降延迟 | speculative 相关配置 |
| 结构化输出 | 按 JSON schema 或正则约束生成 | guided decoding 相关参数 |
| LoRA 服务 | 一个基座挂多个适配器,按请求切换 | enable-lora、max-lora-rank、lora-modules |
| 离线批量 | Python LLM 类做批量生成 | SamplingParams(长度、采样、停止词) |
| 可观测 | Prometheus 指标、请求级日志 | 指标端口、日志级别 |
调优时的三个旋钮关系要理清:gpu-memory-utilization 决定能匀出多少显存给 KV cache;max-model-len 决定单条请求最多占多少块;max-num-seqs 决定同时在跑的请求数上限。三者互相制约,显存不够时优先降 max-model-len,因为长上下文请求会把 cache 吃光,拖累所有并发。
