YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

TensorRT

TensorRTがNVIDIA GPU向けにディープラーニングモデルをどのように最適化するかを探ります。低遅延、高速な推論のために、Ultralytics YOLO26をTensorRTにエクスポートする方法を今日から学びましょう。

TensorRTは、NVIDIAが開発した高性能な深層学習Inference APIソフトウェア開発キット(SDK)です。 ニューラルネットワークモデルをデプロイ用に最適化し、深層学習アプリケーション向けに低い 推論レイテンシと高いスループットを提供するように設計されています。 最適化コンパイラとして機能することで、TensorRTは PyTorchやTensorFlowなどの一般的なフレームワークからトレーニング済みネットワークを取り込み、NVIDIA GPUsで効率的に実行できるように再構築します。 この機能は、速度と効率が最重要視される本番環境で複雑なAIモデルを実行するために不可欠です。

TensorRTはどのようにモデルを最適化するか

TensorRTの核となる機能は、学習済みのニューラルネットワークを、ターゲットハードウェア向けに特別に調整された最適化された「エンジン」に変換することです。これは、いくつかの高度な技術によって実現されます。

  • 層融合: オプティマイザは、ニューラルネットワークの複数の層を単一のカーネルに結合し、メモリアクセスオーバーヘッドを削減し、実行速度を向上させます。
  • 精度キャリブレーション: TensorRTは、混合精度 (FP16) や整数量子化 (INT8) などの低精度モードをサポートしています。数値を表現するために使用されるビット数を減らすことで(多くの場合、最小限の精度損失で)、開発者は数学演算を大幅に高速化し、メモリ使用量を削減できます。これはモデル量子化の一形態です。
  • Kernel Auto-Tuning: このソフトウェアは、使用されている特定のGPUアーキテクチャに最適なデータレイヤーとアルゴリズムを自動的に選択し、CUDAを介してハードウェアの並列処理能力を最大限に活用します。

実際のアプリケーション

TensorRT 、膨大な量のデータを最小限の遅延で処理できるため、 コンピュータービジョンや複雑なAIタスクに依存し、 タイミングが極めて重要な産業分野で広く採用TensorRT 。

  1. 自律システム: 自動車分野のAIにおいて、自動運転車は複数のカメラからの映像フィードを処理し、detect 、標識、障害物を瞬時にdetect 。TensorRTを使用することで、物体検出ネットワークなどの知覚モデルはフレームを数ミリ秒で分析でき、車両制御システムが遅延なく安全上重要な判断を下せるようにする。
  2. 産業オートメーション:現代の工場では、製造工程における自動光学検査にAIを活用しています。高速カメラが組立ライン上の製品画像を撮影し、TensorRTモデルがリアルタイムで欠陥や異常を識別します。これにより、品質管理が高速生産環境に追従することが保証され、多くの場合、NVIDIA プラットフォームのようなエッジAIデバイスを工場フロアに直接配置して運用されています。

Ultralytics TensorRT YOLO TensorRT の使用

TensorRT ワークフローに統合するのは、最新のAIツールを使えば簡単だ。その ultralytics パッケージは、標準的なPyTorchモデルをTensorRTエンジンに変換するシームレスな方法を提供します。これにより、ユーザーは最先端のアーキテクチャを活用できます。 Ultralytics YOLO26 NVIDIA GPUのハードウェアアクセラレーションを活用できます。エクスポート前にデータセットとトレーニングパイプラインを管理したいチームにとって、 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 vs. ONNX vs. トレーニングフレームワーク

TensorRTと、モデルデプロイメントの分野でよく耳にする他の用語を区別することが重要です。

  • Vs. PyTorch/TensorFlow: PyTorchのようなフレームワークは、主にモデルの学習と研究のために設計されており、柔軟性とデバッグの容易さを提供します。TensorRTは、学習済みモデルを可能な限り高速に実行するためだけに設計された推論エンジンです。学習には使用されません。
  • Vs. ONNX: ONNX (Open Neural Network Exchange) フォーマットは、フレームワーク間の仲介ブリッジとして機能します。ONNXが相互運用性 (例: PyTorchから別のプラットフォームへのモデルの移動) を提供する一方で、TensorRTはハードウェア固有の最適化に焦点を当てています。多くの場合、モデルはまずONNXに変換され、その後TensorRTによって解析されて最終的なエンジンが生成されます。

AIエージェントやビジョンシステムのパフォーマンスを最大化しようとする開発者にとって、トレーニングフレームワークからTensorRTのような最適化されたランタイムへの移行を理解することは、プロフェッショナルなMLOpsにおける重要なステップです。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。