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