Inference Engine
推論エンジンがUltralytics YOLO26のような機械学習モデルを、リアルタイムデプロイメントのためにいかに最適化するかを紹介します。今日から使えるエッジAIのパフォーマンス向上のコツを探りましょう。
推論エンジンとは、訓練済みの機械学習モデルを実行し、新しいデータから予測を生成するように設計された特殊なソフトウェアコンポーネントです。バックプロパゲーションのような計算集約的なプロセスを通じてパターンを学習することに重点を置くトレーニングフェーズとは異なり、推論エンジンはモデルデプロイとして知られる運用のフェーズに厳密に最適化されています。その主な目的は、スケーラブルなクラウドサーバーであれ、バッテリー駆動のエッジAIデバイスであれ、ターゲットハードウェア上で推論レイテンシを最小限に抑え、スループットを最大化しながら、可能な限り効率的に計算を実行することです。トレーニングに必要なオーバーヘッドを取り除くことで、これらのエンジンは複雑なニューラルネットワークをリアルタイムアプリケーションで機能させることができます。
推論エンジンがパフォーマンスを最適化する方法#
トレーニング環境から推論エンジンへの移行には、通常、モデルの構造を効率化するためのいくつかの最適化ステップが含まれます。モデルが学習する必要がなくなるため、エンジンは勾配の更新に必要なデータを破棄し、モデルの重みを実質的に固定することができます。推論エンジンで使用される一般的なテクニックには、複数の操作を1つのステップにまとめてメモリアクセスを削減するレイヤー融合や、重みを高精度の浮動小数点形式から低精度の整数(例:INT8)に変換するモデル量子化などがあります。
これらの最適化により、Ultralytics YOLO26のような高度なアーキテクチャが、精度を大幅に低下させることなく、驚異的な高速で実行できるようになります。最大性能を引き出すために、多くの場合、異なるエンジンが特定のハードウェアエコシステムに合わせて調整されています:
- NVIDIA TensorRT:ハードウェア固有のカーネルを利用し、ネットワークグラフを最適化することで、NVIDIA GPU上で高性能な推論を実現します。
- Intel OpenVINO:CPUや統合グラフィックスを含むIntelアーキテクチャ上でディープラーニングのパフォーマンスを最適化し、エッジコンピューティングに理想的なものにします。
- ONNX Runtime:ONNX形式のモデルをサポートするクロスプラットフォームのアクセラレータであり、異なるフレームワークとハードウェアバックエンドの間のブリッジを提供します。
実社会での応用#
推論エンジンは、現代の多くのAIの便利さを支える目に見えない駆動力であり、コンピュータビジョンシステムが環境に即座に反応できるようにします。
-
自動運転車:自動運転車では、物体検出モデルが歩行者、標識、その他の車両をミリ秒単位で識別する必要があります。クラウド接続に依存すると危険な遅延が生じるため、車のハードウェア上でローカルに実行される推論エンジンにより、この処理がリアルタイム推論の速度で行われることが保証されます。
-
スマート製造:工場では産業用IoTカメラを利用して、組立ライン上の製品を検査します。推論エンジンがビデオフィードを処理して異常検知を実行し、欠陥を即座にフラグ付けします。この自動化により、生産速度を落とすことなく、無駄が削減され、厳格な品質管理が保証されます。
推論エンジンと学習フレームワークの比較#
モデルの作成に使用されるソフトウェアと、それを実行するために使用されるエンジンを区別することは有用です。トレーニングフレームワーク(PyTorchやTensorFlowなど)は、アーキテクチャの設計、損失の計算、および教師あり学習を通じたパラメータの更新のためのツールを提供します。柔軟性とデバッグ機能を優先します。
対照的に、推論エンジンはトレーニングフレームワークから完成したアーティファクトを受け取り、実行速度とメモリ効率を優先します。トレーニングフレームワーク内で推論を実行することは可能ですが、特にTensorFlow LiteやApple Core MLなどのツールを使用してモバイルフォンや組み込みデバイスにデプロイする場合、専用のエンジンを使用するほど効率的であることはめったにありません。
Ultralytics YOLO26 で推論エンジンを使用する#
ultralyticsパッケージは推論エンジンの複雑さの多くを抽象化し、ユーザーがシームレスに予測を実行できるようにします。内部では、画像のの前処理とモデルの実行を処理します。スケールアップを検討しているユーザーのために、Ultralytics Platformは、さまざまな推論エンジンと互換性のある最適化された形式へのモデルのトレーニングとエクスポートのプロセスを簡素化します。
次の例は、事前訓練済みのYOLO26モデルをロードし、画像に対して推論を実行する方法を示しています:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()





