データセットにアクセスするためのトレーニングジョブの設定 - Amazon SageMaker

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

データセットにアクセスするためのトレーニングジョブの設定

トレーニングジョブを作成するときは、選択したデータストレージ内のトレーニングデータセットの場所と、ジョブのデータ入力モードを指定します。Amazon SageMaker は、Amazon Simple Storage Service (Amazon S3)、Amazon Elastic File System (Amazon EFS)、Amazon FSx for Lustre をサポートしています。入力モードのいずれかを選択して、データセットをリアルタイムでストリーミングするか、トレーニングジョブの開始時にデータセット全体をダウンロードすることができます。

注記

データセットは、トレーニングジョブ AWS リージョン と同じ に存在する必要があります。

SageMaker 入力モードと AWS クラウドストレージオプション

このセクションでは、Amazon EFSおよび Amazon FSx for Lustre に保存されているデータ SageMaker に対して がサポートするファイル入力モードの概要を示します。

Amazon S3 と Amazon EFS FSx for Lustre のファイルシステムの SageMaker 入力モードの概要。
  • File モードでは、トレーニングコンテナへのデータセットをファイルシステムビューで表示します。他の 2 つのオプションのいずれかを明示的に指定しない場合、これがデフォルトの入力モードになります。ファイルモードを使用する場合、 はトレーニングデータをストレージの場所から Docker コンテナのローカルディレクトリに SageMaker ダウンロードします。トレーニングは、データセットのすべてがダウンロードされた後に開始されます。ファイルモードでは、トレーニングインスタンスにはデータセット全体を収めるのに十分なストレージ容量が必要です。ファイルモードのダウンロード速度は、データセットのサイズ、ファイルの平均サイズ、およびファイル数によって異なります。Amazon S3 プレフィックス、マニフェストファイル、または拡張マニフェストファイルのいずれかを指定することで、データセットをファイルモードに設定できます。すべてのデータセットファイルが共通の S3 プレフィックス内にある場合は、S3 プレフィックスを使用する必要があります。ファイルモードは、SageMaker ローカルモード ( SageMaker トレーニングコンテナをインタラクティブに数秒で起動) と互換性があります。分散型トレーニングでは、ShardedByS3Key オプションを使用してデータセットを複数のインスタンスに分散できます。

  • 高速ファイルモードでは、パイプモードのパフォーマンスにおける利点を生かしながら Amazon S3 データソースにファイルシステムとしてアクセスできます。高速ファイルモードでは、トレーニングの開始時にデータファイルを識別しますが、ダウンロードはしません。トレーニングは、データセットのすべてがダウンロードされるのを待たずに開始できます。つまり、指定した Amazon S3 プレフィックスに含まれるファイルの数が少ないほど、トレーニングの開始にかかる時間が短くなります。

    パイプモードとは異なり、高速ファイルモードではデータにランダムにアクセスできます。ただし、データを順番に読み取る場合が最も効果的です。高速ファイルモードは拡張マニフェストファイルをサポートしていません。

    高速ファイルモードでは、トレーニングインスタンスのローカルディスクでファイルが利用可能であるかのように、 POSIX準拠のファイルシステムインターフェイスを使用して S3 オブジェクトを公開します。トレーニングスクリプトがデータを消費すると、S3 コンテンツをオンデマンドでストリーミングします。つまり、データセット全体がトレーニングインスタンスのストレージスペースに収まる必要がなくなり、トレーニングを開始する前にデータセットがトレーニングインスタンスにダウンロードされるのを待つ必要がなくなります。高速ファイルは現在 S3 プレフィックスのみをサポートしています (マニフェストと拡張マニフェストはサポートしていません)。高速ファイルモードは SageMaker ローカルモードと互換性があります。

  • Pipe モードでは、データは Amazon S3 データソースから直接ストリーミングされます。ストリーミングにより、ファイルモードよりトレーニングジョブの開始時間が短縮され、スループットが向上します。

    データを直接ストリーミングすると、トレーニングインスタンスで使用される Amazon EBSボリュームのサイズを縮小できます。パイプモードでは、最終的なモデルアーティファクトを保存するのに十分なディスク容量が必要です。

    これは、新しい simpler-to-use高速ファイルモードに置き換えられる別のストリーミングモードです。パイプモードでは、データは高い同時実行性とスループットで Amazon S3 からプリフェッチされ、その動作の (FIFO) パイプとも呼ばれ First-In-First-Outる名前付きパイプにストリーミングされます。各パイプは 1 つのプロセスでのみ読み取ることができます。テキスト、、 SageMakerTFRecordsまたは RecordIO ファイル形式のストリーミングのために、パイプモードをネイティブ TensorFlow データローダーに TensorFlow 便利に統合するための特定の拡張機能。パイプモードは、マネージドシャーディングとデータのシャッフルもサポートします。

  • Amazon S3 Express One Zone は、 SageMaker モデルトレーニングなど、レイテンシーの影響を受けやすいアプリケーションに一貫した 1 桁のミリ秒単位のデータアクセスを提供できる、高性能の単一のアベイラビリティーゾーンストレージクラスです。Amazon S3 Express One Zone を使用すると、お客様はオブジェクトストレージとコンピューティングリソースを 1 つの AWS アベイラビリティーゾーンにコロケーションできるため、データ処理速度が向上し、コンピューティングパフォーマンスとコストの両方を最適化できます。アクセス速度をさらに向上させ、1 秒あたり数十万件のリクエストをサポートするために、データは新しいバケットタイプである Amazon S3 ディレクトリバケットに保存されます。

    SageMaker モデルトレーニングでは、ファイルモード、高速ファイルモード、パイプモードのデータ入力場所として、高性能の Amazon S3 Express One Zone ディレクトリバケットがサポートされています。Amazon S3 Express One Zone を使用するには、Amazon S3 バケットの代わりに Amazon S3 Express One Zone ディレクトリバケットの場所を入力します。IAM ロールARNに必要なアクセスコントロールとアクセス許可ポリシーを に提供します。詳細については、「AmazonSageMakerFullAccesspolicy」を参照してください。出力データは、Amazon S3 マネージドキー (SSE-S3) によるサーバー側の暗号化 SageMakerを使用してディレクトリバケットでのみ暗号化できます。 AWS KMS キー (SSE-KMS) によるサーバー側の暗号化は現在、ディレクトリバケットへの出力データの保存 SageMakerではサポートされていません。詳細については、Amazon S3 Express One Zone」を参照してください。

  • Amazon FSx for Lustre – FSx for Lustre は、低レイテンシーのファイル取得IOPSにより、数百ギガバイトのスループットと数百万のスループットにスケールできます。トレーニングジョブを開始すると、 SageMaker は FSx for Lustre ファイルシステムをトレーニングインスタンスファイルシステムにマウントし、トレーニングスクリプトを開始します。マウント自体は比較的高速なオペレーションであり、Lustre FSx の に保存されているデータセットのサイズに依存しません。

    Lustre FSxの にアクセスするには、トレーニングジョブが Amazon Virtual Private Cloud (VPC) に接続する必要があります。これには DevOps セットアップと関与が必要です。データ転送コストを回避するには、ファイルシステムは単一のアベイラビリティーゾーンを使用し、トレーニングジョブの実行時にこのアベイラビリティーゾーン ID にマッピングされるVPCサブネットを指定する必要があります。

  • Amazon EFS – Amazon をデータソースEFSとして使用するには、トレーニングインスタンスに指定された Amazon EFS ファイルシステムを SageMaker マウントし、トレーニングスクリプトを起動EFSする前に、データがすでに Amazon に存在する必要があります。Amazon にアクセスするにはVPC、トレーニングジョブを に接続する必要がありますEFS。

    ヒント

    SageMaker 推定器VPCに設定を指定する方法の詳細については、SageMakerPython SDKドキュメント「トレーニング入力としてファイルシステムを使用する」を参照してください。