TensorRT
TensorRT ディープラーニングモデルを最適化し、NVIDIA GPU上でより高速で効率的な推論を実現。YOLO AIアプリケーションでリアルタイムのパフォーマンスを実現します。
TensorRT 、以下の会社によって開発された高性能ソフトウェア開発キット(SDK)です。
NVIDIAディープラーニングモデルの最適化と実行のために
ディープラーニングモデルの最適化と実行のために特別に開発された高性能ソフトウェア開発キット(SDK)です。TensorRTは
専用の推論エンジンとして機能します。
として機能し、学習したニューラルネットワークをNVIDIA
グラフィックス・プロセッシング・ユニット(GPU)で最大限の効率で実行できるように再構築します。これにより
計算グラフを合理化し、メモリ使用量を管理することで、TensorRT 推論の待ち時間を大幅に短縮し、スループットを向上させます。
推論の待ち時間を大幅に短縮し、スループットを向上させます、
即時のリアルタイム応答を必要とするアプリケーションを構築する開発者にとって不可欠なツールです。
TensorRT パフォーマンスを最適化する方法
TensorRT 第一の目標は、柔軟なフレームワークでトレーニングされたモデルと、高速にデプロイされたモデルのギャップを埋めることである。
のギャップを埋めることです。TensorRTは、いくつかの洗練された最適化技術によってこれを実現している:
-
レイヤー融合とグラフ最適化: TensorRT 、ネットワークアーキテクチャを分析し、複数のレイヤを1つの演算に融合する。
複数のレイヤーを1つの操作に統合する。例えば
例えば、畳み込みレイヤーをバイアスと活性化ステップと組み合わせることができる。
このように演算数を減らすことで、GPU上でカーネルを起動する際のオーバーヘッドを最小限に抑えることができます。
-
高精度キャリブレーション:パフォーマンスをさらに加速するために、TensorRT モデルの量子化をサポートしています。
モデルの量子化をサポートしています。このプロセスは
このプロセスは、モデルの重みを標準の32ビット浮動小数点(FP32)から、混合精度(FP16)や8ビット整数(INT8)のような低精度フォーマットに変換します。
のような低精度形式に変換します。
これにより、高い精度を維持しながら、メモリ帯域幅の使用量を大幅に削減できます。
精度を維持します。
-
カーネルのオートチューニング: GPU アーキテクチャによって、数学演算の処理方法は異なります。
TensorRT 、最適化されたカーネルの膨大なライブラリから、最適なデータ層とアルゴリズムを自動的に選択します、
最適化されたカーネルの膨大なライブラリから、最適なデータ層とアルゴリズムを自動的に選択します。
モデルが、NVIDIA JetsonやデータセンターA100などの特定のターゲットハードウェア上で最適に動作することを保証します。
-
動的Tensor メモリ:SDKは、テンソル(データ・コンテナ)用のメモリを再利用することで、メモリ割り当てを最適化します。
コンテナ)のメモリを再利用することにより、メモリ割り当てを最適化します。
を削減します。
TensorRT実世界での応用
TensorRT 、大量のデータを最小限の遅延で処理できるため、コンピュータ・ビジョンや複雑なAIタスクに依存する業界で広く採用されています。
業界で広く採用されています。
-
自律走行車自動車のAI分野では
自動車のAI分野では、自動運転車は
歩行者、標識、障害物を瞬時にdetect するために、複数のカメラからのビデオフィードを処理する必要があります。TensorRT使用します、
物体検出ネットワークのような知覚モデル
のような知覚モデルは、ミリ秒単位でフレームを分析し、車両の制御システムがタイムラグなしに安全上重要な決定を下すことを可能にする。
ラグなしに安全上重要な判断を下すことができる。
-
スマート・マニュファクチャリング:現代の工場は
自動光学検査
検査。高速カメラが組立ライン上の製品の画像をキャプチャし、TensorRTモデルがリアルタイムで欠陥や異常を特定する。
欠陥や異常をリアルタイムで特定する。これにより、品質管理が高速生産環境と歩調を合わせることができます。
このため、品質管理は高速生産環境と歩調を合わせることができ、多くの場合、工場現場のエッジAIデバイスに導入されます。
工場現場に導入されることが多い。
TensorRT Ultralytics YOLO11使用する
TensorRT ワークフローに統合するのは、最新のAIツールを使えば簡単だ。その ultralytics パッケージ
は、標準的な
PyTorch モデルをTensorRT エンジンに組み込むことができる。これにより、ユーザは
の最先端のアーキテクチャを活用できる。
Ultralytics YOLO11 NVIDIA
ハードウェア・アクセラレーション
GPUです。
次の例は、YOLO11 モデルをTensorRT エンジンファイル(.engineそして
推論に使用する:
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT format (creates 'yolo11n.engine')
# This step optimizes the model for the specific GPU currently in use
model.export(format="engine")
# Load the optimized TensorRT model for high-speed inference
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")
TensorRT 他の推論技術との比較
TensorRT 機械学習エコシステムの他のツールと区別することは重要だ。
-
TensorRT トレーニングフレームワークの比較: PyTorch
TensorFlowのようなライブラリは、主に
柔軟性とデバッグのしやすさを優先しています。TensorRT 厳密に
TensorRTは、推論に特化しており、特定のハードウェア上での生の速度と効率を優先している。
-
TensorRT ONNX ランタイムの比較:その
ONNX (Open Neural Network Exchange)
フォーマットは、異なるプラットフォーム間での相互運用性を考慮して設計されています。一方
ONNX ランタイムは、さまざまなハードウェア上で動作する汎用性の高いエンジンですが、TensorRT
は、NVIDIA GPU専用の、より深くハードウェアに特化した最適化を提供し、多くの場合、汎用のランナーよりも高いパフォーマンスをもたらします。
ジェネリックランナーよりも高いパフォーマンスをもたらします。
-
TensorRT OpenVINO比較: TensorRT NVIDIA ハードウェアに最適化されているのと同様に、 OpenVINOツールキットもNVIDIA ハードウェアに最適化されています。
OpenVINO ツールキットは、Intelプロセッサ(CPUと統合GPU)での推論を高速化するように設計されている。
OpenVINOツールキットは、Intel プロセッサ(CPUと統合GPU)上で推論を高速化するように設計されている。どちらを選択するかは、あなたのデプロイメント・ハードウェア
ハードウェアに依存します。
スケーラブルなクラウドのデプロイメントでは、TensorRT エンジンは頻繁に
NVIDIA Triton Inference Serverを使用します。
このサーバーは、モデルのバージョンを管理し、同時リクエストを効率的に処理します。