TensorRT
TensorRTがNVIDIA GPU向けにディープラーニングモデルを最適化する仕組みを解説します。低レイテンシかつ高速な推論を実現するため、Ultralytics YOLO26をTensorRTにエクスポートする方法を学びます。
TensorRTは、NVIDIAが開発した高性能なディープラーニング推論ソフトウェア開発キット(SDK)です。ディープラーニングアプリケーション向けに、低い推論レイテンシと高いスループットを実現しながら、ニューラルネットワークモデルをデプロイ向けに最適化するよう設計されています。TensorRTは最適化コンパイラーとして機能し、PyTorchやTensorFlowなどの主要なフレームワークで学習されたネットワークを受け取り、NVIDIA GPU上で効率的に実行できるよう再構成します。この機能は、速度と効率が最優先される本番環境で複雑なAIモデルを実行するうえで不可欠です。
TensorRTによるモデルの最適化方法#
TensorRTの中核機能は、学習済みニューラルネットワークを、対象ハードウェア向けに特別にチューニングされた最適化済みの「エンジン」に変換することです。これを、いくつかの高度な技術によって実現します。
- レイヤーフュージョン: オプティマイザーは、ニューラルネットワークの複数のレイヤーを単一のカーネルに統合し、メモリアクセスのオーバーヘッドを削減して実行速度を向上させます。
- 精度キャリブレーション: TensorRTは、混合精度(FP16)や整数量子化(INT8)など、低精度モードをサポートしています。数値の表現に使用するビット数を減らすことで、多くの場合、精度をほとんど損なわずに算術演算を大幅に高速化し、メモリ使用量を削減できます。これはモデル量子化の一種です。
- カーネルの自動チューニング: ソフトウェアは、使用されている特定のGPUアーキテクチャに最適なデータレイヤーとアルゴリズムを自動的に選択し、CUDAを介してハードウェアの並列処理能力を最大限に活用します。
実世界での利用例#
TensorRTは、大量のデータを最小限の遅延で処理できるため、タイミングが重要となるコンピュータービジョンや複雑なAIタスクに依存する業界で広く採用されています。
-
自律システム: 自動車分野のAIでは、自動運転車が複数のカメラからの映像を処理し、歩行者、標識、障害物を瞬時に検出する必要があります。TensorRTを使用すると、物体検出ネットワークなどの認識モデルが数ミリ秒でフレームを解析できるため、車両の制御システムは遅延なく安全性に関わる重要な判断を下せます。
-
産業オートメーション: 現代の工場では、自動光学検査に製造分野のAIを活用しています。高速カメラが組立ライン上の製品を撮影し、TensorRTで最適化されたモデルが欠陥や異常をリアルタイムで特定します。これにより、高速生産環境でも品質管理を生産ペースに合わせられます。多くの場合、工場の現場に直接設置されたNVIDIA JetsonプラットフォームなどのエッジAIデバイスにデプロイされます。
Ultralytics YOLOでTensorRTを使用する#
TensorRTをワークフローに統合するのは、最新のAIツールを使えば簡単です。ultralyticsパッケージは、標準的なPyTorchモデルをTensorRTエンジンに変換するシームレスな方法を提供します。これにより、ユーザーはUltralytics YOLO26の最先端アーキテクチャと、NVIDIA GPUのハードウェアアクセラレーションを活用できます。エクスポート前にデータセットと学習パイプラインを管理したいチーム向けに、Ultralytics Platformは、このような高性能デプロイ向けにモデルを準備するための包括的な環境を提供します。
次の例では、Ultralytics YOLO26モデルをTensorRTエンジンファイル(.engine)にエクスポートし、リアルタイム推論に使用する方法を示します。
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRTとONNXおよび学習フレームワークの比較#
モデルデプロイの分野でよく耳にする他の用語とTensorRTを区別することが重要です。
- PyTorch/TensorFlowとの比較: PyTorchなどのフレームワークは、主にモデルの学習と研究向けに設計されており、柔軟性とデバッグのしやすさを提供します。TensorRTは、学習済みモデルを可能な限り高速に実行することだけを目的とした推論エンジンです。学習には使用しません。
- ONNXとの比較: ONNX形式は、フレームワーク間の中間ブリッジとして機能します。ONNXが相互運用性(例: PyTorchから別のプラットフォームへのモデルの移行)を提供する一方で、TensorRTはハードウェア固有の最適化に重点を置いています。多くの場合、まずモデルをONNXに変換し、その後TensorRTで解析して最終的なエンジンを生成します。
AIエージェントやビジョンシステムのパフォーマンスを最大化したい開発者にとって、学習フレームワークからTensorRTのような最適化ランタイムへ移行する方法を理解することは、プロフェッショナルなMLOpsにおける重要なステップです。









