SGLang 服务器启动参数完整总结
以下根据 SGLang 官方文档 整理的服务器启动参数完整列表,按功能分类,提供用途说明和推荐值。
📦 模型与 Tokenizer
参数用途说明推荐值/使用建议
| –model-path / –model |
指定模型权重路径(本地目录或 Hugging Face repo ID) |
meta-llama/Meta-Llama-3-8B-Instruct(必填) |
| –tokenizer-path |
指定 tokenizer 路径(若与模型不同) |
默认同 –model-path |
| –tokenizer-mode |
Tokenizer 模式:auto(默认,优先 fast tokenizer)、slow(总是用慢 tokenizer) |
auto |
| –load-format |
模型权重加载格式:auto(默认,优先 safetensors)、safetensors、pt、gguf、bitsandbytes |
auto |
| –trust-remote-code |
是否信任远程代码(用于自定义模型) |
false(默认),非官方模型设为 true |
| –context-length |
强制设置模型最大上下文长度 |
不建议设置,由模型 config 自动决定 |
| –is-embedding |
是否将模型用作嵌入模型 |
false(默认) |
| –enable-multimodal |
启用多模态功能(需模型支持) |
true(若模型为多模态) |
| –limit-mm-data-per-request |
限制单个请求的多模态输入数量 |
{"image": 1, "video": 1, "audio": 1}(示例) |
| –model-impl |
模型实现方式:auto(默认,优先 SGLang 实现)、sglang、transformers |
auto |
| –skip-tokenizer-init |
跳过 tokenizer 初始化(需在请求中提供 input_ids) |
false(默认),高性能场景可设为 true |
🌐 HTTP 服务
参数用途说明推荐值/使用建议
| –host |
HTTP 服务监听地址 |
0.0.0.0(对外暴露)或 127.0.0.1(仅本地) |
| –port |
HTTP 服务端口 |
30000(默认) |
| –api-key |
设置 API 访问密钥(OpenAI 兼容) |
生产环境建议设置 |
| –served-model-name |
自定义 /v1/models 返回的模型名 |
可用于隐藏真实模型名 |
| –skip-server-warmup |
跳过服务器预热 |
false(默认) |
| –warmups |
自定义预热函数(逗号分隔) |
warmup_name1,warmup_name2 |
| –nccl-port |
NCCL 分布式环境端口 |
通常不设置,由系统自动分配 |
⚙️ 并行与分布式
参数用途说明推荐值/使用建议
| –tensor-parallel-size / –tp-size |
张量并行 GPU 数量 |
1(默认),根据 GPU 数量设置(如 –tp 2) |
| –pipeline-parallel-size / –pp-size |
流水线并行阶段数 |
1(默认),长上下文场景可设为 2-4 |
| –data-parallel-size / –dp-size |
数据并行 GPU 数量 |
1(默认),内存充足时设为 2-4 |
| –nnodes |
分布式节点数量 |
1(默认),多节点部署设为 2+ |
| –node-rank |
节点排名 |
0(主节点),其他节点设为 1,2,… |
| –dist-init-addr / –nccl-init-addr |
分布式初始化地址(如 192.168.0.2:25000) |
主节点 IP 和端口 |
| –enable-p2p-check |
启用 GPU P2P 检查(解决多 GPU 问题) |
false(默认),若报错 “peer access not supported” 设为 true |
💾 内存与调度
参数用途说明推荐值/使用建议
| –mem-fraction-static |
静态内存(权重 + KV Cache)占比 |
0.9(默认),OOM 时降至 0.7 |
| –max-running-requests |
最大并发请求数 |
自动计算,通常不设 |
| –max-queued-requests |
最大排队请求数 |
自动计算,通常不设 |
| –chunked-prefill-size |
分块预填充大小(防长 prompt OOM) |
4096(推荐),设为 -1 禁用 |
| –max-prefill-tokens |
预填充最大 token 数 |
16384(默认) |
| –schedule-policy |
请求调度策略:fcfs(默认)、lpm、random、dfs-weight、lof、priority |
fcfs(默认),高优先级用 priority |
| –enable-priority-scheduling |
启用优先级调度 |
false(默认),需配合 –schedule-policy priority |
| –schedule-low-priority-values-first |
低优先级请求优先调度 |
false(默认),默认高优先级先调度 |
| –page-size |
KV 缓存页面大小 |
1(默认) |
🔢 量化与数据类型
参数用途说明推荐值/使用建议
| –dtype |
模型计算精度:auto(默认,FP16/BF16)、half、float16、bfloat16、float、float32 |
auto(推荐) |
| –quantization |
量化方法:awq、fp8、gptq、marlin、bitsandbytes、gguf |
fp8(显存节省,需 CUDA 11.8+) |
| –kv-cache-dtype |
KV 缓存数据类型:auto、fp8_e5m2、fp8_e4m3 |
fp8_e5m2(推荐,节省显存) |
| –enable-fp32-lm-head |
LM 头输出为 FP32(提升精度) |
false(默认) |
| –torchao-config |
torchao 量化配置:int4wo-128、int8wo、fp8wo |
int4wo-128(实验性,小模型有效) |
🚀 性能优化
参数用途说明推荐值/使用建议
| –attention-backend |
注意力内核后端:triton、torch_native、flex_attention、flashinfer、fa3、fa4 |
flashinfer(高性能) |
| –prefill-attention-backend |
预填充注意力后端 |
通常同 –attention-backend |
| –decode-attention-backend |
解码注意力后端 |
通常同 –attention-backend |
| –sampling-backend |
采样内核后端:flashinfer、pytorch、ascend |
flashinfer(推荐) |
| –enable-torch-compile |
启用 torch.compile 加速 |
false(默认),小模型 + 小 batch 有效 |
| –enable-deterministic-inference |
启用确定性推理(结果可复现) |
false(默认),调试时启用 |
| –disable-cuda-graph |
禁用 CUDA Graph(解决多节点死锁) |
false(默认),多节点 TP 死锁时设为 true |
| –num-continuous-decode-steps |
连续解码步骤数 |
1(默认),设为 2-4 提升吞吐 |
| –enable-mixed-chunk |
启用混合分块(prefill + decode) |
false(默认) |
📊 日志与监控
参数用途说明推荐值/使用建议
| –log-level |
日志级别:debug、info、warning、error |
info(默认) |
| –log-requests |
记录请求输入输出 |
false(默认),调试时设为 true |
| –log-requests-level |
请求日志详细级别:0(元数据)、1(采样参数)、2(部分输入/输出)、3(完整输入/输出) |
2(默认) |
| –enable-metrics |
启用 Prometheus 指标 |
false(默认),生产环境建议启用 |
| –enable-metrics-for-all-schedulers |
为所有调度器启用指标 |
false(默认),DP 注意力启用时设为 true |
| –crash-dump-folder |
崩溃前 5 分钟请求 dump 目录 |
用于故障排查 |
| –enable-trace |
启用 OpenTelemetry 跟踪 |
false(默认) |
🧠 高级功能
参数用途说明推荐值/使用建议
| –enable-lora |
启用 LoRA 支持 |
false(默认),需配合 –lora-paths |
| –lora-paths |
LoRA 适配器路径列表 |
["lora_path1", "lora_path2"] |
| –enable-hierarchical-cache |
启用分层 KV 缓存(CPU-GPU) |
false(默认),显存不足时启用 |
| –hicache-ratio |
主机 KV 缓存内存池比例 |
2.0(默认) |
| –speculative-algorithm |
推测解码算法:EAGLE、EAGLE3、NEXTN、STANDALONE、NGRAM |
EAGLE(推荐) |
| –speculative-draft-model-path |
草稿模型路径 |
meta-llama/Meta-Llama-3-8B(需搭配主模型) |
| –enable-lmcache |
使用 LMCache 作为分层缓存 |
false(默认) |
| –enable-double-sparsity |
启用双稀疏注意力 |
false(默认) |
| –enable-pdmux |
启用 PD-Multiplexing |
false(默认) |
📄 配置文件与部署
参数用途说明推荐值/使用建议
| –config |
从 YAML 配置文件加载参数 |
config.yaml(推荐生产环境使用) |
| –enable-priority-scheduling |
启用优先级调度 |
false(默认) |
| –max-loras-per-batch |
单批最大 LoRA 数 |
8(默认) |
| –max-loaded-loras |
最大加载的 LoRA 数 |
>= –max-loras-per-batch |
⚠️ 重要提示
OOM 问题:若出现内存不足错误,优先尝试:
- 降低 –mem-fraction-static(如 0.7)
- 启用 –chunked-prefill-size 4096
- 减少 –max-running-requests
多 GPU 部署:
- 先用 –tp(张量并行),再考虑 –dp(数据并行)
- 多节点部署需配合 –nnodes、–node-rank 和 –dist-init-addr
生产环境建议:
- 启用 –enable-metrics
- 设置 –api-key
- 使用 –config 配置文件管理参数
- 适当调整 –mem-fraction-static 以平衡吞吐和内存
性能优化:
- 对于大模型,优先使用 –attention-backend flashinfer
- 小模型 + 小 batch 可尝试 –enable-torch-compile
- 长上下文场景考虑 –enable-hierarchical-cache
📌 注意:以上参数值为推荐值,实际使用中需根据具体硬件、模型和负载进行调整。建议从默认参数开始,逐步优化。
评论前必须登录!
注册