Amazon による推論のためのバッチ変換 SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon による推論のためのバッチ変換 SageMaker

以下を実行する必要がある場合は、バッチ変換を使用します。

  • データセットを前処理して、トレーニングや推論を妨げるノイズやバイアスをデータセットから取り除く場合。

  • 大規模なデータセットから推論を取得する場合。

  • 永続的なエンドポイントが不要なときに推論を実行する場合。

  • 入力レコードを推論に関連付けて、結果の解釈に役立てます。

推論を実行する前に入力データをフィルタリングしたり、入力レコードをそれらのレコードに関する推論と関連付けるには、予測結果を入力レコードに関連付ける を使用します。たとえば、入力データをフィルタリングして、出力データに関するレポートを作成および解釈するためのコンテキストを提供できます。

バッチ変換を使用して大規模なデータセットから推論を取得する

バッチ変換では、指定されたパラメータの範囲内で大規模なデータセットの処理を自動的に管理します。例えば、データセットファイル を S3 バケットにinput1.csv保存するとします。入力ファイルの内容は次の例のようになります。

Record1-Attribute1, Record1-Attribute2, Record1-Attribute3, ..., Record1-AttributeM Record2-Attribute1, Record2-Attribute2, Record2-Attribute3, ..., Record2-AttributeM Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM ... RecordN-Attribute1, RecordN-Attribute2, RecordN-Attribute3, ..., RecordN-AttributeM

バッチ変換ジョブが開始されると、 はコンピューティングインスタンス SageMaker を開始し、インスタンス間に推論または前処理ワークロードを分散します。バッチ変換では、キーによって入力の Amazon S3 オブジェクトを分割し、Amazon S3 オブジェクトをインスタンスにマッピングします。複数のファイルがある場合、1 つのインスタンスでは input1.csv を処理し、別のインスタンスでは input2.csv という名前のファイルを処理する場合があります。1 つの入力ファイルがあるが、複数のコンピューティングインスタンスを初期化する場合、1 つのインスタンスのみが入力ファイルを処理します。残りのインスタンスはアイドル状態です。

入力ファイルをミニバッチに分割することもできます。たとえば、レコード群から 2 つのファイルのみを含めることで、input1.csv からミニバッチを作成できます。

Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM Record4-Attribute1, Record4-Attribute2, Record4-Attribute3, ..., Record4-AttributeM
注記

SageMaker は、各入力ファイルを個別に処理します。MaxPayloadInMB の制限に準拠できるよう、別々の入力ファイルのミニバッチは結合されません。

バッチ変換ジョブを作成するときに入力ファイルをミニバッチに分割するには、SplitTypeパラメータ値を に設定しますLine。 は、次の場合に 1 回のリクエストで入力ファイル全体 SageMaker を使用します。

  • SplitTypeNone に設定されます。

  • 入力ファイルをミニバッチに分割することはできません。

。 バッチ変換は、改行文字が埋め込まれている CSV形式の入力をサポートしていないことに注意してください。ミニバッチのサイズは、BatchStrategy および MaxPayloadInMB パラメータを使用して制御できます。MaxPayloadInMB は 100 MB 以下にする必要があります。オプションの MaxConcurrentTransforms パラメータを指定する場合、(MaxConcurrentTransforms * MaxPayloadInMB) の値も 100 MB 以下にする必要があります。

バッチ変換ジョブが入力ファイル内のすべてのレコードを正常に処理すると、出力ファイルが作成されます。出力ファイルの名前と.out拡張子は同じです。複数の入力ファイル (input1.csvinput2.csv など) の場合、出力ファイルの名前は input1.csv.outinput2.csv.out などになります。バッチ変換ジョブでは、Amazon S3 内の指定された場所 (s3://amzn-s3-demo-bucket/output/ など) に出力ファイルを保存します。

出力ファイル内の予測は、入力ファイルの対応するレコードと同じ順に一覧表示されます。出力ファイル input1.csv.out は、前に示した入力ファイルに応じて、次のようになります。

Inference1-Attribute1, Inference1-Attribute2, Inference1-Attribute3, ..., Inference1-AttributeM Inference2-Attribute1, Inference2-Attribute2, Inference2-Attribute3, ..., Inference2-AttributeM Inference3-Attribute1, Inference3-Attribute2, Inference3-Attribute3, ..., Inference3-AttributeM ... InferenceN-Attribute1, InferenceN-Attribute2, InferenceN-Attribute3, ..., InferenceN-AttributeM

SplitTypeLine に設定した場合、AssembleWith パラメータを Line に設定して出力レコードを行区切り文字で連結できます。出力ファイルの数は変わりません。出力ファイルの数は入力ファイルの数と同じで、AssembleWith を使用してもファイルはマージされません。AssembleWith パラメータを指定しない場合、出力レコードはデフォルトでバイナリ形式で連結されます。

入力データが非常に大きく、HTTPチャンクエンコーディングを使用して送信される場合、データをアルゴリズムにストリーミングするには、 MaxPayloadInMB を に設定します0。Amazon SageMaker 組み込みアルゴリズムはこの機能をサポートしていません。

を使用してバッチ変換ジョブを作成する方法については、API「」を参照してくださいCreateTransformJobAPI。バッチ変換入力オブジェクトと出力オブジェクトの関係の詳細については、「」を参照してくださいOutputDataConfig。バッチ変換の使用方法の例については、「(オプション) バッチ変換を使用して予測を行う」を参照してください。

バッチ変換ジョブを高速化する

を使用している場合はCreateTransformJobAPI、パラメータに最適な値を使用して、バッチ変換ジョブの完了にかかる時間を短縮できます。これには、MaxPayloadInMB、、 MaxConcurrentTransformsなどのパラメータが含まれますBatchStrategyMaxConcurrentTransforms の理想的な値は、バッチ変換ジョブに含まれるコンピューティングワーカーの数と同じです。

SageMaker コンソールを使用している場合は、バッチ変換ジョブ設定ページの「追加設定」セクションで、これらの最適なパラメータ値を指定します。 は、組み込みアルゴリズムに最適なパラメータ設定 SageMaker を自動的に検出します。カスタムアルゴリズムの場合は、これらの値を execution-parameters エンドポイントを通じて指定します。

バッチ変換を使用して本番稼働用バリアントをテストする

異なるモデルまたはハイパーパラメータ設定をテストするには、新しいモデルバリアントごとに個別の変換ジョブを作成し、検証データセットを使用します。変換ジョブごとに、一意のモデル名と、出力ファイル用の Amazon S3 の場所を指定します。結果を分析するには、推論パイプラインのログとメトリクス を使用します。

バッチ変換サンプルノートブック

バッチ変換を使用するサンプルノートブックについては、「 PCAおよび DBSCAN Movie Clusters を使用したバッチ変換」を参照してください。このノートブックでは、プリンシパルコンポーネント分析 (PCA) モデルを使用したバッチ変換を使用して、ユーザー項目レビューマトリックス内のデータを削減します。次に、ノイズ (DBSCAN) アルゴリズムを持つアプリケーションの密度ベースの空間クラスター化を、映画をクラスター化するためのアプリケーションを示します。

で例を実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする手順については SageMaker、「」を参照してくださいAmazon SageMaker Notebook インスタンス。ノートブックインスタンスを作成して開いたら、SageMakerサンプルタブを選択してすべての SageMaker サンプルのリストを表示します。NTM アルゴリズムを使用するトピックモデリングのサンプルノートブックは、高度な機能セクションにあります。ノートブックを開くには、その [使用] タブを選び、次に [コピーを作成] を選択します。