推論
読み: すいろん
学習済みモデルに新しいデータを入力し、予測結果を出力するプロセス。学習 (訓練) とは異なり、パラメータの更新は行わない。
推論 (Inference) は、訓練が完了したニューラルネットワークに未知のデータを入力し、分類ラベル、バウンディングボックス、セグメンテーションマスクなどの予測結果を得るプロセスである。学習フェーズではパラメータを更新するが、推論フェーズでは重みを固定したまま順伝播のみを実行する。
推論の性能は速度 (レイテンシ) と精度のバランスで評価される。リアルタイム物体検出では 1 フレームあたり 33ms 以下 (30 FPS) の推論速度が求められる。YOLOv8 は GPU 上で 1 枚あたり約 1.5ms、モバイル向けの MobileNetV3 は CPU 上で約 5ms の推論時間を達成する。
- バッチ推論: 複数の入力を一括処理することで GPU の並列性を活用し、スループットを向上させる。サーバーサイドでは 8-64 枚のバッチサイズが一般的
- エッジ推論: スマートフォンや IoT デバイス上でモデルを実行する。TensorFlow Lite、ONNX Runtime、Core ML などの推論エンジンがモデルを最適化して実行する
- 推論最適化: 量子化 (FP32 → INT8)、プルーニング (不要な重みの除去)、知識蒸留 (大きなモデルの知識を小さなモデルに転写) により、精度を維持しつつ推論速度を向上させる
WebAssembly (Wasm) を利用したブラウザ上での推論も実用化が進んでおり、サーバーへの通信なしにクライアント側で画像処理を完結できる。プライバシー保護とレイテンシ削減の両面で利点がある。推論コストはクラウド運用費の大部分を占めるため、モデルの軽量化は実運用上の重要課題である。