TensorRT統合によるUltralytics YOLOモデルの最適化
リアルタイムアプリケーション向けに、NVIDIA GPU上でのAIパフォーマンスを高速化・効率化するための、TensorRT統合を使用したUltralytics YOLOモデルのエクスポート方法を学びます。

自動運転車が混雑した通りを走行し、横断歩道から歩行者が飛び出してきたのを検知するのにミリ秒単位の時間しかない場面を想像してください。同時に、木に半分隠れた一時停止標識を認識したり、近くの車両が車線変更してきた際に素早く反応したりする必要があるかもしれません。このような状況では、速度とリアルタイムの応答性が極めて重要です。
ここで、AI(人工知能)、具体的には機械が視覚データを解釈するのを助けるAIの一分野であるコンピュータビジョンが重要な役割を果たします。コンピュータビジョンソリューションが現実環境で確実に機能するためには、情報を迅速に処理し、複数のタスクを同時にこなし、効率的にメモリを使用する必要があります。
これを実現する一つの方法として、GPU(グラフィックスプロセッシングユニット)のような特殊なデバイスを使用してモデルを高速に実行するハードウェアアクセラレーションがあります。NVIDIA GPUは、低レイテンシと高スループットを実現できるため、このようなタスクにおいて特に有名です。
しかし、GPU上でモデルをそのまま実行するだけでは、必ずしも最適なパフォーマンスが保証されるわけではありません。Vision AIモデルは、ハードウェアデバイスの能力を最大限に活用するために、通常は最適化が必要です。特定のハードウェアで最高のパフォーマンスを達成するには、そのハードウェア専用の一連の命令を使用するようにモデルをコンパイルする必要があります。
例えば、TensorRTは、ハイエンドマシンでのパフォーマンスを向上させるためにNVIDIAが開発したエクスポートフォーマットであり、最適化ライブラリです。高度な技術を使用して、精度を維持しながら推論時間を大幅に短縮します。

図1 NVIDIA TensorRTにより、モデルが様々なNVIDIAデバイス上で最適に動作します。
この記事では、UltralyticsがサポートするTensorRT統合を探求し、NVIDIAハードウェア上でより高速かつ効率的なデプロイメントを実現するために、YOLO11モデルをエクスポートする方法を順を追って説明します。それでは始めましょう!
Link to this sectionTensorRTの概要#
TensorRTは、AIモデルがNVIDIA GPU上でより高速かつ効率的に動作するようにNVIDIAが開発したツールキットです。これは、自動運転車、製造や医薬品の品質管理など、速度とパフォーマンスが不可欠な現実世界のアプリケーション向けに設計されています。
TensorRTには、モデルが低レイテンシで動作し、より高いスループットを処理できるようにするために舞台裏で機能するコンパイラやモデルオプティマイザといったツールが含まれています。
UltralyticsがサポートするTensorRT統合は、精度の低減などの手法を使用して、GPU上でより効率的に実行されるようにYOLOモデルを最適化します。これは、16ビット浮動小数点(FP16)や8ビット整数(INT8)などの低ビットフォーマットを使用してモデルデータを表現することを指し、メモリ使用量を削減し、精度への影響を最小限に抑えつつ計算を高速化します。
また、互換性のあるニューラルネットワークレイヤーは、最適化されたTensorRTモデル内で結合されるため、メモリ使用量が削減され、より高速で効率的な推論が可能になります。

図2 TensorRTのレイヤー融合技術。
Link to this sectionTensorRTエクスポートフォーマットの主な機能#
TensorRT統合を使用してYOLO11をエクスポートする方法を説明する前に、TensorRTモデルフォーマットの主な機能をいくつか見ていきましょう。
-
容易なフレームワーク統合: TensorRTは、PyTorch、Hugging Face、ONNXなどの主要なAIフレームワークとの直接統合をサポートし、最大6倍のパフォーマンス向上を提供します。また、MATLABもサポートしており、Jetson、NVIDIA DRIVE、データセンターなどのプラットフォーム上で高速なAIエンジンの開発を可能にします。
-
Tritonによるスケーラブルなデプロイメント: TensorRTフォーマットで最適化されたモデルは、NVIDIA Triton Inference Serverを使用して大規模にデプロイできます。これにより、入力バッチ処理、同時モデル実行、モデルアンサンブルサポート、リアルタイムのオーディオ/ビデオストリーミングなどの機能を通じて効率が向上します。
-
デバイス間での柔軟性: 小型のエッジデバイスから強力なサーバーまで、TensorRTはNVIDIAエコシステム全体で動作し、動画用のDeepStream、音声AI用のRiva、その他サイバーセキュリティやレコメンデーションなどのツールをサポートしています。
Link to this sectionTensorRT統合はどのように機能しますか?#
Ultralytics YOLO11のようなUltralytics YOLOモデルをTensorRTモデルフォーマットにエクスポートするのは簡単です。関与するステップを順番に説明します。
まず始めに、‘pip’のようなパッケージマネージャーを使用してUltralytics Pythonパッケージをインストールできます。これは、コマンドプロンプトやターミナルで “pip install ultralytics” というコマンドを実行することで行えます。
Ultralytics Pythonパッケージを正常にインストールした後、物体検出、分類、インスタンスセグメンテーションなどの様々なコンピュータビジョンタスクのためにモデルのトレーニング、テスト、微調整、エクスポート、デプロイが可能です。パッケージのインストール中に問題が発生した場合は、共通の問題ガイドで解決策やヒントを参照できます。
次のステップでは、NVIDIAデバイスが必要です。以下のコードスニペットを使用して、YOLO11をロードし、TensorRTモデルフォーマットにエクスポートしてください。これはYOLO11モデルの事前トレーニング済みnanoバリアント(yolo11n.pt)をロードし、TensorRTエンジンファイル(yolo11n.engine)としてエクスポートするため、NVIDIAデバイス全体でのデプロイが可能になります。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")モデルをTensorRTフォーマットに変換した後、様々なアプリケーションにデプロイできます。
以下の例では、エクスポートされたYOLO11モデル(yolo11n.engine)を読み込み、それを使用して推論を実行する方法を示します。推論とは、トレーニング済みのモデルを使用して新しいデータに対して予測を行うプロセスです。このケースでは、モデルをテストするために犬の入力画像を使用します。
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)このコードを実行すると、以下の出力画像が runs/detect/predict フォルダに保存されます。

図3. TensorRTフォーマットでエクスポートされたYOLO11モデルを使用した推論実行の結果。
Link to this sectionいつTensorRT統合を活用すべきか#
Ultralytics Pythonパッケージは、YOLOモデルをTorchScript、CoreML、ONNX、TensorRTなどの異なるフォーマットへエクスポートすることを可能にする様々な統合をサポートしています。では、いつTensorRT統合を使用することを選択すべきでしょうか?
TensorRTモデルフォーマットを他のエクスポート統合オプションと差別化するいくつかの要因を以下に挙げます。
-
より小さなモデルサイズ: YOLOモデルをINT8精度でTensorRTフォーマットにエクスポートすると、モデルサイズを大幅に削減できます。FP32からINT8への量子化により、モデルサイズを4倍削減できる可能性があり、ダウンロード時間の短縮、ストレージ要件の低減、およびデプロイ中のメモリフットプリントの削減が可能になります。
-
消費電力の削減: INT8量子化は、モデルサイズを削減するだけでなく、消費電力も低減します。INT8エクスポートされたYOLOモデルのための精度を低減した演算は、FP32モデルと比較して消費電力を抑えられるため、ドローン、スマートフォン、エッジデバイスなどのバッテリー駆動デバイスに特に有益です。
-
より高速なパフォーマンス: YOLOの効率的なアーキテクチャとTensorRTのINT8最適化を組み合わせることで、推論速度を向上させることができます。
Link to this sectionYOLO11とTensorRTモデルフォーマットの応用#
TensorRTフォーマットにエクスポートされたUltralytics YOLOモデルは、幅広い現実世界のシナリオにデプロイできます。これらの最適化されたモデルは、高速で効率的なAIパフォーマンスが不可欠な場合に特に役立ちます。これらがどのように使用できるか、いくつかの興味深い例を見ていきましょう。
Link to this section小売店におけるスマートチェックアウトカウンター#
小売店でのバーコードスキャン、商品の計量、梱包といった幅広いタスクは、依然としてスタッフによって手動で処理されています。しかし、従業員のみに依存することは、業務を遅延させ、顧客のフラストレーションを招く可能性があります。特にチェックアウト時においては顕著です。長い列は、買い物客にとっても店舗オーナーにとっても不便です。スマートなセルフレジカウンターは、この問題に対する素晴らしい解決策です。
これらのカウンターは、コンピュータビジョンとGPUを使用してプロセスを高速化し、待ち時間の短縮に貢献します。コンピュータビジョンは、これらのシステムが物体検出のようなタスクを通じて環境を見て理解することを可能にします。TensorRTのようなツールで最適化されたYOLO11のような高度なモデルは、GPUデバイス上で大幅に高速に動作します。
これらのエクスポートされたモデルは、エッジAIアプリケーション専用に設計されたNVIDIA Jetson Nanoのようなコンパクトでありながら強力なハードウェアデバイスを使用するスマートリテールセットアップに最適です。

図4 スマートチェックアウトカウンターの例。
Link to this section製造における自動欠陥検出#
YOLO11のようなコンピュータビジョンモデルは、製造業における欠陥製品を検出するようにカスタムトレーニングできます。トレーニングが完了したら、高性能AIシステムを備えた施設へのデプロイのために、モデルをTensorRTフォーマットにエクスポートできます。
製品がベルトコンベア上を移動する際、カメラが画像をキャプチャし、TensorRTフォーマットで実行されているYOLO11モデルがそれをリアルタイムで分析して欠陥を見つけ出します。このセットアップにより、企業は迅速かつ正確に問題を特定し、エラーを減らして効率を向上させることができます。
同様に、製薬業界などの産業では、これらのシステムを使用して医療パッケージの欠陥を特定しています。実際、スマート欠陥検出システムのグローバル市場は、2026年までに50億ドルに成長すると予測されています。

図5 製薬業界における欠陥検出にYOLOを使用。
Link to this sectionTensorRT使用時に留意すべき考慮事項#
TensorRT統合は、より高速な推論速度やレイテンシの低減など、多くの利点をもたらしますが、留意すべきいくつかの制限があります。
-
精度のわずかな低下: モデルをTensorRTフォーマットでエクスポートすると、エクスポートされたモデルは元のモデルほど正確ではない場合があります。パフォーマンス指標(精度、再現率、モデルがどの程度物体を検出できるかを示すmAPスコアなど)がわずかに低下する可能性があります。これは、量子化中に代表的なデータセットを使用することで軽減できます。
-
デバッグの複雑さの増大: TensorRTによって行われる最適化により、特に元のモデルと結果を比較する場合に、エラーの追跡や予期しない動作の理解がより難しくなる可能性があります。
-
バッチサイズへの依存度: TensorRTのパフォーマンス向上は、より大きなバッチサイズで顕著になります。単一の画像または小さなバッチを処理するアプリケーションの場合、パフォーマンスの向上はそれほど大きくない可能性があります。
Link to this section重要なポイント#
Ultralytics YOLOモデルをTensorRTフォーマットにエクスポートすることで、実行速度と効率が大幅に向上し、工場の欠陥検出、スマートチェックアウトシステムの運用、混雑した都市エリアの監視といったリアルタイムタスクに最適となります。
この最適化は、予測を高速化し、メモリや電力の使用量を削減することで、NVIDIA GPU上でモデルのパフォーマンスを高めるのに役立ちます。いくつか制限はありますが、パフォーマンスが向上するため、TensorRT統合はNVIDIAハードウェア上で高速なコンピュータビジョンシステムを構築する人にとって素晴らしい選択肢です。
AIについてもっと学びたいですか?GitHubリポジトリを探索し、コミュニティとつながり、ライセンスオプションを確認してコンピュータビジョンプロジェクトを立ち上げましょう。製造におけるAIや物流業界におけるコンピュータビジョンといったイノベーションの詳細については、ソリューションページをご覧ください。






