【ばっちすいろん】

バッチ推論 とは?

最終更新:
💡 急がないAIの仕事は、まとめてお願い

すぐに結果を返す必要がない多数の入力を、まとめてAIモデルに処理させ、後から結果を受け取る方式。夜間の文書分類や画像分析などに使う。オンライン推論でも内部で複数の入力をまとめて計算することがある。

📌 このページのポイント
急がない入力を、まとめて推論入力を用意文書・画像などまとめて送るジョブで処理AIモデルが予測・分類結果を受け取る後から読むファイルなどすぐ返事が必要か、で使い分けよう
夜間の文書分類などをジョブで処理する例。費用や完了までの時間は構成・サービスで変わります。
ひよこ ひよこ
推論って、1件ずつ質問するものじゃないの?
ペンギン先生 ペンギン先生
推論は、学習済みのモデルから予測や回答を得る処理だよ。バッチ推論では、たとえば夜間に1万件の問い合わせ文を分類するように、多数の入力をジョブとして送って、後から結果を受け取るんだ。チャットのように、その場で返事が必要な仕事にはオンライン推論が向いているね。
ひよこ ひよこ
まとめると、必ず安くて速くなる?
ペンギン先生 ペンギン先生
必ずではないよ。まとまった仕事に計算資源を使える利点はあるけれど、準備や待ち時間もかかる。モデル、入力の大きさ、計算機、サービスの料金によって変わるので、費用だけでなく「いつまでに何件終わるか」も比べよう。
ひよこ ひよこ
実際のサービスでは、どう処理するの?
ペンギン先生 ペンギン先生
AWSのSageMaker Batch Transformなら、S3に置いた入力ファイルを指定してジョブを作り、処理結果もS3に保存するよ。リアルタイム用のエンドポイントを常時動かす必要はない。結果の読み込みなど、前後の処理は別に用意するんだ。
ひよこ ひよこ
入力ファイルを1つにまとめればいい?
ペンギン先生 ペンギン先生
それもサービス次第だよ。SageMaker Batch Transformはファイルを計算機へ分配するため、入力が1ファイルだけだと、複数の計算機を指定しても使われないものが出る。ファイルの分け方、1回にモデルへ渡す量、並列数を調整することが大切なんだ。
ひよこ ひよこ
オンライン推論では、バッチは使わないの?
ペンギン先生 ペンギン先生
使うこともあるよ。利用者への応答はオンラインでも、内部では複数の入力を小さくまとめて計算できる。ジョブ全体を後から受け取る「バッチ推論」と、計算を効率化するための「小さなバッチ」は分けて考えるとわかりやすいね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「バッチ推論」って出てきたら「急がないAIの仕事をまとめて処理する方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Batch Inference」 = まとめて行う推論
💬 batchはひとまとまり、inferenceは学習済みモデルから予測や回答を得る処理という意味だよ。

参考資料

← 用語集にもどる