480分ぶんの処理を32台で流しても、入力が1個のままなら483分かかりました。
31台は何も処理していません。台数ではなく、入力を何個に分けたかが上限を決めます。
呼ばれるたびに応える形ではありません。まとめて流し、終わったら片付ける形です。
バッチ推論が向く場面を、公式は箇条書きで挙げています。常駐する受け口が要らないときに推論を走らせるという項目が含まれます。
扱う量も前提のうちです。公式はまとめて変換する仕組みは、指定された引数の範囲の中で、大きなデータの集合の処理を自動的に管理すると述べています。
3番目と4番目では、立ち上げの時間が毎回かかります。常駐する形のほうが軽くなります。
常駐しないので、使っていない時間の費用が立ちません。
その代わり、立ち上げの時間が毎回かかります。呼ばれる頻度による損得はAWS Lambdaの記事で数えていて、0.2件/秒なら立ち上げに当たるのは0.0%でした。
Batch transform automatically manages the processing of large datasets within the limits of specified parameters.原文AWS ドキュメント「Batch transform for inference with Amazon SageMaker AI」 この内容の有効期限2027-02-18
並列の上限は台数ではなく、入力を何個に分けたかです。超えた台は待つだけです。
バッチ推論では、入力の分かれ方が台数の効き目を決めます。公式は入力のファイルが1個しかないのに複数の計算の実体を立ち上げた場合、その入力を処理するのは1つの実体だけであると明記しています。
残りは何もしません。公式も残りの実体は遊んでいると続けています。
どれだけ変わるかを数えました。480分ぶんの処理を、分け方と台数を変えて流します。
処理する量は全部で 480分ぶん(1台で流した場合)。1台の立ち上げに 3分 入力を何個に分けるかと、用意した台数を変えて、終わるまでの時間を見る 分けた数 1台 2台 8台 32台 (終わるまで) 1個 483分 483分 483分 483分 2個 483分 243分 243分 243分 8個 483分 243分 63分 63分 32個 483分 243分 63分 18分 128個 483分 243分 63分 18分
1個の行を見てください。台数を32倍にしても483分のままです。
最下行も同じ形です。128個に分けても、8台までしか用意しなければ63分で止まります。
動かなかった台の数 分けた数 1台 2台 8台 32台 1個 0台 1台 7台 31台 2個 0台 0台 6台 30台 8個 0台 0台 0台 24台 32個 0台 0台 0台 0台 128個 0台 0台 0台 0台
入力1個で32台なら、31台が何も処理しません。費用だけが立ちます。
揃った行を見てください。分けた数が台数以上なら、空きは0台になります。
公式も揃えることを勧めています。同時に走らせる数の望ましい値は、その仕事の中の計算の担い手の数に等しいという記述です。
分けた数が台数を下回ると、超えた分は動かない。
If you have one input file but initialize multiple compute instances, only one instance processes the input file.原文AWS ドキュメント「Batch transform for inference with Amazon SageMaker AI」 この内容の有効期限2027-02-18
台数を超えて分けても、終わるまでの時間は変わりません。合わせるのが無駄のない点です。
バッチ推論では、同時に走らせる数を台数に合わせます。公式は同時に走らせる数の望ましい値は、その仕事の中の計算の担い手の数に等しいと述べています。
前の表の最下2行がそれを示しています。32個と128個で、どの列も同じ値です。
4番目は表に出ています。8個を32台で流すと24台が空きました。
だから決め方は単純です。台数を決めてから、その数の倍数に分けることになります。
分けすぎると、1個あたりの立ち上げや読み込みの手間が積もります。この計測には入れていません。
実際には、分ける単位が小さすぎると処理そのものより準備のほうが長くなります。
だから上限は台数の倍数のうち、1個あたりが十分な大きさになる範囲で選ぶことになります。
1台の立ち上げに3分、全体で480分ぶんという値は置いたものです。分けた1個ずつの処理時間も等しいものとしました。実際には大きさに偏りがあり、いちばん大きい1個が終わるまで全体が終わりません。1個あたりの読み込みや書き出しの手間も含めていません。ここで見せているのは、並列の上限が台数ではなく分けた数で決まるという関係で、それは動いていない台を数えれば確かめられます。
The ideal value for MaxConcurrentTransforms is equal to the number of compute workers in the batch transform job.原文AWS ドキュメント「Batch transform for inference with Amazon SageMaker AI」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る