テンソルRT
TensorRTでディープラーニングモデルを最適化し、NVIDIA GPU上でより高速で効率的な推論を実現。YOLOとAIアプリケーションでリアルタイムのパフォーマンスを実現します。
TensorRTは、NVIDIAの高性能ディープラーニング推論オプティマイザおよびランタイムライブラリです。特に、NVIDIAグラフィックス・プロセッシング・ユニット(GPU)上でトレーニングされたニューラルネットワーク(NN)のパフォーマンスを最大化するように設計されています。PyTorchや TensorFlowのようなフレームワークを使用してモデルをトレーニングした後、TensorRTはそのモデルを取り込み、数多くの最適化を適用してデプロイに備えます。その結果、推論のレイテンシを大幅に削減し、スループットを向上させることができる非常に効率的なランタイムエンジンが実現され、リアルタイム推論を必要とするアプリケーションに最適です。
TensorRTの仕組み
TensorRTは、標準的な学習済みモデルを合理化された推論エンジンに変換する多段階の最適化プロセスを通じて、パフォーマンスの向上を実現しています。このプロセスは、ほぼ自動化されており、導入される特定のNVIDIA GPUアーキテクチャに合わせて調整されます。主な最適化技術には以下が含まれます:
- グラフ最適化:TensorRTは学習済みモデルを解析し、未使用のレイヤーを削除したり、レイヤーを垂直方向(シーケンシャルなレイヤーを結合)や水平方向(パラレルなレイヤーを結合)に融合させるなど、グラフの最適化を実行する。これにより、演算回数とメモリ・オーバーヘッドが削減される。
- 精度校正: 混合精度(FP16)やINT8などの低精度推論をサポートしています。モデルの重みを32ビット浮動小数点(FP32)から、モデルの量子化によってより低い精度に変換することで、TensorRTは、精度への影響を最小限に抑えながら、メモリ使用量と計算要件を劇的に削減します。
- カーネルの自動チューニング:TensorRTは、各処理に最適化されたGPUカーネルの膨大なライブラリから選択するか、ターゲットGPU用に特別にチューニングされた独自のカーネルを作成します。これにより、すべての計算がハードウェア上で可能な限り効率的に実行されます。
- テンソル・メモリの最適化:モデルの実行を通してテンソルのメモリを再利用することで、メモリ使用量を最適化し、メモリフットプリントを削減し、パフォーマンスを向上させます。
Ultralytics YOLOモデルはTensorRTフォーマットに簡単にエクスポートできるため、開発者はコンピュータビジョン(CV)アプリケーションにこれらの最適化を活用することができます。
実世界での応用
TensorRTは、時間やリソースに制約のある環境で高性能AIを展開するために不可欠である。
- 自律走行車 自動運転車では、知覚システムがカメラやセンサーからのデータをリアルタイムで処理し、歩行者や他の車両、障害物を検出する必要があります。TensorRTで最適化されたUltralytics YOLO11のようなモデルは、非常に低いレイテンシで物体検出を行うことができます。
- スマート・マニュファクチャリング:工場の現場では、製造におけるAIが自動化された品質管理に利用されている。カメラがベルトコンベア上の製品の画像をキャプチャし、ビジョンモデルが欠陥の有無を分析する。TensorRTを使用することで、これらのシステムは高速生産ラインに追従し、問題を即座に特定し、全体的な効率を向上させることができる。
TensorRTと関連技術の比較
TensorRTは強力な推論エンジンだが、AIエコシステムの他のツールとの違いを理解することが重要だ:
- ディープラーニングのフレームワーク:PyTorchやTensorFlowのようなフレームワークは、主にモデルをトレーニングするためのものだ。これらには独自の推論機能がありますが、TensorRTのような特化したランタイムほどデプロイに最適化されていません。
- ONNXランタイム:Open Neural Network Exchange (ONNX)フォーマットは、モデルを相互運用可能に表現する方法を提供します。ONNXランタイムは、NVIDIA GPU(実行プロバイダとしてTensorRTを使用可能)を含む様々なハードウェアプラットフォーム上でモデルを実行することができます。しかし、TensorRTと直接統合すると、ハードウェア固有の最適化により、NVIDIAハードウェア上でより優れたパフォーマンスが得られることがよくあります。
- インテル OpenVINO:OpenVINOはTensorRTに似ているが、インテルのハードウェア(CPU、iGPU、VPU)に最適化されている。推論を加速するという目的は同じだが、異なるハードウェア・エコシステム向けに調整されている。
TensorRT の主な利点は、GPU からCUDAライブラリに至るまで、NVIDIA のエコシステムと深く統合されていることであり、MLPerf のベンチマークでしばしば示されているように、NVIDIA プラットフォーム上に展開されたモデルに対して比類ないパフォーマンスを実現します。モデルの導入管理は、Ultralytics HUBのようなMLOpsプラットフォームを使用することで、さらに効率化することができます。