バッチ推論とは
バッチ推論(Batch Inference)とは、大量のデータをまとめて一括処理する推論方式です。リアルタイム推論が個別のリクエストに即座に応答するのに対し、バッチ推論は蓄積されたデータに対して定期的(毎時、毎日など)に推論を実行します。コスト効率が高く、大規模なデータ処理に適しています。
バッチ推論の適用場面
バッチ推論は、即座の応答が不要なユースケースに適しています。例えば、全ユーザーに対するレコメンデーションの事前計算、定期的な不正検知レポートの生成、大量ドキュメントの分類・要約、画像や動画の一括分析などが代表的な適用場面です。
バッチ推論の実装
バッチ推論の実装にはApache Spark、AWS Batch、Amazon SageMaker Batch Transform、Google Cloud Dataflow、Azure Batch AIなどが利用されます。データをチャンクに分割して複数のワーカーで並列処理し、結果をデータベースやストレージに書き出す構成が一般的です。
コスト最適化
バッチ推論ではスポットインスタンスやプリエンプティブVMを活用してコストを大幅に削減できます。リアルタイム性が不要なため、安価な時間帯やリソースに余裕のある時間帯にジョブを実行するスケジューリング戦略も有効です。GPUを常時起動しておく必要がないため、リアルタイム推論と比較してインフラコストを抑えられます。