推論エンジン
推論エンジンが、リアルタイム予測の提供、モデルの最適化、クロスプラットフォーム展開の実現により、AIを強化する様子をご覧ください。
推論エンジンは、訓練された機械学習モデルを実行し、機械学習モデルを生成するために設計された特殊なソフトウェアコンポーネントである。
機械学習モデルを実行し
新しいデータから予測を生成する。膨大なデータセットからパターンを学習することに重点を置く学習フレームワークとは異なり、推論エンジンは純粋に運用段階に最適化されている。
推論エンジンは、モデルのデプロイと呼ばれる運用フェーズだけに最適化されている。
モデルの展開。推論エンジンの主な目標は、モデルを可能な限り効率的に実行し
モデルを可能な限り効率的に実行することである。
スループットを最大化することである。
強力なクラウドサーバーであろうと、リソースに制約のある
エッジAIデバイスです。
推論エンジンの仕組み
学習済みモデルからデプロイ可能なアプリケーションへの移行には、通常、推論エンジンが実行環境として機能する。
が実行環境として機能する。いったんモデルが
PyTorchまたは
TensorFlowなどは、しばしば重く、学習には有用だが予測には不要なデータ構造
が含まれていることが多い。推論エンジンは、このオーバーヘッドを取り除き、計算グラフに厳密な最適化を適用する。
計算グラフに厳密な最適化を適用する。
主な最適化手法は次のとおりです:
-
レイヤー融合:このエンジンは、複数のレイヤー(畳み込み、バッチ正規化、活性化など)を1つの演算に統合する。
アクティベーション) を 1 つの処理に統合します。これにより、メモリアクセスが削減され、実行速度が向上します。
-
精度の低減:モデルの量子化を通じて
モデル量子化により
高精度 32 ビット浮動小数点フォーマット(FP32)から INT8 や FP16 のような低精度フォーマットに変換します。これにより
精度を大きく損なうことなく、モデル・サイズとメモリ帯域幅の使用量を大幅に削減します。
精度
-
カーネルのオートチューニング:エンジン
NVIDIA TensorRTのようなエンジンは、特定の
アルゴリズムとハードウェア・カーネルを自動的に選択します。
GPUを自動的に選択します。
-
メモリ管理:効率的なメモリ再利用戦略により、実行時のメモリ割り当てと割り当て解除のオーバーヘッドを最小限に抑えることができます。
これはリアルタイム推論にとって重要である。
リアルタイム推論には不可欠である。
一般的な推論エンジン
異なるエンジンは、特定のハードウェア・エコシステムとパフォーマンス目標に合わせて調整される:
-
NVIDIA TensorRT: NVIDIA GPU用の高性能ディープラーニング推論オプティマイザとランタイム。
データセンターや自動車アプリケーションで広く使用されています。簡単に
Ultralytics モデルをTensorRTエクスポートして、最大限のスピード
スピードを実現します。
-
Intel OpenVINO:OpenVINO視覚推論とニューラルネットワーク最適化
オープン・ビジュアル・インファレンス・アンド・ニューラル・ネットワーク・オプティマイゼーション
ツールキットは、CPUや統合GPUを含むIntel ハードウェアにモデルを最適化します。
最適化する。インテルのエコシステムの中で、「一度書けば、どこでも展開できる」アプローチを可能にします、
deploy anywhere "アプローチを可能にします。
-
ONNX ランタイム: Microsoft 開発したクロスプラットフォームエンジン。
ONNXフォーマットをサポートするクロスプラットフォームエンジン。これにより
1つのフレームワークで学習したモデルを、さまざまなハードウェアバックエンドで効率的に実行できる。
-
TensorFlow Lite:モバイルおよびIoTデバイス向けに設計、
TensorFlow Liteは、Android、iOS、組み込みシステムで低レイテンシの推論を可能にします。
組み込みシステムで低レイテンシ推論を可能にします。
実際のアプリケーション
推論エンジンは、現代のAIアプリケーションの目に見えないバックボーンであり、世界に即座に反応することを可能にしている。
-
自律走行:自動車業界では、自動車が安全に航行するためにコンピュータ・ビジョンに依存している。
を利用している。自動車のオンボード・コンピューターで動作する推論エンジンは、ビデオ・フィードを処理して、歩行者、その他の物体検出を実行する。
歩行者、他の車両、交通標識などの
交通標識を検出する。次のようなモデルを使用する。 YOLO11,
のようなモデルを使用することで、エンジンはこれらの予測をミリ秒単位で確実に実行し、クルマがリアルタイムで自律的にブレーキをかけたり、ステアリングを切ったりすることを可能にする。
を可能にする。
-
スマート・マニュファクチャリング:生産ラインでは、自動化された品質管理に推論エンジンが使用されている。
高速度カメラでベルトコンベア上の製品の画像を撮影し、推論エンジンがこれらの画像を処理して、ひび割れや位置ずれなどの欠陥を検出する。
ひび割れやズレなどの欠陥をdetect 。この高スループット・システムは、不良品の出荷を防ぎ、手作業による検査コストを削減します。
を防止し、手作業による検査コストを削減します。
推論エンジンとトレーニングフレームワークの比較
モデルを作成するためのツールと、それを実行するためのツールを区別することは重要である。
-
トレーニングフレームワーク(例:PyTorch、Keras):これらは柔軟性と実験のために設計されている。
バックプロパゲーション、勾配更新、ダイナミックグラフをサポートしている。
計算コストが高い。
-
推論エンジン(TensorRT、ONNX Runtimeなど):これらはスピードと効率のために設計されている。これらは
モデルを静的な操作の集合として扱い、可能な限り高速に実行する。これらは通常
トレーニングや新しいパターンの学習はサポートされていません。
推論のためのエクスポート
特定の推論エンジンを使用するには、多くの場合、学習済みモデルを互換性のある形式にエクスポートする必要がある。
学習済みモデルを互換性のある形式にエクスポートする必要があります。例えば
例えば、YOLO11 モデルをONNX 形式にエクスポートすることで、ONNX Runtimeで実行したり、他のエンジンにインポートしたりすることができます。
from ultralytics import YOLO
# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format for use with ONNX Runtime
# This creates 'yolo11n.onnx' optimized for inference
model.export(format="onnx")
推論エンジンを活用することで、開発者はAIモデルの潜在能力を最大限に引き出すことができ、クラウドクラスターからバッテリー駆動のエッジデバイスまで、さまざまな実稼働環境でのスムーズな動作が保証されます。
クラウドクラスターからバッテリー駆動のエッジデバイスまで、幅広い本番環境でスムーズに動作することを保証します。