翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データセットにアクセスするようにトレーニングジョブを設定する
トレーニングジョブを作成するとき、ユーザーは、選択したデータストレージ内のトレーニングデータセットの場所と、そのジョブのデータ入力モードを指定します。Amazon SageMaker AI は、Amazon Simple Storage Service (Amazon S3)、Amazon Elastic File System (Amazon EFS)、Amazon FSx for Lustre をサポートしています。入力モードのいずれかを選択してデータセットをリアルタイムでストリーミングするか、トレーニングジョブの開始時にデータセット全体をダウンロードできます。
注記
データセットはトレーニングジョブ AWS リージョン と同じ に存在する必要があります。
SageMaker AI 入力モードと AWS クラウドストレージオプション
このセクションでは、Amazon EFS および Amazon FSx for Lustre に保存されているデータについて、SageMaker がサポートするファイル入力モードの概要を説明します。

-
File モードでは、トレーニングコンテナへのデータセットをファイルシステムビューで表示します。他の 2 つのオプションのいずれかを明示的に指定しない場合、これがデフォルトの入力モードになります。ファイルモードを使用する場合、SageMaker AI はトレーニングデータをストレージの場所から Docker コンテナのローカルディレクトリにダウンロードします。トレーニングは、データセットのすべてがダウンロードされた後に開始されます。ファイルモードでは、トレーニングインスタンスにはデータセット全体を収めるのに十分なストレージ容量が必要です。ファイルモードのダウンロード速度は、データセットのサイズ、ファイルの平均サイズ、およびファイル数によって異なります。Amazon S3 プレフィックス、マニフェストファイル、または拡張マニフェストファイルのいずれかを指定することで、データセットをファイルモードに設定できます。すべてのデータセットファイルが共通の S3 プレフィックス内にある場合は、S3 プレフィックスを使用する必要があります。ファイルモードは SageMaker AI ローカルモード
(SageMaker トレーニングコンテナをインタラクティブに数秒で開始) と互換性があります。分散型トレーニングでは、 ShardedByS3Key
オプションを使用してデータセットを複数のインスタンスに分散できます。 -
高速ファイルモードでは、パイプモードのパフォーマンスにおける利点を生かしながら Amazon S3 データソースにファイルシステムとしてアクセスできます。高速ファイルモードでは、トレーニングの開始時にデータファイルを識別しますが、ダウンロードはしません。トレーニングは、データセットのすべてがダウンロードされるのを待たずに開始できます。つまり、指定した Amazon S3 プレフィックスに含まれるファイルの数が少ないほど、トレーニングの開始にかかる時間が短くなります。
パイプモードとは異なり、高速ファイルモードではデータにランダムにアクセスできます。ただし、データを順番に読み取る場合が最も効果的です。高速ファイルモードは拡張マニフェストファイルをサポートしていません。
高速ファイルモードでは、あたかもトレーニングインスタンスのローカルディスクにファイルがあるかのように、POSIX 準拠のファイルシステムインターフェイスを使用して S3 オブジェクトを公開します。トレーニングスクリプトがデータを消費すると、S3 コンテンツをオンデマンドでストリーミングします。つまり、データセット全体がトレーニングインスタンスのストレージスペースに収まる必要がなくなり、トレーニングを開始する前にデータセットがトレーニングインスタンスにダウンロードされるのを待つ必要がなくなります。高速ファイルは現在 S3 プレフィックスのみをサポートしています (マニフェストと拡張マニフェストはサポートしていません)。高速ファイルモードは SageMaker AI ローカルモードと互換性があります。
-
Pipe モードでは、データは Amazon S3 データソースから直接ストリーミングされます。ストリーミングにより、ファイルモードよりトレーニングジョブの開始時間が短縮され、スループットが向上します。
データを直接ストリーミングすると、トレーニングインスタンスで使用される Amazon EBS ボリュームのサイズを縮小できます。パイプモードでは、最終的なモデルアーティファクトを保存するのに十分なディスク容量が必要です。
これはもう 1 つのストリーミングモードですが、主に新しくて使いやすい高速ファイルモードに置き換えられています。パイプモードでは、データは Amazon S3 から高い同時実行性とスループットでプリフェッチされ、名前付きパイプにストリーミングされます。名前付きパイプは、その動作から先入れ先出し (FIFO) パイプとも呼ばれます。各パイプは 1 つのプロセスでのみ読み取ることができます。TensorFlow への SageMaker AI 固有の拡張機能は、テキスト、TFRecords、または RecordIO ファイル形式をストリーミングするために、パイプモードをネイティブ TensorFlow データローダーに簡単に統合
します。 TFRecords RecordIO パイプモードは、マネージドシャーディングとデータのシャッフルもサポートします。 -
Amazon S3 Express One Zone は、SageMaker モデルトレーニングなどの最もレイテンシーに敏感なアプリケーションに一貫した 1 桁ミリ秒のデータアクセスを提供できる高パフォーマンスの単一アベイラビリティーゾーン (AZ) ストレージクラスです。Amazon S3 Express One Zone を使用すると、お客様はオブジェクトストレージとコンピューティングリソースを 1 つの AWS アベイラビリティーゾーンにコロケーションできるため、データ処理速度が向上し、コンピューティングパフォーマンスとコストの両方を最適化できます。アクセス速度をさらに向上させ、1 秒あたり数十万ものリクエストに対応するために、データは新しいバケットタイプ、つまり Amazon S3 ディレクトリバケットに保存されます。
SageMaker AI モデルトレーニングは、ファイルモード、高速ファイルモード、パイプモードのデータ入力場所として、高性能な Amazon S3 Express One Zone ディレクトリバケットをサポートします。Amazon S3 Express One Zone を使用するには、Amazon S3 バケットの代わりに、Amazon S3 Express One Zone ディレクトリバケットの場所を入力します。IAM ロールの ARN に、必要なアクセスコントロールとアクセス許可ポリシーを指定します。詳細については、「AmazonSageMakerFullAccesspolicy」を参照してください。SageMaker AI 出力データは、Amazon S3 マネージドキー (SSE-S3) によるサーバー側の暗号化でのみディレクトリバケットで暗号化できます。 AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) は現在、SageMaker AI 出力データをディレクトリバケットに保存するためにサポートされていません。詳細については、「Amazon S3 Express One Zone」を参照してください。
-
Amazon FSx for Lustre – FSx for Lustre では、低レイテンシーのファイル取得により、数百ギガバイトのスループットと数百万の IOPS に拡張できます。トレーニングジョブを開始すると、SageMaker AI は FSx for Lustre ファイルシステムをトレーニングインスタンスファイルシステムにマウントし、トレーニングスクリプトを開始します。マウント自体は比較的高速な操作で、FSx for Lustre に保存されているデータセットのサイズには依存しません。
FSx for Lustre にアクセスするには、トレーニングジョブを Amazon Virtual Private Cloud (VPC) に接続する必要があります。これには DevOps の設定と関与が必要です。データ転送コストを回避するために、ファイルシステムは単一のアベイラビリティーゾーンを使用するため、トレーニングジョブの実行時にこのアベイラビリティーゾーン ID にマップする VPC サブネットを指定する必要があります。
-
Amazon EFS – Amazon EFS をデータソースとして使用するには、トレーニング前にデータが既に Amazon EFS に存在している必要があります。SageMaker AI は、指定された Amazon EFS ファイルシステムをトレーニングインスタンスにマウントし、トレーニングスクリプトを開始します。Amazon EFS にアクセスするには、トレーニングジョブを VPC に接続する必要があります。
ヒント
SageMaker AI 推定器に VPC 設定を指定する方法の詳細については、SageMaker AI Python SDK ドキュメントの「Use File Systems as Training Inputs
」を参照してください。