SGLang 服务器启动参数完整总结

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)、safetensorsptggufbitsandbytes 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 实现)、sglangtransformers 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(默认)、lpmrandomdfs-weightlofpriority fcfs(默认),高优先级用 priority
--enable-priority-scheduling 启用优先级调度 false(默认),需配合 --schedule-policy priority
--schedule-low-priority-values-first 低优先级请求优先调度 false(默认),默认高优先级先调度
--page-size KV 缓存页面大小 1(默认)

🔢 量化与数据类型

参数 用途说明 推荐值/使用建议
--dtype 模型计算精度:auto(默认,FP16/BF16)、halffloat16bfloat16floatfloat32 auto(推荐)
--quantization 量化方法:awqfp8gptqmarlinbitsandbytesgguf fp8(显存节省,需 CUDA 11.8+)
--kv-cache-dtype KV 缓存数据类型:autofp8_e5m2fp8_e4m3 fp8_e5m2(推荐,节省显存)
--enable-fp32-lm-head LM 头输出为 FP32(提升精度) false(默认)
--torchao-config torchao 量化配置:int4wo-128int8wofp8wo int4wo-128(实验性,小模型有效)

🚀 性能优化

参数 用途说明 推荐值/使用建议
--attention-backend 注意力内核后端:tritontorch_nativeflex_attentionflashinferfa3fa4 flashinfer(高性能)
--prefill-attention-backend 预填充注意力后端 通常同 --attention-backend
--decode-attention-backend 解码注意力后端 通常同 --attention-backend
--sampling-backend 采样内核后端:flashinferpytorchascend 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 日志级别:debuginfowarningerror 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 推测解码算法:EAGLEEAGLE3NEXTNSTANDALONENGRAM 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

⚠️ 重要提示

  1. OOM 问题 :若出现内存不足错误,优先尝试:
    • 降低 --mem-fraction-static(如 0.7
    • 启用 --chunked-prefill-size 4096
    • 减少 --max-running-requests
  2. 多 GPU 部署
    • 先用 --tp(张量并行),再考虑 --dp(数据并行)
    • 多节点部署需配合 --nnodes--node-rank--dist-init-addr
  3. 生产环境建议
    • 启用 --enable-metrics
    • 设置 --api-key
    • 使用 --config 配置文件管理参数
    • 适当调整 --mem-fraction-static 以平衡吞吐和内存
  4. 性能优化
    • 对于大模型,优先使用 --attention-backend flashinfer
    • 小模型 + 小 batch 可尝试 --enable-torch-compile
    • 长上下文场景考虑 --enable-hierarchical-cache

📌 注意:以上参数值为推荐值,实际使用中需根据具体硬件、模型和负载进行调整。建议从默认参数开始,逐步优化。

相关推荐
线束线缆组件品替网1 小时前
服务器高速互连测试中的 CableMAX 高速线缆实践
运维·服务器·人工智能·自动化·硬件工程·材料工程
Kaede61 小时前
如何判断服务器遭受过CC攻击?
运维·服务器
skywalk81631 小时前
阿里云的esc云服务器安装FreeBSD是否支持zfs文件系统
服务器·阿里云·云计算·freebsd
HalvmånEver2 小时前
Linux:信号保存下(信号二)
linux·运维·服务器·c++·学习·信号
Qiuner2 小时前
软件工程计算机网络WindowService2008 DNS DHCP网络策略和访问策略IIS 相关配置 期末考试实操题操作题windows运维
运维·网络·windows·计算机网络
安科瑞刘鸿鹏172 小时前
电量和碳量如何建立关系?企业能碳管理的关键一步
运维·网络·物联网·安全
小李独爱秋2 小时前
计算机网络经典问题透视:试述资源预留协议RSVP的工作原理?
运维·服务器·网络·网络协议·计算机网络·rsvp
2501_941982052 小时前
企微API外部群自动化:快速建立自己的护城河
运维·自动化·企业微信
卿着飞翔2 小时前
win11安装配置nginx并部署ruoyi前端
运维·前端·nginx