跑过推理的人都知道,模型训完只是第一步,真正烧钱的是部署。同样的一个 7B Qwen 对话模型,裸 PyTorch 跑推理,一张 A100 40G 撑死了扛 50 QPS;换成 TensorRT FP16 优化,轻松干到 120 QPS 以上。换句话说,你原来要租 3 张卡,现在 1 张就够——月租直接从 ¥8400 砍到 ¥2800。这就是 ONNX + TensorRT 这条技术栈的硬道理。
本文核心要点:
ONNX(Open Neural Network Exchange)说白了就是你模型的一种"通用交换格式"。不管你是用 PyTorch 训的、TensorFlow 训的、还是用 JAX 训的,只要导出成 ONNX 格式,就可以在支持 ONNX 的运行环境里跑推理。这对企业来说太重要了——你不可能永远只用一家框架,也不可能要求所有下游系统都装 PyTorch。ONNX 把模型从框架里"解放"出来,变成一个纯计算图描述文件,任何支持 ONNX Runtime 的推理引擎都能加载。
2026 年的 ONNX 生态已经非常成熟。ONNX Runtime 官方支持了 CPU、GPU、TensorRT、OpenVINO、CoreML 多个执行后端,你能根据部署设备的型号自由切换。而且 ONNX 的计算图描述比原始框架更精简——它做了算子融合、常量折叠、Dead Code Elimination 这些基础优化,光是从 PyTorch 导出到 ONNX,不跑任何加速,推理速度就已经能快 10–20%。
但 ONNX 的优化是有上限的。它做的是"通用优化",不会为特定 GPU 架构做极致调优。这就引出了 TensorRT。
TensorRT 是 NVIDIA 官方的推理加速 SDK。它跟 ONNX 不一样——ONNX 是"什么硬件都能跑",TensorRT 是"只跑 NVIDIA 显卡,但跑得飞起"。它的核心优化手段包括:FP16/INT8/INT4 量化(把模型权重从 FP32 压缩到更低精度,显存占用砍半,速度翻倍)、层融合(把多个连续算子合并成一个 Kernel,减少 GPU 启动开销)、动态张量内存管理(减少显存碎片,能塞进更大 batch)、多流执行(并行跑多个推理请求,提升吞吐量)。
实测数据很直接:一个 ResNet-50 模型,PyTorch 原生推理延迟 8.2ms,TensorRT FP16 优化后降到 2.1ms,直接快 4 倍。到了大模型时代,Transformer 结构的 Decoder 阶段对显存带宽敏感,TensorRT 的 FlashAttention 优化、KV Cache 管理、PagedAttention 集成,让大模型推理的 throughput 提升 2–3 倍是非常常见的。
ONNX 是"转换桥",TensorRT 是"执行引擎"。标准流程是:你先把 PyTorch 模型导成 ONNX,然后用 TensorRT 的 ONNX Parser 把 ONNX 模型解析成 TensorRT 的 Network Definition,再调用 TensorRT Builder 构建一个针对目标 GPU 型号的 Engine 文件(.plan/.engine),最后在部署时加载这个 Engine 跑推理。这个 Engine 文件是"硬编码"了你的 GPU 型号、CUDA 版本、TensorRT 版本、精度策略的——换一张不同型号的卡,Engine 就得重新构建。这也是为什么租 GPU 服务器时,选对卡型、让服务商帮你预装好对应版本的 CUDA 和 TensorRT,能省大量时间。
一条标准的转换流水线长这样:PyTorch Model(.pt/.pth)→ torch.onnx.export() 导出 ONNX(.onnx)→ ONNX Simplifier 简化计算图 → TensorRT ONNX Parser 解析 → TensorRT Builder 构建 Engine(.engine/.plan)→ 加载 Engine 推理。
每一步都有坑。导出 ONNX 时,PyTorch 的动态控制流(if/for)需要 trace 或 script 模式处理,否则计算图会走样。ONNX Simplifier 能去掉一些冗余节点(比如 Cast 来 Cast 去的),但不建议用默认参数,有时候会把需要的算子也删掉。TensorRT 构建 Engine 是最耗时的环节——一张 A100 80G 构建一个 7B 模型的 FP16 Engine,可能要 10–20 分钟,而且显存不够的话直接 OOM 挂掉。
| 精度策略 | 显存节省 | 推理加速 | 精度损失 | 适用场景 |
|---|---|---|---|---|
| FP32(基准) | — | 1× | 无 | 精度绝对敏感场景(金融/医疗推理) |
| FP16(TensorRT) | 约 50% | 2–3× | 极小(可忽略) | 大模型推理首选,日常对话场景 |
| INT8 量化 | 约 75% | 3–4× | 轻微(需校准集) | 高吞吐场景,钞能力有限但 QPS 要求高 |
| INT4 量化 | 约 87% | 4–5× | 中等(70B 以上可感知) | 超大模型在有限显存上跑推理 |
| FP8(H100 专属) | 约 50% | 3–6× | 极小 | H100 推理最优策略,精度与速度兼得 |
说实话,2026 年大多数生产场景根本不需要跑 FP32。7B 模型跑 FP16,用户感知不到质量差异,但显存直接从 14GB 降到 7GB,T4 这种 16G 卡都能跑得动。INT8 和 INT4 需要校准集,校准集选不好精度会崩,我一般建议:先跑 FP16 上线,QPS 不够再上 INT8,别一上来就压 INT4。
| 模型规模 | FP16 显存 | 推荐卡型 | TensorRT 后 QPS | 月租参考(单卡) |
|---|---|---|---|---|
| 1.5B–3B | 3–6 GB | T4 16G | 500–800 | ¥900/月(官网价) |
| 7B–13B | 7–14 GB | T4 / V100S / A100 | 120–250 | T4 ¥900 / V100S ¥1500 / A100 40G ¥2800(官网价) |
| 30B–34B | 20–30 GB | A100 40G / A100 80G | 60–120 | A100 40G ¥2800 / 80G 约¥4500–6500(预估) |
| 70B–72B | 40–50 GB | A100 80G / H100 80G | 30–60 | A100 80G 约¥4500–6500(预估) / H100 MIG ¥1.2–1.8万起(预估) |
| 130B–180B | 70–100 GB | H100 80G / 2×A100 | 15–30 | H100 整机月¥8–12万(预估)/ A100 8卡整机月¥2.5–4万(预估) |
| 405B(Llama 3) | 200+ GB | 4×H100 或 8×A100 | 8–15 | H100 8卡整机月¥8–12万(预估) |
注意看这张表——7B 模型用 T4 跑 TensorRT 就能做到 120 QPS 以上,月租只要 ¥900。很多团队一来就上 A100 跑 7B 模型,说实话是真浪费。7B 上 T4 完全够用,把省下来的钱拿去租更多卡做多路并发,综合性价比更高。
ONNX 导出这一步看着简单,但坑特别多。第一个是算子兼容性问题——PyTorch 的 torch.onnx.export 支持大部分常见算子,但像 torch.einsum、torch.topk(动态K)、torch.bucketize、F.upsample 这些,导出来可能被替换成一组复杂算子,影响性能。解决方法是:导出前用 torch.onnx.utils.check_model 验证 ONNX 图的有效性,再用 onnxruntime 跑一次推理看看结果对不对。
第二个坑是动态 shape。大模型推理的输入长度是动态的,但 ONNX 导出时默认把输入 shape 固定住。如果你导出时 batch=1、seq_len=512,那部署时只能跑 512 Token 以内的输入。要支持动态输入,必须在 torch.onnx.export 里设置 dynamic_axes 参数,把 batch、seq_len 都设成动态轴。设了动态轴之后,ONNX 图里会多出一些 Shape 和 Gather 节点,略微增加推理开销,但这是必须的代价。
第三个坑是 ONNX Simplifier 的过度优化。用 onnxsim 简化计算图时,默认会把一些看起来冗余但实际上有用的节点删掉——比如某些 Identity 节点、Cast 节点的中间转换。简化后的 ONNX 图在 TensorRT 里解析时可能报错。我的建议是:先跑一次默认简化,TensorRT 能解析就过,不能解析就调整 simplifier 的跳过列表。
TensorRT-LLM 是 NVIDIA 在 2024 年推出的针对大模型推理的专用框架,到 2026 年已经非常成熟了。它不是简单的 TensorRT 封装,而是在 TensorRT 基础上加了专门针对 Transformer 结构优化:PagedAttention 做 KV Cache 显存管理、Inflight Batching 做动态批处理、SmoothQuant 做量化感知训练、FP8 做 Transformer Engine 加速。如果你跑的是 ChatGLM、Qwen、Llama、Mistral 这些主流大模型,TensorRT-LLM 直接内置了对应的模型定义和权重转换脚本,你不需要手写模型代码。
跟裸 TensorRT 相比,TensorRT-LLM 的优势在于"模型即插即用"——你下载一个 Llama 3 的权重,跑一下 convert_checkpoint.py 转成 TensorRT-LLM 格式,再用 trtllm-build 构建 Engine,半小时之内就能跑起来。裸 TensorRT 需要你手写 ONNX Parser 的 Network Definition,工作量差了一个数量级。一万网络的 GPU 服务器预装了 TensorRT-LLM 和 CUDA 12.x,工程师 1 对 1 帮你做模型适配和 Engine 构建,到手就能跑。
| 模型 | GPU | PyTorch 原生 | ONNX Runtime | TensorRT FP16 | TensorRT-LLM | FP8(H100 专属) |
|---|---|---|---|---|---|---|
| Qwen 7B | A100 40G | 50 QPS | 65 QPS | 120 QPS | 150 QPS | — |
| Llama 3 70B | A100 80G | 8 QPS | 12 QPS | 25 QPS | 35 QPS | — |
| Llama 3 70B | H100 80G | 15 QPS | 22 QPS | 45 QPS | 60 QPS | 80 QPS |
| ChatGLM4 9B | A100 40G | 40 QPS | 55 QPS | 100 QPS | 130 QPS | — |
数据很直白:PyTorch 原生到 ONNX Runtime 提升约 30%,再到 TensorRT FP16 提升 2–3 倍,再到 TensorRT-LLM 再提升 20–30%。H100 的 FP8 在 70B 模型上比 TensorRT-LLM 的 FP16 又快 30% 左右。但注意,FP8 只有 H100 支持,A100 用户老老实实跑 FP16 就够用了。
模型转换完、Engine 构建好,不等于部署就完事了。生产环境里还有几个必须考虑的问题。第一个是 Engine 热加载——你不能每次更新模型都重启服务。TensorRT-LLM 支持动态加载 Engine,你可以在不重启服务的情况下切换到新的 Engine 文件。但注意,切 Engine 时显存会短暂双倍占用,需要预留余量。一万网络的 GPU 服务器标配大内存,切换 Engine 时不会卡住。
第二个是推理服务的弹性扩缩容。线上流量有高峰有低谷,推理服务不能一直按峰值配置跑。Kubernetes 的 HPA(Horizontal Pod Autoscaler)可以根据 CPU/GPU 利用率自动扩缩推理 Pod,配合 Cluster Autoscaler 自动增删 GPU 节点。一万网络的 AI 算力云支持按小时弹性计费,扩上去的实例用完就释放,不浪费钱。白天高峰用裸金属 A100 保 QPS,凌晨低谷用弹性切片兜底,这就是最典型的弹性部署方案。
第三个是模型版本管理。线上推理服务可能同时跑多个版本的模型做 A/B 测试,或者灰度发布新版模型。TensorRT-LLM 支持多 Engine 并行加载,每个 Engine 对应一个模型版本,通过路由策略分配到不同的版本。一万网络的 GPU 定制方案支持多盘 NVMe 存储,可以同时存多个版本的 Engine 文件,切换不需要重新下载。
FP8 是 H100 的专属精度格式,在 Transformer Engine 的硬件加速下,FP8 训练和推理的速度比 FP16 快 50% 以上。但 FP8 不是万能的。首先,FP8 的动态范围比 FP16 窄得多——FP16 的动态范围约 10^5,FP8 只有约 10^2。模型权重从 FP16 转到 FP8 时,如果权重分布不均匀,精度损失会比 FP16 到 INT8 还大。其次,FP8 的量化需要校准集,而且对校准集的质量要求比 INT8 更高——校准集选不好,精度直接崩。
那什么时候该上 FP8?第一,你的模型在 70B 以上,FP16 显存放不下但又不想上 INT8。第二,你的推理延迟要求极高(比如实时语音对话,< 100ms),FP8 能省出延迟余量。第三,你的场景对精度不敏感(比如内容推荐、摘要生成)。如果以上三点都不满足,老老实实跑 FP16 就行。一万网络的 H100 方案默认预装 CUDA 12.x 和 TensorRT,支持 FP8 开箱即用,工程师可以帮你做 FP8 校准和验证。
| 场景 | 推荐卡型 | 月租(预估) | 核心配置 | TensorRT 加速收益 |
|---|---|---|---|---|
| 轻量级在线推理(1.5B–7B) | T4 / RTX3090 | ¥900–1750 | 8核64G / 200G SSD / 100M BGP | FP16 加速 2–3×,INT8 加速 3–4× |
| 中规模对话/内容生成(7B–13B) | V100S / A100 40G | ¥1500–2800 | 8核64G / 200G+200G / 100M BGP | FP16 加速 2–3×,支持更大 batch |
| 大规模推理服务(30B–70B) | A100 80G / H100 80G | ¥4500–12000 | 16核128G / 1T NVMe / 200M BGP | FP8 加速 3–6×(H100),显存省 50% |
| 千亿参数推理集群 | 8×A100 / 8×H100 | ¥2.5万(预估)–12万 | 双路旗舰CPU/1–2T内存/NVMe阵列/10G | TensorRT 并行推理 + 多卡负载均衡 |
很多人选推理卡只看显存大小——"显存能塞下模型就行"。但实际跑起来,大模型推理的 Decode 阶段是"带宽饥饿型"任务——每生成一个 Token,要把整个模型权重从 HBM 读到计算单元里做一次前向。A100 80G 的 HBM2e 带宽是 2 TB/s,H100 80G 的 HBM3 带宽是 3.35 TB/s,差了 67%。这意味着同样的模型,H100 推理的 Token 生成速度比 A100 快 50% 以上。想省钱的团队,如果 QPS 要求不高,A100 足够了;但如果要做高并发实时对话,H100 多出来的那点租金,换来的吞吐量提升是划算的。
关键词维度:Tesla T4 16GB | 8 核 64G | 200G SSD | 100M BGP 独享 | ¥900/月 | TensorRT 预装 | 开机即用
很多人瞧不上 T4,觉得它老了。但说实话,在 2026 年的推理市场,T4 仍然是部署 1.5B–7B 模型最划算的卡,没有之一。一张 T4 跑 TensorRT FP16 优化的 7B Qwen,QPS 能到 120–150,延迟 30–50ms,完全够常规对话场景用。一万网络的人工定制 GPU 方案,T4 整机月付只要 ¥900,含 100M BGP 独享带宽、工程师帮你装好 CUDA 12.x + TensorRT + PyTorch,到手就能跑。8 核 64G 的 CPU 配 200G SSD,跑个 FastAPI 或者 vLLM 后端完全够用。年付还有 8 折,折下来一个月才 ¥720。
适配场景:中小型 AI 对话产品、客服机器人、代码补全、RAG 检索增强生成。只要是 7B 以下的模型,T4 就是最优解。别听人忽悠必须上 A100,先算算你每天的推理量撑不撑得满一张 T4 的 120 QPS。
关键词维度:A100 40GB HBM2e | 6912 CUDA Cores | 8 核 64G 起 | 200G+200G SSD | 100M BGP | ¥2800/月 | 支持 TF32/FP16/INT8
A100 40G 是当前大模型推理的"黄金配置"。13B 模型跑 FP16 大概 14GB 显存,还能留 26GB 做 KV Cache 和 batch,实际 QPS 能做到 200+。30B 模型跑 FP16 大概 30GB,也能塞进显存。一万网络的人工定制 A100 40G,月付 ¥2800,比云厂商的按量实例便宜一大截——云厂商同规格月付至少 ¥5000 往上。而且一万网络承诺全新品牌卡、SN 可追溯,不存在二手拆机卡的风险。如果你需要更高配置,还能升级到 16 核 CPU、128G 内存、1T 硬盘(额外加 ¥400/¥600/¥300)。
适配场景:企业级对话 AI、内容生成平台、代码助手、多模态模型推理。如果你的模型在 13B–30B 之间,A100 40G 是性价比最高的选择。
关键词维度:8×H100 80GB | 640GB HBM3 | NVSwitch 900GB/s | 双 Xeon 8480+ | 2TB DDR5 | 8×15.36TB NVMe | 月¥8–12万(预估)
70B 以上的模型,单卡已经放不下了,必须上多卡张量并行。H100 的 NVLink+NVSwitch 900GB/s 互联带宽,让多卡间的通信几乎不成为瓶颈。再加上 H100 的 Transformer Engine 和 FP8 精度,推理 70B 模型的速度比 A100 快 2–3 倍。一万网络在洛杉矶和新加坡节点提供 H100 8 卡整机,新加坡节点走 CN2 GIA 回国延迟 50–80ms,非常适合国内用户做海外推理部署。整机月付 ¥8–12 万,年付 85 折。如果预算有限,也可以选 H100 MIG 切片,单份月付 ¥1.2–1.8 万起,按小时弹性计费,临时测试不用花整月钱。
适配场景:Llama 3 405B 推理、千亿参数模型、高并发实时翻译/写作、科研计算。
关键词维度:V100S PCIe 32GB | 5120 CUDA Cores | 32G HBM2 | 8 核 64G | 200G+200G SSD | 100M BGP | ¥1500/月 | 年付 8 折
V100S 在 2026 年已经不是最新卡了,但性价比依然能打。32GB 显存可以跑 13B 模型的 FP16 推理(约 14GB),还能剩 18GB 做 KV Cache 和 batch。虽然比 A100 的算力差一截,但 ¥1500 的月租只有 A100 的一半。如果你预算有限,模型在 13B 以下,V100S 就是折中的最优解。一万网络的 V100S 方案同样享受年付 8 折,折后 ¥1200/月,工程师 1 对 1 部署 CUDA 全栈。注意 V100S 不支持 MIG 切片,但支持 MPS 多进程共享,跑多模型推理混部也可以。
适配场景:预算敏感的中型 AI 团队、13B 以下模型推理、小规模训练、教学科研。
PyTorch 模型导出 ONNX 时,默认 batch size 是固定的。如果你导出时设了 batch=1,部署时想跑 batch=4 或者 dynamic batching,就必须在导出时设 dynamic_axes 参数。很多人没设这个,导出后只能一次跑一个请求,QPS 直接掉到地板。怎么避?导出时明确指定 input 和 output 的 dynamic axes,让 ONNX 图支持可变 batch 和可变序列长度。
TensorRT 构建的 Engine 文件是针对特定 GPU 架构、CUDA 版本、TensorRT 版本编译的。你在 A100 上 build 的 Engine,换到 V100 上直接报错。同一个型号的卡,不同驱动版本也不兼容。怎么避?要么在部署服务器上 build Engine,要么用 TensorRT 的兼容性模式(但会损失性能)。一万网络的方案是工程师直接在生产服务器上 build,保证一次过。
INT8 量化需要校准集来统计激活值的分布。如果校准集跟实际生产数据分布差异大,量化后的模型精度会显著下降——比如对话模型校准集用英文,上线跑中文,效果崩得厉害。怎么避?校准集必须来自真实生产数据,至少 500–1000 条,覆盖各种输入长度和内容类型。跑完量化后,用验证集逐层对比 FP32 和 INT8 的输出差异,差异超过 1% 就要重新校准。
TensorRT 推理时,如果多个请求并发,显存碎片会越来越严重,跑着跑着突然 OOM。很多人在测试阶段只跑单请求测试,发现不了这个问题。怎么避?在生产环境里用 vLLM 或者 TensorRT-LLM 这种带显存管理框架的推理引擎,它们会做 PagedAttention 和 KV Cache 的显存池化管理,大幅减少碎片。一万网络的 GPU 服务器预装了 TensorRT-LLM,开机就能跑优化后的推理。
INT4 虽然显存省 87%,但 70B 以上模型在 INT4 下的精度损失已经很可观了——某些 benchmark 上能掉 5–10%。如果产品对输出质量敏感(比如医疗、法律文书生成),INT4 绝对不能碰。怎么避?7B 用 FP16 足够,30B 以上再考虑 INT8,INT4 只在显存实在不够时做最后一搏。
很多人觉得推理只靠 GPU,CPU 随便配就行。错了。大模型推理的 Prefill 阶段(一次性处理输入 Token)需要 CPU 做 Tokenizer 编码、Attention Mask 计算、位置编码——这些在 CPU 上跑慢了,GPU 也要等。怎么避?CPU 至少 8 核,内存至少 64G。一万网络的 T4 方案标配 8 核 64G,A100 方案可选 16 核 128G,就是为这个。
Q1:ONNX 和 TensorRT 是什么关系?我能不能只用其中一个?
A1:你可以只用 ONNX Runtime 跑推理,也能得到 10–20% 的加速;但要想榨干 NVIDIA 显卡的性能,必须上 TensorRT。ONNX 是"转换器",TensorRT 是"加速引擎"。最佳实践是:PyTorch 模型 → ONNX 格式 → TensorRT Engine → 部署。如果你只用 ONNX Runtime 跑 GPU 推理,性能大约是 TensorRT 的 50–70%。
Q2:TensorRT 支持所有 PyTorch 算子吗?
A2:不支持,这是一个大坑。TensorRT 的 ONNX Parser 支持约 90% 的常见算子,但一些高级算子(比如 torch.einsum、torch.topk 的动态 K 版本、自定义 CUDA 扩展)需要手动实现 Plugin。导出 ONNX 时如果遇到不支持的算子,TensorRT 会报错,你需要用 Plugin 或者回退到 ONNX Runtime。建议在模型设计阶段就考虑 TensorRT 兼容性,避免为了部署改模型结构。
Q3:7B 模型用 T4 跑 TensorRT,够用吗?
A3:完全够。7B 模型 FP16 显存约 7GB,T4 有 16GB,留了 9GB 做 KV Cache 和 batch。实测 T4 + TensorRT FP16 跑 7B Qwen,QPS 120–150,延迟 30–50ms,完全满足中小规模的对话场景。当然,如果你有上万的并发请求,那得上 A100 甚至多卡。但起步阶段,T4 就是最划算的选择。
Q4:INT8 量化的模型推理效果会不会变差?
A4:取决于校准集选得好不好。校准集如果能覆盖真实生产数据的分布,INT8 的精度损失绝大多数场景下不可感知(< 1%)。但如果校准集偏了,或者模型本身对精度非常敏感(比如数学推理、代码生成),INT8 的误差会被放大。我的建议是:先跑 FP16 上线,观察实际 QPS 和延迟,真的扛不住了再上 INT8。不要为了省显存一上来就 INT8,省下的钱可能不够修 bug 的。
Q5:TensorRT 的 Engine 要多久 build 一次?
A5:只要你的 GPU 型号、CUDA 版本、TensorRT 版本、模型权重任何一个变了,Engine 就得重新 build。一个 7B 模型的 FP16 Engine 在 A100 上 build 大概 10–15 分钟,70B 模型可能要 1–2 小时。所以生产环境里不要轻易更新驱动版本,也不要跨卡迁移。一万网络的方案是工程师在部署时一次性 build 好,后续维护不需要你再操心。
Q6:ONNX 导出时遇到算子不支持怎么办?
A6:这是 ONNX 转换里最常见的坑。PyTorch 有些算子 ONNX 不支持(比如 torch.einsum、torch.bucketize、某些 F.xxx 函数),导出时会报错。解决办法有几种:一是用 torch.onnx.export 的 operator_export_type 参数,把不支持的算子注册为 Fallback;二是改模型代码,把不支持的算子替换成 ONNX 支持的等价实现(比如把 einsum 拆成多个 matmul + transpose);三是写自定义 ONNX 算子。我建议优先走第二条路——改模型,这是最稳妥的。一万网络的工程师在部署时也会帮你做这些适配工作。
Q7:TensorRT 在多卡场景下怎么用?
A7:TensorRT 原生支持多卡并行推理,但需要你自己做模型切分。最常用的方式是张量并行(Tensor Parallelism)——把一层网络切到多张卡上,每张卡算一部分,最后聚合。TensorRT-LLM 框架内置了张量并行支持,你只需要指定 tp_size=2/4/8,框架会自动帮你切分。多卡推理的瓶颈在卡间通信——NVLink 最快(H100 900GB/s),PCIe 4.0 次之(64GB/s),PCIe 3.0 最慢(32GB/s)。选多卡方案时,一定要确认卡间互联方式。一万网络的 8 卡整机方案全部采用 NVLink+NVSwitch 全互连,多卡通信延迟最低。
Q8:租 GPU 服务器跑推理,选择月付还是年付更划算?
A8:如果你确定未来 6–12 个月推理量不会大幅缩减,年付肯定更划算。一万网络 GPU 定制年付 8 折,相当于付 10 个月用 12 个月。以 T4 月付 ¥900 为例,年付 8 折后 ¥720/月,一年省 ¥2160。但如果你只是临时测试模型效果,或者推理量还不稳定,建议先月付或者按小时租。一万网络的 H100 MIG 和 AI 算力云都支持按小时弹性计费,临时验证 pipeline 的成本极低。别为了年付折扣签了长合同,结果模型效果不好项目砍了,反而亏更多。
Q9:不同 GPU 型号跑 TensorRT 的收益差距有多大?
A9:差距非常大。T4 没有 Tensor Core,跑 TensorRT 的 FP16 加速主要靠层融合和算子优化,大概 2 倍左右。A100 有第三代 Tensor Core,支持 TF32 和 FP16 自动混合精度,TensorRT 加速 2–3 倍。H100 有第四代 Tensor Core 加 Transformer Engine,FP8 推理比 FP16 快 50% 以上,TensorRT 整体加速 3–6 倍。但注意,H100 一个月租抵得上 3–4 张 A100,如果你的模型 7B 就能跑,T4 的 2 倍加速已经够用,没必要上 H100。把 H100 留给 70B 以上的模型才是正解。
Q10:ONNX + TensorRT 这条技术栈的学习成本高吗?
A10:堆栈的深度确实不浅。你需要掌握:PyTorch 模型导出 ONNX 的配置(dynamic_axes、算子兼容性检查)、ONNX Simplifier 的参数调优、TensorRT 的 ONNX Parser 和 Builder 的 API 调用、以及 TensorRT-LLM 的模型适配脚本。一个没有经验的工程师,从零到跑通一个 7B 模型的 TensorRT 推理,大概需要 2–3 周。但如果你租一万网络的 GPU 服务器,他们的工程师会帮你做环境部署和 Engine 构建,你只需要把模型权重交过去就行。说白了,专业的事交给专业的人,你省下的时间够写好几个功能模块了。
Q11:INT8 和 FP16 的混合精度部署怎么配置?
A11:TensorRT 支持在同一个 Engine 里混合使用不同精度。做法是在构建 Engine 时,通过 per-tensor 精度策略,对不同的层设定不同的精度。比如,对 Attention 层用 FP16(精度敏感),对 FFN 层用 INT8(对精度不敏感)。TensorRT 的 INT8 校准器在校准过程中会逐层分析激活值分布,自动为每层选择合适的精度。但 per-tensor 精度配置需要手动写配置文件,门槛较高。对大多数场景来说,全 FP16 已经足够,没必要折腾混合精度。除非你显存实在不够了,再考虑把部分层降到 INT8。
Q12:TensorRT 的 Dynamic Shape 和 Static Shape 选哪个?
A12:Static Shape 性能更好,但灵活性差。Dynamic Shape 灵活,但性能有轻微损失。如果你的模型输入长度是固定的(比如 OCR 模型固定输入 512×512),用 Static Shape,TensorRT 能做更多编译期优化,推理速度比 Dynamic Shape 快 5–10%。如果你的模型输入长度是动态的(比如对话模型变长输入),必须用 Dynamic Shape,否则长度超出会报错。TensorRT-LLM 默认使用 Dynamic Shape,但通过优化显存管理把性能损失降到了 1–2% 以内,几乎可以忽略。
Q13:怎么判断我的模型适不适合做 ONNX + TensorRT 转换?
A13:三步判断法。第一步,看模型框架——PyTorch 和 TensorFlow 的模型转换最成熟,JAX 的 ONNX 导出支持还在完善中,可能遇到算子兼容性问题。第二步,看模型结构——标准 Transformer 结构的模型(Llama、Qwen、ChatGLM、Mistral 等)转换最顺利,因为 TensorRT-LLM 内置了这些模型的定义。非标准结构(比如有自定义算子、有复杂控制流)的模型,需要手动写 Plugin,转换成本高。第三步,看精度要求——如果模型对精度极其敏感(比如金融风控模型用 FP32 训练、FP16 推理精度就掉),那 ONNX 的 FP16 量化可能不适合,建议先做精度验证再决定。一万网络提供免费的环境测试,你可以先租一台 T4 试跑一下,验证完再决定长期方案。
Q14:TensorRT 构建 Engine 时显存不够怎么办?
A14:构建 Engine 时,TensorRT Builder 需要额外显存来编译和优化计算图。一个 7B 模型的 FP16 Engine 在 A100 40G 上 build 需要约 20GB 显存(模型本身 7GB + 编译缓存 13GB),A100 40G 跑得动。但 70B 模型的 FP16 Engine 在 A100 80G 上 build 需要约 70GB 显存(模型 50GB + 编译缓存 20GB),A100 80G 刚好够。如果显存不够,有两种办法:一是用更小的 batch size 构建;二是用 TensorRT 的 build 时显存优化参数(--builderOptimizationLevel)。如果还不行,就只能换更大显存的卡或者减模型精度。一万网络的 H100 80G 方案有 80GB 显存,build 70B 模型的 Engine 完全没问题。
Q15:我的模型已经跑在 ONNX Runtime 上了,值得再花时间迁移到 TensorRT 吗?
A15:值不值得,看你的推理量有多大。如果一天只有几万次推理,ONNX Runtime 的 10–20% 加速已经够用,迁移到 TensorRT 的收益不大。但如果你一天有几百万次甚至上亿次推理,TensorRT 那 2–3 倍的加速,意味着你需要的 GPU 数量可以减少一半甚至更多。以 T4 月租 ¥900 算,迁移后省下 1 张卡,一年就是 ¥10800。花一周时间做迁移,换来一年一万多的租金节省,你觉得值不值?一万网络的工程师可以直接帮你做迁移,你只需要提供模型权重,剩下的他们搞定。
ONNX + TensorRT 这条技术栈,能给大模型推理带来 2–5 倍的吞吐提升,直接减少 GPU 租用量和租金。但转换部署不是一键完成的——每个环节都有坑,从 ONNX 导出时的动态轴配置,到 TensorRT Engine 的跨卡不兼容,再到量化精度校准,每一步都需要仔细处理。
选 GPU 租用时,核心原则是"按模型规模定卡型,按推理量定配置":7B 以下用 T4(¥900/月),13B–30B 用 A100 40G(¥2800/月),70B 以上用 A100 80G 或 H100 多卡集群。一万网络在深圳南山的自营机柜,提供从 T4 到 H100 的全系列 GPU 定制方案,工程师 1 对 1 部署 CUDA 全栈,支持年付 8 折(GPU 定制)和年付 85 折(H100),裸金属海外还有买 1 送 1 优惠。记住:推理部署的成本大头从来不是租卡的钱,而是模型跑不起来、跑得慢、跑着跑着 OOM 的试错成本——选一个能帮你把环境配好、把 TensorRT 调好的服务商,比省那几百块月租重要得多。ONNX 和 TensorRT 的组合拳打好了,一张 T4 能干三张 T4 的活,这才是 2026 年做推理部署最应该学会的省钱技能。
本文配置与价格参考自一万网络官网公开页面(人工定制 GPU、AI 算力云、H100 方案、裸金属页),具体以签约时最新报价与合同为准。
补充说明:本文提及的 TensorRT 和 ONNX Runtime 均为 NVIDIA 和 Linux Foundation 的开放技术,一万网络提供相关技术栈的部署支持,不拥有上述技术的知识产权。
Copyright © 2013-2020 idc10000.net. All Rights Reserved. 一万网络 科技有限公司 版权所有 深圳市科技有限公司 粤ICP备07026347号
本网站的域名注册业务代理北京新网数码信息技术有限公司的产品