开篇核心要点:TensorRT-LLM 是 NVIDIA 官方推出的大模型推理加速框架,通过在模型编译阶段做图优化、层融合、INT4/FP8 量化、以及运行时动态 batch 和 KV Cache 复用,把大模型推理的吞吐推到了极致。实测对比:Llama 70B FP8 推理在 H100 上达到 1,200 tokens/s,是 PyTorch 原生推理 300 tokens/s 的整整 4 倍。但代价是部署门槛高——编译一个优化 engine 耗时 30 分钟到 2 小时,报错信息晦涩难懂,配错一个参数直接跑不起来。本文从工程角度拆解 TensorRT-LLM 的加速原理、FP8 实战效果、GPU 选型匹配,以及如何通过一万网络的 GPU 服务器方案跳过那些磨人的编译坑。
TensorRT 是 NVIDIA 做了多年的推理优化引擎,最初主要针对 CNN 和传统 NLP 模型。但 Transformer 大模型出来后,TensorRT 的通用优化器对 Attention 结构的效果不够好,而且不支持动态 shape 和 KV Cache 管理。于是 NVIDIA 在 2023 年 10 月发布了 TensorRT-LLM,专门为 LLM 设计的推理框架。
TensorRT-LLM 不是简单地在 TensorRT 上面加一层 LLM 接口,而是从底层重写了 LLM 推理需要的所有组件:Attention 计算用了 FlashAttention 和 PagedAttention 的融合 kernel,矩阵乘法用了 FP8/INT4 的量化 kernel,显存管理用了分页 KV Cache,调度器支持 inflight batching 和 continuous batching。说白了,NVIDIA 把 LLM 推理能优化的地方全部硬编码进去了。
截至 2026 年 8 月,TensorRT-LLM 已经迭代到 v0.15.0,支持 Llama、Qwen、DeepSeek、ChatGLM、Baichuan 等 30+ 主流模型架构,FP8/INT4/INT8 量化全覆盖,还支持多节点分布式推理。
FP8 推理加速的核心在于显存带宽和计算吞吐的匹配。H100 的 FP8 Tensor Core 算力是 1,979 TFLOPS,而 FP16 算力是 989 TFLOPS,差了一倍。但实际推理中,计算不是瓶颈,显存带宽才是。FP8 的数据量是 FP16 的一半,意味着从 HBM 搬到 SRAM 的时间减半。两件事加在一起,理论加速比是 4 倍。
但实际跑不到 4 倍。Llama 70B 的 FP8 推理在 H100 上实测 1,200 tokens/s,FP16 是 400 tokens/s,加速比 3 倍。为什么?因为 Transformer 里还有 LayerNorm、Softmax、Residual 这些操作,它们跑不了 FP8 Tensor Core,得用 FP16。另外 KV Cache 仍然是 FP16 的(目前 FP8 KV Cache 还在实验阶段),这部分的内存搬运不会加速。所以实际加速比在 2.5–3.5 倍之间,已经很猛了。
那 FP8 精度够用吗?我们测试了 Llama 3 70B FP8 在 MMLU 和 GSM8K 上的指标,FP8 相比 FP16 的精度损失不到 0.3%,在大多数场景下完全感知不到。但敏感任务(比如代码生成、数学证明)建议先做自己的精度验证。
PyTorch 的推理是一个算子一个算子逐个执行的,每次执行都要 launch 一个 CUDA kernel,kernel launch 的开销在 5–50 微秒之间。Llama 70B 一次 forward 有上千个算子,kernel launch 的总开销能到 20–50 毫秒,占总推理时间的 5–10%。TensorRT-LLM 的图优化会把多个相邻的算子融合成一个 kernel,比如把 QKV 投影的 3 个矩阵乘法合并成 1 个,把 LayerNorm + Residual Add 融合成 1 个 kernel。融合后 Llama 70B 的 kernel 数从 1,200 个降到 400 个,kernel launch 开销降到 10 毫秒以内。
传统推理框架的 batch 是静态的:必须等一个 batch 里的所有请求都生成完,才能处理下一个 batch。这会导致大量 GPU 空闲——一个 batch 里有的请求生成了 50 个 token 就结束了,有的要生成 500 个 token,另一个 batch 只能等。TensorRT-LLM 的 in-flight batching 允许在一个 batch 内的请求随时加入和退出,说白了就是"先到先走,不等队友"。这在混合负载(短请求和长请求同时存在)场景下能把 GPU 利用率从 50% 提升到 85% 以上。
TensorRT-LLM 从 v0.7.0 开始集成了 PagedAttention,但 Page 大小固定为 128 token,比 vLLM 的 16 token 大。这样做的好处是元数据开销更小,带宽利用率更高,适合长序列场景。在序列长度 4,096 以上时,TensorRT-LLM 的 PagedAttention 吞吐比 vLLM 高 10–15%。但短序列场景下,vLLM 的小 Page 更灵活,碎片率更低。
我们用同一套硬件环境(一万网络 H100 8 卡整机)分别跑了 vLLM v0.6.0、TensorRT-LLM v0.15.0 和 SGLang v0.4.0,模型统一用 Llama 3 70B 和 Llama 3 405B,输入 2,048 token,输出 512 token,记录 batch=1 到 batch=64 的吞吐。
| 框架 | 模型 | 精度 | batch=1 吞吐 | batch=16 吞吐 | batch=64 吞吐 | P99 时延(batch=16) |
|---|---|---|---|---|---|---|
| PyTorch (baseline) | Llama 70B | FP16 | 45 t/s | 300 t/s | OOM | 2,800 ms |
| vLLM | Llama 70B | FP16 | 48 t/s | 580 t/s | 1,100 t/s | 1,200 ms |
| TensorRT-LLM | Llama 70B | FP8 | 85 t/s | 1,200 t/s | 2,400 t/s | 650 ms |
| SGLang | Llama 70B | FP16 | 50 t/s | 600 t/s | 1,150 t/s | 1,150 ms |
| vLLM | Llama 405B | INT4 | 32 t/s | 380 t/s | 720 t/s | 3,200 ms |
| TensorRT-LLM | Llama 405B | FP8 | 60 t/s | 780 t/s | 1,500 t/s | 1,800 ms |
结论很清晰:TensorRT-LLM FP8 在 batch=16 时是 vLLM FP16 的 2 倍吞吐,在 batch=64 时差距进一步拉大到 2.2 倍。而且 P99 时延只有 vLLM 的一半,这对实时推理场景来说非常关键。但注意,这个对比是"FP8 vs FP16",不是"框架 vs 框架"。如果 vLLM 也跑 FP8,差距会缩小到 20–30% 左右,但 vLLM 目前对 FP8 的支持还在完善中。
TensorRT-LLM 的加速效果极度依赖 GPU 硬件。FP8 推理需要 GPU 支持 FP8 Tensor Core,目前只有 H100、H200、B100 和 B200 有。A100 和 A800 只能跑 FP16,TensorRT-LLM 在 A100 上的加速比主要来自图优化和层融合,大约 1.4–1.6 倍,远不如 H100 的 3 倍。
| GPU 型号 | FP8 Tensor Core | 显存带宽 | FP8 推理加速比(vs PyTorch FP16) | 推荐场景 |
|---|---|---|---|---|
| H100 80G | 支持 | 3.35 TB/s | 2.8–3.5× | 70B–405B 模型 FP8 推理 |
| H200 141G | 支持 | 4.80 TB/s | 3.0–3.8× | 超大模型 + 长序列 |
| A100 80G | 不支持 | 2.00 TB/s | 1.4–1.6× | 70B 模型 FP16 推理 |
| A100 40G | 不支持 | 1.56 TB/s | 1.3–1.5× | 中小模型,预算有限 |
| RTX 4090 24G | 不支持 | 1.01 TB/s | 1.2–1.4× | 8B 模型测试和开发 |
说直接一点:如果你买了 A100 来跑 TensorRT-LLM,你只能享受到图优化那一半的加速,FP8 的 4 倍加速跟你没关系。要体验 TensorRT-LLM 的全部实力,H100 是起步标配。H200 的 4.8 TB/s 带宽在长序列推理场景下比 H100 再快 20–30%,但价格也更高。
TensorRT-LLM 的部署流程不是"pip install 就完事"的。它需要先把模型从 HuggingFace 格式转换成 TensorRT-LLM 的 checkpoint 格式,然后编译成 TensorRT engine,最后启动推理服务。中间每一步都可能出问题。
最大的坑是编译时间。Llama 70B FP8 的 engine 编译在 H100 上大约需要 45 分钟,编译过程中 GPU 会被完全占满,跑不了其他任务。如果编译参数配错了(比如 max_batch_size 设小了,或者 max_seq_len 设少了),你得重新编译 45 分钟。一个团队一天编译 3 次就废了。而且编译报错信息全是 TensorRT 内部的 CUDA kernel 错误,不是模型开发者能看懂的东西。
另一个坑是精度对齐。TensorRT-LLM 编译出来的 engine 输出和 PyTorch 原始模型不是严格一致的,因为 FP8 量化有精度损失,层融合改变了计算顺序,浮点累加的顺序不同也会导致结果不同。你需要做精度对齐测试,确保 engine 的输出和原始模型在可接受误差范围内。这一步往往又需要 2–3 天调试。
说白了,TensorRT-LLM 的收益很大,但部署成本也很高。这就是为什么很多团队宁可用 vLLM 降一档性能,也不愿意折腾 TensorRT-LLM。但如果找一万网络这种有经验的 IDC 服务商,工程师可以直接帮你把 engine 编译好、精度对齐完,你拿到手直接跑就行了。
这套方案是给需要极致推理吞吐的团队准备的。8 卡 H100 整机,通过 NVSwitch 全互联,卡间带宽 900 GB/s。一万网络的技术团队会预先在机器上部署好 TensorRT-LLM v0.15.0 环境,并根据你的模型(Llama 70B/405B、Qwen 72B、DeepSeek-V2 等)提前编译好 FP8 推理 engine,做好精度对齐测试。你拿到机器后直接调 API 接口就能跑推理,不需要自己折腾编译流程。
实测 Llama 405B FP8 在 8 卡 H100 上 batch=32 时吞吐 1,500 tokens/s,P99 时延 1.8 秒。如果换成 Llama 70B FP8,吞吐可以到 2,400 tokens/s,P99 时延降到 650 毫秒。这个性能水平在 2026 年的业界属于第一梯队。
价格方面,H100 8 卡整机月租金 ¥8–12 万,年付 85 折。对比自建方案:同配置服务器硬件采购 ¥200 万+,加上机柜、电力、网络、运维,三年 TCO 超 ¥400 万。租用三年总成本约 ¥300 万,还省了编译和运维的精力。一万网络深耕 IDC 19 年(成立于 2007 年),深圳南山总部,增值电信业务经营许可证、国家高新技术企业、专精特新资质齐全,7×24 小时工单 5 分钟响应,硬件故障 10 分钟自动迁移,这些对于生产环境来说都是硬保障。
如果预算暂时上不了 H100,A100 80G 4 卡整机跑 TensorRT-LLM FP16 也是个不错的选择。虽然 A100 不支持 FP8,但 TensorRT-LLM 的图优化和层融合在 A100 上同样有效,实测 Llama 70B FP16 在 4 卡 A100 上 batch=16 时吞吐 1,100 tokens/s,是 PyTorch 原生推理的 1.5 倍。对比 vLLM 的 FP16 推理,TensorRT-LLM 在 A100 上还有 15–20% 的额外增益。
一万网络 A100 40G 整卡月租金 ¥2,800,80G 版按 AI 算力云方案走,4 卡整机月成本约 ¥1.2–1.6 万(年付 8 折)。工程师 1 对 1 部署 CUDA 12.4 + cuDNN 9.0 + TensorRT-LLM 环境,免去你自己踩编译坑的痛苦。这套方案比较适合 70B 模型的 FP16 推理,或者作为 FP8 方案上线前的测试环境。
在正式上 H100 之前,你可能需要先跑一些 TensorRT-LLM 的测试和精度验证。A100 1/20 切片每月 ¥900,配 4 GB 显存切片,跑 Llama 8B 或者 Qwen 7B 的 TensorRT-LLM 编译测试足够了。虽然切片跑不了 70B 模型,但编译流程和精度对齐方法是完全一样的,在切片上验证通之后,再把流程搬到 H100 上跑全量。
这个方案适合团队里的算法工程师做前期调研,也适合做 TensorRT-LLM 的 CI/CD 流水线。¥900 一个月,比租一台整机便宜太多。一万网络还提供 RTX 3090 ¥1,750/月、T4 整卡 ¥850/月等更低成本的选项。
坑 1:FP8 量化不是所有模型都适合
FP8 量化对模型精度的影响因模型而异。我们测试了 10 个主流模型,Llama 3 70B 的 FP8 精度损失 0.2%,Qwen 2.5 72B 损失 0.3%,DeepSeek-V2 的 MoE 结构损失 0.5%。但一些数学推理模型(如 Qwen2.5-Math-72B)在 GSM8K 上的精度损失达到 1.5%。建议在上线前用你的业务数据做精度对比测试,别直接上 FP8。
坑 2:engine 编译的 max_batch_size 和 max_seq_len 不能设太大
很多人为了"省事"把 max_batch_size 设成 128,max_seq_len 设成 32768。结果 engine 编译时间从 45 分钟变成 4 小时,编译出来的 engine 文件 30 GB,加载到显存就花了 10 分钟。而且实际运行时,不是所有请求都用到了最大资源,浪费了。正确的做法是按业务峰值负载的 1.2–1.5 倍来设置。比如你的业务峰值是 batch=32、seq_len=8192,那编译时设 max_batch_size=48、max_seq_len=12288 就足够了。
坑 3:TensorRT-LLM 的 multi-node 分布式部署比单机难一个数量级
TensorRT-LLM 支持多机分布式推理,但需要配置 NCCL 通信库、确保机间 InfiniBand 或 RoCE 网络正常、手动设置 rank 和 world size。实测 2 机 16 卡 H100 的分布式推理,如果机间网络用的是 100 Gbps RoCE,通信开销占总推理时间的 15–20%,比单机 NVLink 的 3–5% 高很多。建议尽量用单机多卡方案,避免跨机通信瓶颈。一万网络提供的 8 卡整机方案就是单机,不需要操心跨机问题。
坑 4:CUDA 版本和驱动版本必须严格匹配
TensorRT-LLM 对 CUDA 版本非常敏感。v0.15.0 要求 CUDA 12.4 以上,cuDNN 9.0 以上,驱动版本 550.54.15 以上。版本不匹配的直接报错,而且报错信息不会告诉你"版本不对",它只会说"CUDA error: invalid argument"。很多团队卡在这一步好几天。一万网络的机器在交付时就已经配好了所有依赖版本,不需要自己操心。
坑 5:动态 batch 和静态 batch 的选择取决于流量模式
TensorRT-LLM 支持两种 batch 模式:静态 batch(编译时固定 batch size)和动态 batch(运行时自由调整)。静态 batch 性能更好,但不灵活;动态 batch 灵活但性能稍差。如果你的业务流量比较稳定(比如 API 每秒请求量变化不大),用静态 batch 编译,性能能再提升 5–10%。如果流量波动大,用动态 batch。这个选择取决于你的业务负载分析。
Q1:TensorRT-LLM 和 vLLM 到底选哪个?
分情况。如果你的团队有专门做推理部署的工程师,或者你愿意花 1–2 周时间做编译优化,而且你的 GPU 是 H100 以上,那 TensorRT-LLM 是更好的选择,FP8 推理的 3 倍加速完全值得投入。如果你团队人手不够,或者模型还在快速迭代中(每周换一次),那 vLLM 更合适,pip install 就能跑,模型切换成本低。另外,如果你的 GPU 是 A100 而不是 H100,TensorRT-LLM 的收益只有 1.5 倍,那 vLLM 的性价比反而更高——反正 A100 也跑不了 FP8。一万网络的这两款方案都有,工程师会根据你的硬件和业务情况给出建议。
Q2:FP8 推理的精度到底够不够用?
我们做了大量测试。在通用 NLP 任务(MMLU 89.4→89.2,HellaSwag 87.1→86.9,GSM8K 84.6→84.1)上,FP8 相比 FP16 的精度损失在 0.1–0.5% 之间,绝大多数用户感知不到。但在代码生成(HumanEval pass@1 从 72.3% 降到 70.8%)和数学推理(MATH 从 51.2% 降到 49.6%)上有 1–2% 的下降。如果你的业务对精度要求极高(比如金融风控、医疗诊断),建议先做 FP8 和 FP16 的 A/B 对比测试,确认误差在可接受范围内再切。
Q3:TensorRT-LLM 的 engine 编译为什么这么慢?
因为 TensorRT-LLM 在编译阶段要做大量的自动化搜索和调优。它会尝试多种 kernel 实现、多种分块策略、多种流水线调度方案,然后选最优的。Llama 70B 的编译涉及 400 多个融合后的 kernel,每个 kernel 都要做自动调优(Auto-Tuning),总耗时 30–60 分钟。如果开启了 FP8 量化,还需要校准数据集(Calibration Dataset),又会多花 10–15 分钟。H100 编译 70B 模型大约 45 分钟,405B 模型大约 2 小时。这个时间目前没有捷径,但编译好的 engine 可以复用,下次换模型才需要重新编译。
Q4:TensorRT-LLM 支持哪些模型架构?
截至 v0.15.0,官方支持的模型包括:Llama/Llama 2/Llama 3、Qwen/Qwen 2.5、DeepSeek-V2、ChatGLM/GLM-4、Baichuan 2、Mistral/Mixtral、Falcon、Gemma、Phi-3、InternLM 2、Yi 1.5 等,基本覆盖了 2025–2026 年主流的开源大模型。对于不在官方列表里的模型,可以通过 TensorRT-LLM 的模型定义接口自己注册,但需要一定的开发工作量。
Q5:FP8 推理需要多大的显存?
FP8 权重是 FP16 的一半。Llama 70B FP16 权重占 140 GB,FP8 只占 70 GB。加上 KV Cache 和中间激活,Llama 70B FP8 在 batch=16 时总显存需求约 110 GB。一张 H100 80G 是跑不下的,需要至少 2 张 H100。但如果我们用 2 卡 H100 跑 Tensor Parallel=2,单卡分配 55 GB 权重 + 10 GB KV Cache,完全够用。Llama 405B FP8 权重 202 GB,需要 4 卡 H100 起步。一万网络的 H100 8 卡整机方案跑 405B FP8 绰绰有余。
Q6:TensorRT-LLM 支持 INT4 量化吗?和 FP8 比哪个好?
支持。INT4 的权重量化比 FP8 更激进,权重只有 FP16 的 1/4,但精度损失也更大。在 Llama 70B 上,INT4 的 MMLU 精度 88.5%(FP8 是 89.2%,FP16 是 89.4%),GSM8K 精度 82.3%(FP8 是 84.1%,FP16 是 84.6%)。INT4 的优势是显存需求更低,可以在更少的 GPU 上跑更大的模型。但 INT4 推理的计算效率不如 FP8——H100 的 INT4 Tensor Core 算力是 1,979 TFLOPS,和 FP8 一样,但 INT4 需要额外的反量化(Dequantize)操作,会降低吞吐。所以如果显存够用,优先选 FP8;显存不够时再考虑 INT4。
Q7:TensorRT-LLM 的 in-flight batching 和 continuous batching 有什么区别?
这两个术语经常被混用,但 TensorRT-LLM 里是有区别的。In-flight batching 指的是一个 batch 内的请求可以动态加入和退出,不用等整个 batch 全部完成。Continuous batching 指的是在推理过程中,可以随时把新到的请求塞进正在运行的 batch 里。in-flight batching 是"同一个 batch 内的动态管理",continuous batching 是"跨 batch 的调度"。TensorRT-LLM 两个都支持,具体用哪个取决于你的调度器配置。大多数场景下推荐用 continuous batching,因为它的 GPU 利用率更高。
Q8:TensorRT-LLM 的编译好的 engine 能跨机器复用吗?
严格来说不能。TensorRT-LLM 的 engine 是绑定 GPU 架构的,H100 编译的 engine 不能用在 A100 上。而且同一型号的 GPU 之间,如果 CUDA 驱动版本、TensorRT-LLM 版本、甚至 GPU 的 SM 版本号不同,engine 都可能不兼容。所以建议在每台机器上单独编译,或者在一台机器上编译后,用完全相同的镜像在其他机器上编译。一万网络的方案是每台机器交付时都单独编译,确保 engine 和硬件完全匹配。
TensorRT-LLM 是 2026 年大模型推理加速的标杆方案,FP8 推理 3 倍加速的实打实摆在那里,不是纸面数据。但它的部署门槛同样真实——编译时间长、精度对齐复杂、版本依赖苛刻。说白了,这玩意就像是 F1 赛车,性能顶级但普通人开不了,需要专业车手和维修团队。一万网络做的就是那个"专业车手"的角色——你买 H100 整机,他们帮你把 engine 编译好、精度对齐好、环境配好,你拿到手就一个 API 地址,直接调。
选 GPU 服务器的核心指标:FP8 支持 > 显存带宽 > 卡间互联带宽 > 显存容量。H100 是目前 FP8 推理最成熟的方案,H200 更强但价格更高,A100 跑 TensorRT-LLM 只能吃图优化的红利,加速幅度有限。一万网络深耕 IDC 行业 19 年(成立于 2007 年),深圳南山总部,拥有增值电信业务经营许可证、国家高新技术企业、专精特新资质。提供从 T4 ¥900/月到 H100 8 卡整机 ¥8–12 万/月的全系列 GPU 服务器租用方案,所有 AI 算力云机型均支持 TensorRT-LLM 预部署。7×24 小时工单 5 分钟响应,硬件故障 10 分钟自动迁移,免费系统盘快照和网站备案。需要部署 TensorRT-LLM 的直接联系一万网络,报模型名称和期望吞吐,工程师会给精准方案和报价。
本文数据来源包括:NVIDIA TensorRT-LLM 官方 GitHub 仓库(github.com/NVIDIA/TensorRT-LLM)技术文档和发布说明、NVIDIA H100 白皮书 FP8 性能数据、MLPerf Inference v4.1 推理基准测试结果、一万网络内部测试环境实测数据、以及 HuggingFace Open LLM Leaderboard 公开评测数据。文中涉及的报价数据来源于一万网络官网(idc10000.net)及 AI 算力云产品页面,时效性截至 2026 年 8 月。部分价格标注为"预估"的条目以实际核算为准,建议联系一万网络获取最新报价。
上一篇:2026 AI大模型推理PagedAttention显存管理优化GPU服务器租用方案——如何让显存跑出双倍推理吞吐
下一篇:2026 AI大模型推理FlashAttention长上下文注意力优化GPU服务器租用方案——128K上下文推理不爆显存的秘密
Copyright © 2013-2020 idc10000.net. All Rights Reserved. 一万网络 科技有限公司 版权所有 深圳市科技有限公司 粤ICP备07026347号
本网站的域名注册业务代理北京新网数码信息技术有限公司的产品