TensorRT for RTXはどうして人気がでないのか?
個人的にかなりイケてると考えているTensorRT for RTX(以降TensorRT-RTX)ですが、今年産まれたばかりのせいか世間的にはまだあまり流行っていない気がしています。(もしかすると知らない人も?)
ここではTensorRT-RTXについて基本的な内容から振り返りつつ、TensorRT-RTXのおすすめの適用先やなぜ流行っていないのか?に思いを巡らしながら、TensorRT-RTXの普及と発展を促していきたいと思います。
TensorRT for RTXとは?
TensorRT-RTXとは、NVIDIA TensorRTから派生した推論ライブラリです。
元になったTensorRTは、NVIDIAにおいて長く開発されてきた推論ライブラリで、現在も多くの方に利用されていると思います。
TensorRTはこれまでに一般向けのGEFORCEからデータセンター向けのGPUまで幅広くサポートしていますが、昨今のAI需要の影響もあってかどちらかというとデータセンター向けの最適化が進んでいるようで、ライブラリ自体も数GBとかなり肥大化しています。
またONNXモデルからTensorRTのENGINEモデルへのコンパイルは、大きなモデルであれば30分以上もかかることもあり、実際に推論処理を開始するまでの準備にかなり時間を要する状態です。
これらはデータセンターやローカルPCなどの単一環境や個人、開発研究などのグループ内などにおいては許容できそうなデメリットですが、ネットを通じて配信し様々なユーザに利用してもらうアプリにおいては、
- ダウンロードに時間を要してしまう巨大なファイルサイズ
(ダウンロード中、もしくはダウンロードする前にやめてしまう可能性) - アプリ処理開始前の長いコンパイル時間
(フリーズした?まだ終わんないの?とアプリ利用を諦めてしまう可能性)
と、ネットで配布するアプリには不向きな作りとなっていました。
こんなこともあろうかと!
と言ったかどうかはわかりませんが、開発されたのがTensorRT-RTXです。
TensorRT-RTXの売りはTensorRTのデメリットの裏返しとなっており、
- ライブラリで200MB以内という小さなフットプリント!
- コンパイルを事前とJITに分割し、コンパイル時間を30秒以内に短縮!
しかも!
- TensorRT譲りの高速推論も健在!
- TensorRTの名前空間を踏襲しているので、TensorRTで作成されたアプリをTensorRT-RTXに移行する場合、コード修正が最小限!
TensorRTの利用を考えているAIアプリ開発者にとっては良いところ取りをしたような売り文句となっています。
本当に?
と思った方は、実際にTensorRTからTensorRT-RTXへ移行した感想を投稿しているので、良かったら見てみてください。
私はC++でしたが、Pythonでも似たようなレベルではないかと想像しています。
TensorRT for RTX のサポート状況
1.2では下記のようになっています。
そもそものターゲットが一般ユーザーPCなので、あまり極端に公式サポート対象が増えていくということはないかもしれません。
対応OS
- Linux:Ubuntu 22.04、Ubuntu 24.04、Rocky Linux 8
- Windows 10、Windows 11
言語
- Python
- C++:gcc、VC++
対応CUDA
- CUDA 12.9、13.0
TensorRT for RTX 1.2での制限事項
メリットばかりを謳ってきましたが、イザと使おうと制限があってウチじゃ使えないじゃん!というのはよくあるので、制限事項もわかる範囲で書いておこうと思います。
1.ONNXにカスタム演算子を含むとコンパイルできない
ONNXモデルに独自のカスタム演算子がある場合、エラーとなりTensorRT-RTXにコンパイルができません。ONNX標準の演算子だけをサポートしているということかと思います。
2.NonMaxSuppression,NonZeroおよびMultinomialレイヤーはサポートされていません。
NMSがサポートされていないのは、結構痛いなーと思ってます。
物体検出の分野では、MITライセンスのYOLOV9の人気が高いと思っていますが、YOLOV9は確か内部にNMSを持っているのでONNXに細工をしてNMSを外さないとTensorRT-RTXにコンパイルできないんじゃないかなと思っています。
ただ、こちらはNMSをサポートして欲しいというIssueも上がっているので、将来的にはサポートされるかもしれません!(わかりません!)
3.プラグインはサポートされません。
プラグイン関連のヘッダは存在しますが、現状TensorRT-RTXではサポートされておらずプラグインレイヤーを作成できません。
わたしはプラグインについて全く知らないので、ごめんなさい、コメントできないです。
ただ、こちらもサポートして欲しいというIssueは投稿されているので、もしかすると将来的にはサポートされるかもしれません!(わかりません!)
4.ONNXからTensorRT-RTXにコンパイルする際、ONNXの精度でコンパイルされます。
これは制限じゃなくて仕様だとは思いますが。
TensorRTのように精度を落としながらONNXからコンパイルする、というようなことがTensorRT-RTXではできません。
事前にONNXを利用したい精度に落とした状態でTensorRT-RTXにコンパイルする必要があります。
TensorRT Model Optimeizer などでONNXの精度を変更するのがおすすめです。
TensorRT-RTXにおすすめ適用先は?
これまでの基本機能や制限、仕様を踏まえ、TensorRT-RTXをおすすめできる適用先を考えてみたいと思います。
1.Windows、Linuxの一般ユーザ向けアプリにTensorRTの組み込みを検討している場合
間違いなくTensorRT-RTXをおすすめできます!
ファイルサイズが小さいので、ダウンロードもですが、ビルド時間も短くなってユーザー、開発者、共にWIN-WINです!
2.アプリやONNXモデルの更新をそこそこの頻度でしたい場合
TensorRT、TensorRT-RTXのバージョンやONNXモデルを更新すると、engineへ再コンパイルする必要がでてきます。
SDKの更新や、ONNXモデルの更新を頻繁に実施したい場合、コンパイル時間が短いTensorRT-RTXをおすすめできます!
3.ゲーマー向けアプリに推論エンジンを組み込みたい場合
TensorRT-RTXをおすすめできます!
最近はAMD Radeonの人気もありますが、SteamのPC環境の統計などを見てみるとNVIDIAのシェアは80%程度あり、ゲーマーは基本的にGeforceを利用していると考えていいと思います。
4.速い推論エンジンをコスパよく使いたい場合
TensorRT-RTXをおすすめできます!
TensorRTで培われてきたたくさんのノウハウを、ほぼそのまま活かすことができ、しかもユーザーにも速く使いやすい形で提供できるのはTensorRT-RTXしかないのではないでしょうか。
ROCmやMIGraphXをもっとQiitaで日常的に見聞きするようになればいいのですが、現状では次点はOpenVINOかDirectMLかなと個人的には思っていたりしましたが、DirectMLはもう開発終了だそうで。
5.WindowsMLの適用を考えている場合
TensorRT-RTXもおすすめできると思います!
作成するAIアプリケーションの種類にも依るところはありますが、TensorRT-RTXへの最適化をすることで、Windowsにおいて手軽に最速に近いAI体験ができるのではないでしょうか。
WindowsMLはベンダーEPを利用するので、一度コンパイルしたモデルを再利用したいところですが、そのあたりもWindowsMLがまるっと解決してくれるのかな?(っていうかしてほしい)
6.もっとたくさんあるだろうと思いましたが
案外思いつかないものですね。意外と普通というかそのまんまの内容でした。
こういうのもあるのでは?というのがあれば、コメントなどを頂けるとうれしいです!
なぜTensorRT-RTXが流行らないのか?
こんなにもメリットしかなさそうなTensorRT-RTXですが、どうして流行っていないのか。
その原因、要因を考えてみます。
1.そもそも知られてない!
COMPUTEX TAIPEI 2025で大々的に発表されたものの、その後、あまりメディアなどに取り上げられていないのではないかな?と思ったりしています。
突出したユニコーンなアプリが出てきたら注目度も増すかもしれませんね。
TensorRT-RTXはWindowsMLのEPにもなっているので、例えばWindows標準アプリのフォトなどのAI消しゴム機能などにTensorRT-RTXが適用されるようになると注目度も増すかな?
2.プラグイン、NMSなどの制限で使いたくても使えない!
YOLOV9-MITな人は一定数いるのではないかなー?と思ったりしています。
プラグインは、ちょっと私が理解してないので、よくわかりません。
3.配信するアプリではそもそもTensorRTを使ってない
そもそもTensorRTがデカすぎたので、それを配布しようなんて狂気の沙汰ですよねー(私はやってましたが)
4.その他
名前がなんかpaypayみたいですよね(ディスってるわけじゃないです)
まとめ
TensorRT-RTXは、WindowsやLinuxなどPCでのTensorRTを代替する推論エンジンとして、とても優秀だと思っていますが、現状は思ったほど話題に上がってきません。
その原因はまだまだ新しいライブラリで認知度が十分でないからかな?と思っています。
もっと多くの方に使ってもらえれば、更にフィードバックも増えて、より良いライブラリになっていくのではないかなー?と思いながら書いています。
たぶんNVIDIAの開発メンバーも、私のポンコツissueにも技術力で対応してくれたように、ある意味issueに飢えているんじゃないかな?とも思ったり。
TensorRTのコードをほぼそのまま使えるので、皆さんもTensorRT-RTX、是非一度使ってみてください!