用語集

リアルタイム推論

Ultralytics YOLO によるリアルタイム推論が、自律走行やセキュリティ・システムなどのAIアプリケーションの即時予測をどのように可能にするかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

リアルタイム推論とは、学習された機械学習(ML)モデルが、新しいデータが到着すると即座に予測や決定を行うプロセスを指す。時間をかけて収集されたデータをまとめて処理するバッチ推論とは異なり、リアルタイム推論は低レイテンシーと即時応答を優先します。この機能は、ライブ・データ・ストリームに基づく即時のフィードバックやアクションを必要とするアプリケーションに不可欠であり、変化する状況にシステムが動的に反応することを可能にする。

リアルタイム推論を理解する

実際には、リアルタイム推論とは、以下のようなMLモデルを展開することを意味する。 Ultralytics YOLOモデルのようなMLモデルを配置し、個々のデータ入力(ビデオフレームやセンサーの読み取り値など)を分析し、最小限の遅延で出力を生成できるようにすることです。重要なパフォーマンス指標は推論レイテンシ(入力を受けてから予測を生成するまでにかかる時間)です。低遅延を達成するためには、多くの場合、いくつかの戦略が必要となる:

  • モデルの最適化: モデルの量子化(モデル重みの精度を下げる)やモデルの刈り込み(重要度の低いモデルパラメータを削除する)などの技術を使用して、より小さく高速なモデルを作成する。
  • ハードウェアアクセラレーション: GPUTPU、またはエッジデバイス上の専用AIアクセラレーター(NVIDIA JetsonGoogle Coral EdgeTPU)のような専用ハードウェアを利用することで、計算が大幅にスピードアップする。
  • 効率的なソフトウェア:以下のような最適化された推論エンジンとランタイムを使用する。 TensorRT, OpenVINOまたはONNX Runtimeのような最適化された推論エンジンとランタイムを使用することで、ターゲットハードウェアのパフォーマンスを最大化することができます。フレームワーク PyTorchのようなフレームワークも効率的な推論をサポートする機能を提供している。

リアルタイム推論とバッチ推論

主な違いは、データの処理方法とそれに伴うレイテンシー要件にある:

  • リアルタイム推論:単一のデータポイントまたは小さなミニバッチを到着した時点で処理。即座に結果を得るために待ち時間を最小化することに重点を置く。インタラクティブなシステムやライブイベントに反応するアプリケーションに最適。
  • バッチ推論:時間をかけて蓄積された大量のデータを処理する。個々の予測のレイテンシーを最小化することよりも、スループット(大量のデータを効率的に処理すること)を最大化することに重点を置く。Google Cloudのバッチ予測の概要で説明されているように、オフライン分析、レポート、または即時の結果が重要でないタスクに適しています。

リアルタイム推論の応用

リアルタイム推論は、瞬時の意思決定が重要な現代のAIアプリケーションの多くを支えている:

  1. 自律システム:自動運転車は、物体検出(歩行者、車両、障害物の識別)とナビゲーションのためにリアルタイムの推論に大きく依存しており、車両が周囲の環境に即座に反応することを可能にしている。Ultralytics 、自動運転車用AIの開発によく使用されます。
  2. セキュリティと監視:AIを搭載したセキュリティ・システムは、リアルタイムの推論を使用して侵入を検出し、不審な活動を特定し、ライブ・ビデオ・フィードで群衆を監視し、即時の警告と対応を可能にする。
  3. ヘルスケア診断: 医療画像分析では、リアルタイム推論は、超音波のようなライブ画像で即座にフィードバックを提供したり、異常を強調したりすることで、処置中の医師を支援し、診断精度を向上させる可能性がある。
  4. 産業オートメーションリアルタイム推論は、生産ラインの欠陥を即座に特定したり、ロボットアームを正確な作業に誘導したりすることで、製造業における自動品質管理を可能にする。

Ultralytics HUBのようなプラットフォームは、モデルのトレーニング、最適化、デプロイのためのツールを提供し、様々なデプロイメントオプションにおけるリアルタイム推論ソリューションの実装を容易にする。

すべて読む