Amazon FSx for Lustre を使用するようにデータ入力チャネルを設定する - Amazon SageMaker

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

Amazon FSx for Lustre を使用するようにデータ入力チャネルを設定する

Amazon FSx for Lustre をデータソースとして使用して、データのロード時間を短縮することで、スループットを高め、トレーニングを高速化する方法について説明します。

注記

P4d や P3dn などの EFA対応インスタンスを使用する場合は、セキュリティグループで適切なインバウンドルールと出力ルールを設定してください。特に、トレーニングジョブで Amazon FSx ファイルシステムにアクセスするには SageMaker 、これらのポートを開く必要があります。詳細については、「Amazon でのファイルシステムアクセスコントロールVPC」を参照してください。

Amazon S3 と Amazon FSx for Lustre を同期する

Amazon S3 を Amazon FSx for Lustre にリンクし、トレーニングデータセットをアップロードするには、以下を実行します。

  1. データセットを準備して Amazon S3 バケットにアップロードします。例えば、トレーニングデータセットとテストデータセットの Amazon S3 パスが次の形式であると仮定します。

    s3://amzn-s3-demo-bucket/data/train s3://amzn-s3-demo-bucket/data/test
  2. トレーニングデータを含む Amazon S3 バケットにリンクされた FSx for Lustre ファイルシステムを作成するには、「Amazon FSx for Lustre ユーザーガイド」の「ファイルシステムを Amazon S3 バケットにリンクする」のステップに従います。Amazon S3 アクセスVPCを許可する にエンドポイントを追加していることを確認してください。詳細については、「Amazon S3 VPCエンドポイントを作成する」を参照してください。データリポジトリパス を指定するときは、データセットを含むフォルダURIの Amazon S3 バケットを指定します。例えば、ステップ 1 の S3 パスの例に基づくと、データリポジトリのパスは次のようになります。

    s3://amzn-s3-demo-bucket/data
  3. FSx for Lustre ファイルシステムを作成したら、次のコマンドを実行して設定情報を確認します。

    aws fsx describe-file-systems && \ aws fsx describe-data-repository-association

    これらのコマンドは FileSystemIdMountNameFileSystemPath、および DataRepositoryPath を返します。例えば、出力は以下のようになるはずです。

    # Output of aws fsx describe-file-systems "FileSystemId": "fs-0123456789abcdef0" "MountName": "1234abcd" # Output of aws fsx describe-data-repository-association "FileSystemPath": "/ns1", "DataRepositoryPath": "s3://amzn-s3-demo-bucket/data/"

    Amazon S3 と Amazon の同期FSxが完了すると、データセットは次のディレクトリFSxに Amazon に保存されます。

    /ns1/train # synced with s3://amzn-s3-demo-bucket/data/train /ns1/test # synced with s3://amzn-s3-demo-bucket/data/test

Amazon FSx ファイルシステムパスを SageMaker トレーニングのデータ入力チャネルとして設定する

次の手順では、Amazon FSx ファイルシステムを SageMaker トレーニングジョブのデータソースとして設定するプロセスについて説明します。

Using the SageMaker Python SDK

Amazon FSx ファイルシステムをデータソースとして適切に設定するには、FileSystemInput以下の手順に従って、 推定器クラスと を設定します SageMaker。

  1. FileSystemInput クラスオブジェクトを設定します。

    from sagemaker.inputs import FileSystemInput train_fs = FileSystemInput( file_system_id="fs-0123456789abcdef0", file_system_type="FSxLustre", directory_path="/1234abcd/ns1/", file_system_access_mode="ro", )
    ヒント

    を指定するときはdirectory_path、 で始まる Amazon FSx ファイルシステムパスを必ず指定してくださいMountName

  2. Amazon FSx ファイルシステムに使用されるVPC設定で SageMaker 推定器を設定します。

    from sagemaker.estimator import Estimator estimator = Estimator( ... role="your-iam-role-with-access-to-your-fsx", subnets=["subnet-id"], # Should be the same as the subnet used for Amazon FSx security_group_ids="security-group-id" )

    SageMaker トレーニングジョブのIAMロールに、Amazon にアクセスして Amazon から読み取るアクセス許可があることを確認しますFSx。

  3. Amazon FSx ファイルシステムで estimator.fit メソッドを実行して、トレーニングジョブを起動します。

    estimator.fit(train_fs)

コード例の詳細については、SageMaker Python SDKドキュメント「トレーニング入力としてファイルシステムを使用する」を参照してください。

Using the SageMaker CreateTrainingJob API

CreateTrainingJob リクエスト の一部としてJSON、InputDataConfig次のように を設定します。

"InputDataConfig": [ { "ChannelName": "string", "DataSource": { "FileSystemDataSource": { "DirectoryPath": "/1234abcd/ns1/", "FileSystemAccessMode": "ro", "FileSystemId": "fs-0123456789abcdef0", "FileSystemType": "FSxLustre" } } } ],
ヒント

を指定するときはDirectoryPath、 で始まる Amazon FSx ファイルシステムパスを必ず指定してくださいMountName