【テンサーアールティー】

TensorRT とは?

最終更新:
💡 学習済みモデルを、GPUでの推論に向けて最適化する

NVIDIAが提供する、学習済みモデルの推論を最適化して実行するSDK。モデルから対象GPU向けのエンジンを作り、ランタイムで動かす。高速化の効果や互換性は、モデル、実行環境、設定などによって異なる。

📌 このページのポイント
モデルを推論用エンジンへ学習済みモデルONNX形式の例ビルダーGPU向けに最適化推論エンジンランタイムで実行推論の出力新しい入力の予測速度と出力の精度を実環境で確認互換性はGPU・バージョン・設定次第
ONNXを使う流れの概念図。矢印はモデルの変換と、作成したエンジンによる推論の流れを表します。出力には新しい入力も必要です。実測していない速度の数値は表示していません。
ひよこ ひよこ
TensorRTは学習するツール?
ペンギン先生 ペンギン先生
主に学習後の推論に使うよ。公式ガイドでは、学習済みモデルをONNX形式で受け取り、ビルダーでGPU向けエンジンを作る流れを説明している。そのエンジンをランタイムで読み込んで、新しい入力から予測を出すんだ
ひよこ ひよこ
必ず何倍も速くなる?
ペンギン先生 ペンギン先生
モデルやGPU、まとめて処理する入力の数、計算に使う数値形式などで変わるよ。ビルダーはモデルの各層に使うGPUの計算方法を選ぶけれど、何倍になるかは実際の条件で測る必要があるんだ
ひよこ ひよこ
FP16もINT8も同じ量子化?
ペンギン先生 ペンギン先生
FP16は浮動小数点の低精度な形式、INT8は整数の量子化で使う形式だよ。どちらも性能と出力の精度を考えて選ぶ。表せる範囲や丸めの影響が変わるので、出力の変化が小さいと決めつけず、目的に合うか確認しよう
ひよこ ひよこ
作ったエンジンは、別のGPUにも配れる?
ペンギン先生 ペンギン先生
標準では作成時のTensorRTバージョンやGPUの条件に依存するよ。ただし、ビルド時の互換性設定で使える範囲を広げられる場合もある。どこでも動くとも、別GPUには絶対使えないとも言えないので、配布先の条件と設定を確認するんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TensorRT」って出てきたら「NVIDIAのGPUで推論を動かすための最適化・実行ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「TensorRT」 = NVIDIAの推論用SDKの名前
💬 学習済みモデルを推論用エンジンに変換するビルダーと、そのエンジンを動かすランタイムを備えるよ

参考資料

← 用語集にもどる