バッチ変換の使用 - 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 に設定します。SplitType が に設定されている場合、Noneまたは入力ファイルをミニバッチに分割できない場合、 は入力ファイル全体を 1 回のリクエストで SageMaker 使用します。バッチ変換は、埋め込まれた改行文字を含む CSV 形式の入力をサポートしていません。ミニバッチのサイズは、BatchStrategy および MaxPayloadInMB パラメータを使用して制御できます。MaxPayloadInMB は 100 MB 以下にする必要があります。オプションの MaxConcurrentTransforms パラメータを指定する場合、(MaxConcurrentTransforms * MaxPayloadInMB) の値も 100 MB 以下にする必要があります。

バッチ変換ジョブが入力ファイル内のすべてのレコードの処理に成功すると、同じ名前とファイル拡張子 (.out) で出力ファイルが作成されます。複数の入力ファイル (input1.csvinput2.csv など) の場合、出力ファイルの名前は input1.csv.outinput2.csv.out などになります。バッチ変換ジョブでは、Amazon S3 内の指定された場所 (s3://awsexamplebucket/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 チャンクエンコーディングで送信して、データをアルゴリズムにストリーミングする場合、MaxPayloadInMB0 に設定します。Amazon SageMaker 組み込みアルゴリズムはこの機能をサポートしていません。

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

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

CreateTransformJob API を使用している場合は、MaxPayloadInMBMaxConcurrentTransforms、または BatchStrategy などのパラメータに最適値を使用することで、バッチ変換ジョブの完了にかかる時間を短縮できます。MaxConcurrentTransforms の理想的な値は、バッチ変換ジョブに含まれるコンピューティングワーカーの数と同じです。 SageMaker コンソールを使用している場合は、バッチ変換ジョブ設定ページの「追加設定」セクションでこれらの最適なパラメータ値を指定できます。 は、組み込みアルゴリズムに最適なパラメータ設定 SageMaker を自動的に見つけます。カスタムアルゴリズムの場合は、これらの値を execution-parameters エンドポイントを通じて指定します。

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

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

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

主成分分析 (PCA) モデルを使用したバッチ変換を使用してユーザー項目のレビューマトリックスのデータを削減し、その後にノイズ (DBSCAN) アルゴリズムを使用したアプリケーションの密度ベースの空間クラスタリングを適用してムービーをクラスター化するサンプルノートブックについては、「PCA および DBSCAN ムービークラスターを使用したバッチ変換」を参照してください。で例を実行するために使用できる Jupyter Notebook インスタンスを作成してアクセスする手順については SageMaker、「」を参照してくださいAmazon SageMaker Notebook インスタンス。ノートブックインスタンスを作成して開いたら、SageMaker 「例」タブを選択すると、すべての SageMaker 例のリストが表示されます。NTM アルゴリズムを使用するトピックモデリングのサンプルノートブックは、高度な機能のセクションにあります。ノートブックを開くには、その [使用] タブを選び、次に [コピーを作成] を選択します。