TensorRT-LLM跑通Qwen3:5分钟部署指南
【免费下载链接】TensorRT-LLMTensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way.项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLM
你刚把 Qwen3-30B-A3B 权重拉下来,第一条请求 3 秒才见第一个 token,这是你 GPU 的极限吗?TensorRT-LLM 是 NVIDIA 开源的大模型推理框架,Qwen3 稠密(0.6B–32B)与 MoE(30B-A3B/235B-A22B)系列均已在主仓库官方支持。用官方调优配置,3 步就能起一个 OpenAI 兼容服务;单流推理再开 MTP3 投机解码,输出速度从 133.5 提到383.1 tokens/s,接近2.9 倍。
它解决了什么问题
PyTorch 默认部署把 MoE 的算力红利(30B-A3B 每 token 只激活 3B 参数)浪费在内核启动和显存拷贝上。TensorRT-LLM 把融合 MoE 内核、CUDA Graph、分页 KV 缓存打进同一套推理栈,服务层直接暴露 OpenAI 接口,你不用自己拼调度:
| 对比项 | PyTorch 默认部署 | TensorRT-LLM |
|---|---|---|
| MoE 专家并行 | 需手动实现 | 内置,一行配置 |
| 动态批处理+分页 KV 缓存 | 自行实现 | 内置,自动生效 |
| MTP3 投机解码 | 不支持 | 单流输出提速2.9 倍(实测) |
| OpenAI 兼容 API | 自行编写 | 一行trtllm-serve |
三步跑起来
第 1 步:构建环境。要求 Linux、CUDA 驱动 575 以上,make 两条命令完成镜像构建和容器启动:
git clone https://gitcode.com/GitHub_Trending/te/TensorRT-LLM make -C docker release_build IMAGE_TAG=qwen3-local # 构建镜像 make -C docker release_run IMAGE_NAME=tensorrt_llm IMAGE_TAG=qwen3-local LOCAL_USER=1第 2 步:启动服务。直接复用官方调优的qwen3.yaml(批上限 161、CUDA Graph 覆盖 1–384),不用手动调参:
EXTRA_LLM_API_FILE=/app/tensorrt_llm/examples/configs/curated/qwen3.yaml # 官方调优配置 trtllm-serve Qwen/Qwen3-30B-A3B --host 0.0.0.0 --port 8000 --config ${EXTRA_LLM_API_FILE}第 3 步:验证服务。健康检查返回 200 即可发聊天请求;首条请求含初始化与编译,先预热再压测。单卡用户把模型换成nvidia/Qwen3-8B-FP8量化权重,依然一行命令拉起。
curl -s -o /dev/null -w "Status: %{http_code}\n" http://localhost:8000/healthQwen3 实测性能数据
数据取自官方审计配置:Qwen3.8-2.4T-A95B MoE(FP8),GB300 集群,输入8192/ 输出1024token,聚合部署:
| 部署模式 | 并行拓扑 | MTP3 投机 | 并发 | 实测吞吐 |
|---|---|---|---|---|
| 低延迟 | TP16/EP1 | 关 | 1 | 133.5 tokens/s/用户 |
| 低延迟 | TP16/EP1 | 草稿长 3 | 1 | 383.1 tokens/s/用户 |
| 高吞吐 | TP32/EP32+静态 EPLB | 关 | 3264 | 4059.2 tokens/s/GPU |
| 高吞吐 | TP32/EP32+静态 EPLB | 草稿长 3 | 2304 | 4118.2 tokens/s/GPU |
MTP3 把单流中位 TPOT 从 7.491ms 压到2.611ms,单用户输出速度提升约2.9 倍;高吞吐模式下 MTP3 再叠加1.4%的每卡输出增益。
参数速查与避坑
| 参数 | 作用 | 建议值 |
|---|---|---|
| max_batch_size | 动态批处理并发上限 | 161(官方默认) |
| max_num_tokens | 单批总 token 数 | 1160 |
| enable_attention_dp | 注意力数据并行,高吞吐前提 | true |
| KV 缓存空闲显存比例 | 权重加载后留给 KV 缓存的显存占比 | 0.8,OOM 降到 0.7 |
✅ MoE 模型必须把moe_expert_parallel_size设为 GPU 数,30B-A3B 才能把专家切到多卡,否则显存放不下。 ✅ 首条请求别计入性能基线:它含初始化与编译,延迟系统性偏高。 ✅ 8000 端口被占用会直接起服失败,启动前用--port换一个空闲端口。
常见报错速查
Q:报 CUDA out of memory?A:调低max_batch_size、max_num_tokens,KV 缓存比例降到 0.7 以下;图捕获阶段 OOM 再降图的 batch 上限。
Q:单卡显存不够跑 30B-A3B?A:换nvidia/Qwen3-8B-FP8量化权重,FP8 把权重显存约减半,一条trtllm-serve命令即可拉起。
Q:Qwen3 系列哪些尺寸能用?A:稠密 0.6B/1.7B/4B/8B/14B/32B,MoE 30B-A3B 与 235B-A22B 均官方支持,完整清单见 模型支持矩阵。
只记一条就够:用官方 curated 配置起服务,再按并发画像叠加 MTP3 与专家并行,收益全是实测数字。更多细节看 Qwen3 部署指南、官方调优配置和 Qwen3 示例文档。
【免费下载链接】TensorRT-LLMTensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way.项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLM
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考