バッチ変換の使用 - Amazon SageMaker

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

バッチ変換の使用

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

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

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

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

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

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

バッチ変換の詳細については、「バッチ変換を使用してデータセット全体の推論を取得する」を参照してください。

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

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

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 はコンピューティングインスタンスを初期化して、これらのインスタンス間に推論または前処理のワークロードを分散します。Batch 変換では、キーによって入力の Amazon S3 オブジェクトを分割し、Amazon S3 オブジェクトをインスタンスにマッピングします。複数のファイルがある場合、1 つのインスタンスでは input1.csv を処理し、別のインスタンスでは input2.csv という名前のファイルを処理する場合があります。

大きなペイロードを下に保つにはの MaxPayloadInMB 制限では、入力ファイルをいくつかのミニバッチに分割できます。たとえば、レコード群から 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入力ファイルをミニバッチに分割できない場合、SageMaker は単一のリクエストで入力ファイル全体を使用します。

バッチ変換ジョブが入力ファイル内のすべてのレコードの処理に成功すると、同じ名前とファイル拡張子 (.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

複数の出力ファイルの結果を 1 つの出力ファイルに結合するには、設定: AssembleWithパラメータをLine

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

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

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

使用している OS CreateTransformJobAPI では、パラメータに最適な値を使用することで、バッチ変換ジョブの完了にかかる時間を短縮できます。など MaxPayloadInMB, MaxConcurrentTransforms, または BatchStrategy。SageMaker コンソールを使用している場合は、これらの最適なパラメーター値を追加設定の セクションBatch 変換ジョブの構成ページで. SageMaker は、組み込みアルゴリズムに最適なパラメータ設定を自動的に検出します。カスタムアルゴリズムの場合は、これらの値を実行パラメータエンドポイントにする必要があります。

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

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

バッチ変換エラー

SageMaker は、Amazon S3 を使用しますマルチパートアップロード APIバッチ変換ジョブの結果を Amazon S3 にアップロードします。エラーが発生すると、アップロードした結果が Amazon S3 から削除されます。ネットワーク停止が発生するなどの状況では、不完全なマルチパートアップロードが Amazon S3 に残る場合があります。ストレージ料金が発生しないように、S3 バケットライフサイクルルールに S3 バケットポリシーを追加することをお勧めします。このポリシーは、S3 バケットに保存されている可能性がある不完全なマルチパートアップロードを削除します。詳細については、「オブジェクトのライフサイクル管理」を参照してください。

データセットに問題があるためにバッチ変換ジョブが入力ファイルの処理に失敗すると、SageMaker はジョブをfailed。入力ファイルに不正なレコードが含まれている場合は、入力ファイルと同じ順番を変換済みデータで維持できないため、この入力ファイルの出力ファイルは変換ジョブで作成されません。データセットに複数の入力ファイルが含まれている場合は、1 つの入力ファイルの処理に失敗しても、変換ジョブは入力ファイルの処理を続行します。処理済みのファイルからは依然として使用可能な結果が生成されます。

超過 MaxPayloadInMB制限は、エラーになります。このエラーは、分割できない場合、大規模なデータセットで発生する可能性があります。 SplitTypeパラメータの設定none、またはデータセット内の個々のレコードが制限を超えています。

独自のアルゴリズムを使用している場合、このアルゴリズムは、入力ファイル内に不正なレコードを見つけると、ERROR などのプレースホルダーテキストを使用できます。たとえば、データセット内の最終レコードが不正である場合、アルゴリズムは、そのレコードのプレースホルダーテキストを出力ファイル内に配置します。

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

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