ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Model-Optimizer 推理部署环境搭建指南:vLLM / SGLang / TRT-LLM 安装与 SLURM、Docker 部署实践

Model-Optimizer 推理部署环境搭建指南:vLLM / SGLang / TRT-LLM 安装与 SLURM、Docker 部署实践 人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载本文以 Model-Optimizer 仓库中的部署环境配置文档为核心系统梳理将 ModelOpt 量化后的统一 HuggingFaceunified HFcheckpoint 部署为 OpenAI 兼容推理服务所需的全部前置工作三大推理框架vLLM、SGLang、TRT-LLM的安装与最低版本要求、SLURM 集群容器化部署的规范写法、以及官方/自定义 Docker 镜像的两种部署路径。读完本文你可以独立完成从环境检查、框架安装到 SLURM / Docker 启动 vLLM 服务的完整部署闭环并能利用仓库提供的部署脚本deploy.sh快速上线 ModelOpt FP8 / NVFP4 量化模型。一、部署环境准备概览Model-Optimizer 的量化产物是统一 HuggingFace checkpoint一组safetensors权重文件、一个记录量化配置的hf_quant_config.json以及模型结构、分词器与元数据相关的 JSON 文件详见 统一 HF Checkpoint 文档。这类 checkpoint 可以被 vLLM、SGLang、TensorRT-LLM 三大推理框架直接加载因此部署环境的核心工作就是安装并校准这三套框架的版本。部署技能的整体决策流程见 SKILL.md依次为识别 checkpoint本地量化目录 / HF Hub ID / 未量化模型→ 选择推理框架 → 检查运行环境GPU 数量、框架是否已安装→ 启动服务 → 验证健康状态。而环境检查的第一步就是确认框架版本是否满足要求。二、推理框架安装与最低版本要求官方文档 setup.md 给出了三个框架的安装方式与最低版本框架安装命令最低版本vLLMpip install vllm0.10.1SGLangpip install sglang[all]0.4.10TRT-LLMNVIDIA 容器 或pip install tensorrt-llm0.17.0vLLMpip install vllm最低版本为0.10.1。该版本是识别quantizationmodelopt量化标记的门槛——如果启动时提示quantizationmodelopt not recognized通常意味着 vLLM 版本过旧详见后文常见错误处理。SGLangpip install sglang[all]最低版本为0.4.10。[all]extra 会带入 SGLang 服务端运行所需的完整依赖集包括 FlashInfer 等后端组件。仓库部署技能中强调对于大型 MoE 模型、多节点部署或 Blackwell FP4 场景启动命令应以 SGLang cookbook按hw/quant/strategy/nodes元组生成经过验证的命令为准手工拼参数容易出错详见 sglang.md。TRT-LLMTRT-LLM 推荐通过 NVIDIA 官方容器安装docker pull nvcr.io/nvidia/tensorrt-llm/release:version也可以使用 pip 安装需要本机具备 CUDA toolkitpip install tensorrt-llm最低版本为0.17.0。值得注意的是部署参考文档 trtllm.md 中针对统一 HF checkpoint 的直接 LLM API路径给出的最低版本是1.2.0并注明该版本面向统一 HF 加载路径部署套件实际验证的是 1.3.x 容器线。0.17.0 是传统部署路径的最低门槛两个数字口径不同落地时请按所选部署路径对应检查。安装后版本自检部署技能 SKILL.md 提供了标准的版本探测命令启动服务前建议先跑一遍python -c import vllm; print(fvLLM {vllm.__version__}) 2/dev/null || echo vLLM not installed python -c import sglang; print(fSGLang {sglang.__version__}) 2/dev/null || echo SGLang not installed python -c import tensorrt_llm; print(fTRT-LLM {tensorrt_llm.__version__}) 2/dev/null || echo TRT-LLM not installed未安装或版本不足时按本节的安装命令补齐即可。框架选型建议部署技能给出的推荐优先级未指定框架时如下场景推荐框架理由通用场景vLLM生态最广、安装简单、OpenAI 兼容SGLang 模型支持最优SGLangDeepSeek / Llama 4 支持强极致优化TRT-LLM引擎编译带来最佳吞吐混合精度 / AutoQuantTRT-LLM AutoDeployAutoQuant checkpoint 的唯一选择三、SLURM 集群部署容器参数必须放在srun行对于 SLURM 集群部署技能明确要求在容器内执行推理服务。一个非常容易踩坑的规范是容器的相关 flags镜像、挂载、工作目录等必须写在srun命令行上而不是SBATCH指令或脚本的其他位置否则容器环境不会正确传递到计算节点。官方文档 setup.md 给出的完整作业脚本模板如下请按实际集群替换account、partition、num_gpus等占位符#!/bin/bash #SBATCH --job-namedeploy #SBATCH --accountaccount #SBATCH --partitionpartition #SBATCH --nodes1 #SBATCH --ntasks-per-node1 #SBATCH --gpus-per-nodenum_gpus #SBATCH --time04:00:00 #SBATCH --outputdeploy_%j.log srun \ --container-imagepath/to/container.sqsh \ --container-mountsdata_root:data_root \ --container-workdirworkdir \ --no-container-mount-home \ bash -c python -m vllm.entrypoints.openai.api_server \ --model checkpoint_path \ --quantization modelopt \ --tensor-parallel-size num_gpus \ --host 0.0.0.0 --port 8000要点解读--container-image指向.sqsh容器镜像文件--container-mounts将数据盘映射进容器--container-workdir设置容器内工作目录--no-container-mount-home避免挂载 HOME 目录引发权限问题服务命令在bash -c ...中执行与裸机bare metal部署的命令完全一致即python -m vllm.entrypoints.openai.api_server这里展示的是 vLLM 的 OpenAI 兼容入口SGLang 对应为python -m sglang.launch_server --model-path path --quantization modelopt --tp num_gpusTRT-LLM 则通过tensorrt_llm.LLMPython API 或 AutoDeploy 运行见 vllm.md、sglang.md、trtllm.md。从集群外部访问服务SLURM 节点通常不直接暴露给外部网络需要通过 SSH 隧道或节点主机名访问。先用squeue查询任务分配的节点名squeue -u $USER -o %j %N %S # Get the node name # Then SSH tunnel or use the nodes hostname directly拿到节点名后可做 SSH 端口转发如ssh -L 8000:localhost:8000 node_hostname或直接在集群内网使用http://node_hostname:8000访问。注意该端口只在集群网络内可达。另外部署技能在远程部署前有一个硬性前置提交任何携带容器镜像的 SLURM 作业前必须先在集群上确认容器注册表的登录凭证有效见 SKILL.md 的远程部署章节凭证缺失时不要提交作业避免作业在节点上拉取镜像失败。四、Docker 部署4.1 官方镜像推荐三个框架都有官方发布镜像直接拉取即可框架镜像来源vLLMvllm/vllm-openai:latestDocker Hubvllm/vllm-openaiSGLanglmsysorg/sglang:latestDocker Hublmsysorg/sglangTRT-LLMnvcr.io/nvidia/tensorrt-llm/release:latestNVIDIA NGCtensorrt-llm/release以官方 vLLM 镜像为例启动 OpenAI 兼容服务docker run --gpus all -p 8000:8000 \ -v /path/to/checkpoint:/model \ vllm/vllm-openai:latest \ --model /model \ --quantization modelopt \ --host 0.0.0.0 --port 8000说明--gpus all透传全部 GPU-p 8000:8000映射服务端口-v /path/to/checkpoint:/model将本地量化 checkpoint 挂载进容器--model /model指向挂载点FP8 checkpoint 使用--quantization modeloptNVFP4 checkpoint 使用--quantization modelopt_fp4这一对应关系同样适用于 vLLM 与 SGLang见 support-matrix.md 的量化标记表TRT-LLM 则从hf_quant_config.json自动识别无需显式传参。4.2 Blackwellsm_103NVFP4 的镜像版本陷阱仓库部署资料中特别警告了一个容易忽略的版本陷阱NVFP4 在 Blackwell B300 / GB300sm_103上推理必须使用 CUDA-13 构建的镜像。从 vLLM v0.20.0 起release tag 不带后缀即为 CUDA-13-cu129才是 CUDA-12 的退出版本而 v0.19.x 及更早版本规则相反-cu130代表 CUDA 13。不要只看 tag 名字——应通过平台子清单arm64 Grace/GB300、amd64 x86的 config blob 中报告的CUDA_VERSION 13来选择镜像。CUDA-12 构建没有sm_103的 FP4 kernelvLLM 会在加载 checkpoint 后于引擎初始化时报CUDA error: no kernel image is available for execution on the device。部署前建议用nvidia-smi实际核对 GPU 型号因为集群的 GPU 标签可能过期。4.3 自定义镜像可选仓库提供了定制 Dockerfileexamples/vllm_serve/Dockerfile。它以vllm/vllm-openai:v${VLLM_VERSION}默认 0.28.0可用构建参数覆盖为基础额外完成四件事安装 git 与 build-essential、以可编辑模式安装 Model-Optimizer 本体含all,dev-test,mlflow依赖、安装 Llama4 所需的flash-attn2.7.4.post1、以及预编译 CUDA 扩展到/workspace/torch_extensions。这意味着该镜像可以让 vLLM 直接运行 ModelOpt 量化模型而不必依赖发行版镜像中内置的 modelopt 版本。构建并启动docker build -f examples/vllm_serve/Dockerfile -t vllm-modelopt . docker run --gpus all -p 8000:8000 \ -v /path/to/checkpoint:/model \ vllm-modelopt \ python -m vllm.entrypoints.openai.api_server \ --model /model \ --quantization modelopt \ --host 0.0.0.0 --port 8000五、用仓库部署脚本快速上线可选替代路径除手工拼命令外仓库提供了一键部署脚本 deploy.sh自动处理 GPU 探测、量化格式识别FP8 vs FP4、服务生命周期start/stop/restart/status、健康检查轮询与 API 测试适合标准本地部署场景# 启动 vLLM 服务自动识别 checkpoint 量化格式 $SKILL_DIR/scripts/deploy.sh start --model ./qwen3-0.6b-fp8 # 以 SGLang 4 卡张量并行启动 NVFP4 模型 $SKILL_DIR/scripts/deploy.sh start --model ./llama-70b-nvfp4 --framework sglang --tp 4 # 从 HuggingFace Hub 启动 $SKILL_DIR/scripts/deploy.sh start --model nvidia/Llama-3.1-8B-Instruct-FP8 # 测试 API / 查看状态 / 停止 $SKILL_DIR/scripts/deploy.sh test $SKILL_DIR/scripts/deploy.sh status $SKILL_DIR/scripts/deploy.sh stop脚本核心参数--model必填其余可省略参数含义默认值--model PATH本地 checkpoint 路径或 HF 模型 ID无必填--frameworkvllm/sglang/trtllmvllm--port服务端口8000--tp SIZE张量并行数1--quantization强制指定modelopt/modelopt_fp4/none自动检测--gpu-memory-utilizationGPU 显存利用率 0.0–1.00.9--log-dir日志与 PID 文件目录/tmp/modelopt-deploy量化格式自动检测的判定顺序为hf_quant_config.json中的quantization.quant_algo含fp4/nvfp4判为modelopt_fp4含fp8判为modelopt→config.json中的quantization_config.quant_method modelopt→ 均不存在视为未量化对于 HF Hub ID 则按模型名中的fp8/fp4关键字做启发式推断。注意int4_awq、w4a8_awq等格式仅 TRT-LLM 支持脚本会直接报错并提示改用--framework trtllm。六、部署后验证与常见错误无论走哪条部署路径服务启动后都必须完成验证部署技能将其列为成功标准# 健康检查 curl -s http://localhost:8000/health # 列出已加载模型 curl -s http://localhost:8000/v1/models | python -m json.tool # 测试一次文本生成 curl -s http://localhost:8000/v1/completions \ -H Content-Type: application/json \ -d { model: model_name, prompt: The capital of France is, max_tokens: 32 } | python -m json.tool三项检查全部通过后才能向用户报告部署成功。部署过程中常见的错误与修复建议整理自 SKILL.md 的错误处理表错误原因修复quantizationmodelopt not recognizedvLLM / SGLang 版本过旧升级vLLM 0.10.1SGLang 0.4.10CUDA out of memory模型超出 GPU 显存增大--tensor-parallel-size或换更小模型hf_quant_config.json not found不是 ModelOpt 导出的 checkpoint用export_hf_checkpoint()重新导出或去掉--quantization参数Connection refused健康检查服务仍在启动大模型等待 30–60 秒查看日志排查报错modelopt_fp4 not supported框架不支持该模型的 FP4对照支持矩阵 support-matrix.md 核对NVFP4 MoE 上CUDA error: an illegal memory accessFused-MoE FP4 kernel 在长上下文加载时出错尝试VLLM_USE_FLASHINFER_MOE_FP41VLLM_FLASHINFER_MOE_BACKENDthroughput不保证一定修复且会导致量化与基线 kernel 不匹配若模型不在已验证的支持矩阵内部署可能因权重键不匹配、量化/未量化层混淆或架构映射缺失而失败此时可按 unsupported-models.md 中的迭代调试循环运行 → 读错误 → 诊断 → 打补丁 → 重跑处理kernel 级问题应转交框架团队不要自行修改 CUDA kernel。七、延伸阅读部署技能总览 SKILL.md完整的决策流程、量化格式自动检测、GPU 显存估算BF16 ≈ 2B/参数、FP8 ≈ 1B/参数、FP4 ≈ 0.5B/参数与成功标准vLLM 部署参考realquant默认、专用 kernel与 fakequant研究用慢 2–5 倍两条路径及基准测试命令SGLang 部署参考关键启动 flags、Blackwell/Hopper 的 MoE/FP4 后端选择、EAGLE 投机解码配置TRT-LLM 部署参考统一 HF checkpoint 的直接 LLM API、AutoDeploy 工作流与 NVFP4 的 Blackwell 硬件约束部署支持矩阵支持的量化格式FP8 / FP8_PB / NVFP4 / NVFP4_AWQ / INT4_AWQ / W4A8_AWQ、各框架最低版本及各框架量化标记对应关系统一 HF Checkpoint 与模型支持矩阵checkpoint 导出格式、export_hf_checkpoint()API 与按模型/框架/格式的权威支持矩阵。赞分享人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载相关推荐Model-Optimizer 未支持模型部署实战面向 vLLM/SGLang/TRT-LLM 的五步迭代排错指南Model Optimizer 未支持模型部署实战面向 vLLM/SGLang/TRT LLM 的五步迭代排错指南 本文是 Model Optimizer 仓人工智能大模型模型优化模型量化模型压缩Model-Optimizer 投机解码Speculative Decoding端到端实战EAGLE3 / DFlash 训练、验证与 TRT-LLM / vLLM / SGLang 部署指南Model Optimizer 投机解码Speculative Decoding端到端实战EAGLE3 / DFlash 训练、验证与 TRT LLM /人工智能大模型模型优化模型量化模型压缩Model Optimizer 实战从 NVIDIA Hugging Face Model Hub 一键部署 FP8 量化模型到 TensorRT-LLM、vLLM 与 SGLangModel Optimizer 实战从 NVIDIA Hugging Face Model Hub 一键部署 FP8 量化模型到 TensorRT LLM、v人工智能大模型模型优化模型量化模型压缩上一篇告别 setState 地狱GetX 3 步搞定 Flutter 复杂状态管理下一篇Wox 截图插件完全指南屏幕捕获、标注、置顶与 OCR 历史检索创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表