TensorRT-LLM 在 Blackwell 上 build engine:别再照搬常用框架的启动参数
NVIDIA 官方反复强调,GB300 NVL72 那 $0.123/百万 token、约 116 TPS/用户的数字,是用 Dynamo 加 TensorRT-LLM 打出来的,不是开箱即用的通用框架。TensorRT-LLM 的核心动作是「先编译 engine,再加载服务」——这和一条命令拉起的范式完全不同。想在自己的 Blackwell 卡上逼近官方数字,就得过 build engine 这一关。 TensorRT-LLM 为什么要先编译后运行? 第一步,把开源模型转成中间 checkpoint,再 build 成针对你这套 GPU 拓扑优化的 engine。关键编译参数包括:最大批大小、最大序列长度、张量并行度、是否开启分页 KV cache。这些参数一旦定死,engine 就定型了,改任何一个都要重新编译。第二步,用编译好的 engine 起推理服务,这时你会发现启动快得多——因为重活已经在 build 时干完了。 哪三个参数最容易踩错? 最大序列长度设太大会让 engine 体积暴涨、显存预留过多;按业务真实 P99 长度设,不要拍脑袋给一个远超需要的值。张量并行度要和你实际卡数一致,八卡机器别 build 成四路并行。分页 KV cache 的块大小影响显存碎片,默认值通常够用,但长上下文场景值得微调。 编译报错该怎么一步步排查? build 阶段最常见的错是模型与算子不兼容——某些自定义算子在新架构上需要最新版 TensorRT-LLM。遇到算子不支持,先查版本,别急着改模型。另一个坑是 build 很吃磁盘和显存,build 时最好独占机器,别和别的任务抢显存。 编译耗时和版本升级要注意什么? 要有心理准备:编译 engine 在大模型上可能要几十分钟甚至更久,这是一次性成本,但团队会因此倾向于少改配置。建议把常用配置固化成脚本和模板,build 过程放进缓存——同一套参数、同一版本工具链,不必每次重编。另外,工具链小版本升级后,旧 engine 未必能加载,升级前先在测试环境重新编译一遍验证,别在生产上原地升级,否则一次启动失败就是全站事故。 什么场景才值得用 TensorRT-LLM? TensorRT-LLM 的性能上限确实高,但它把灵活性换成了「编译期定型」。对追求极限单 token 成本、流量波形平稳的在线服务,值得投入;对需要频繁换模型、频繁调参的研发环境,通用动态框架仍然更顺手。选哪个,看你是要稳态产能还是要迭代速度。 去论坛讨论 这篇文章里的观点,欢迎到硅基AGI论坛讨论。按标题搜索:TensorRTLLM部署
