AWS Clean Rooms ML での分散トレーニングの使用 - AWS Clean Rooms

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

AWS Clean Rooms ML での分散トレーニングの使用

前提条件:

  • にアクセスできる AWS アカウント 。 AWS Clean Rooms

  • でセットアップされたコラボレーション AWS Clean Rooms

  • 分散トレーニングをサポートする設定済みモデルアルゴリズム

  • 分散処理に適した大規模なデータセット

  • コラボレーションで ML モデルを作成および管理するための適切なアクセス許可

  • 分散トレーニング用に複数のインスタンスを実行するのに十分な Amazon EC2 クォータ

分散トレーニングは、大量のデータを処理し、モデルパラメータを効率的に更新するために並行して機能する多くのコンピューティングノードの能力を活用します。

分散トレーニングの詳細については、Amazon SageMakerデベロッパーガイド」の「分散トレーニングの概念」を参照してください。

Console
分散トレーニングジョブを実行するには (コンソール)
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cleanrooms で AWS Clean Rooms コンソールを開きます。

  2. 左のナビゲーションペインで、[コラボレーション] を選択します。

  3. コラボレーションページで、トレーニング済みモデルを作成するコラボレーションを選択します。

  4. コラボレーションが開いたら、ML モデルタブを選択します。

  5. 「カスタム ML モデル」の「トレーニング済みモデルの作成」セクションで「トレーニング済みモデルの作成」を選択します。

  6. トレーニング済みモデルの作成ページで、関連付けられたモデルアルゴリズムにアルゴリズムを指定します。

  7. トレーニング済みモデルの詳細については、次のように入力します。

    1. Name に、コラボレーションでモデルの一意の名前を入力します。

    2. (オプション) 説明 に、トレーニングされたモデルの説明を入力します。

    3. トレーニングデータ入力モードでは、次のいずれかを選択します。

      • ML ストレージボリュームに収まる小さなデータセットがあり、トレーニングスクリプトに従来のファイルシステムアクセスを希望する場合は、ファイルを選択します。

      • 大規模なデータセットにパイプを選択して S3 から直接データをストリーミングすると、すべてをディスクにダウンロードする必要がなくなるため、トレーニング速度が向上し、ストレージ要件が軽減されます。

      • S3 からのストリーミングの利点とファイルシステムアクセスを組み合わせる場合は、FastFile を選択します。特にデータのシーケンシャル読み取りや、起動時間の短縮のためにより少ないファイルを処理する場合は、FastFile を選択します。

  8. ML 入力チャネルの詳細については、以下を実行します。

    1. ML 入力チャネルでは、モデルアルゴリズムにデータを提供する ML 入力チャネルを指定します。

      別のチャネルを追加するには、別の ML 入力チャネルを追加する を選択します。最大 19 個の ML 入力チャネルを追加できます。

    2. チャネル名に、ML 入力チャネルの名前を入力します。

    3. Amazon S3 データディストリビューションタイプでは、次のいずれかを選択します。

      • 完全にレプリケートされた を選択して、各トレーニングインスタンスにデータセットの完全なコピーを提供します。これは、データセットがメモリに収まるほど小さい場合、または各インスタンスがすべてのデータにアクセスする必要がある場合に最適です。

      • S3 キーでシャーディングを選択して、S3 キーに基づいてデータセットをトレーニングインスタンス間で分割します。各インスタンスは、合計 S3 オブジェクトの約 1/n を受け取ります。ここで、「n」はインスタンスの数です。これは、並行して処理する大規模なデータセットに最適です。

      注記

      ディストリビューションタイプを選択するときは、データセットのサイズとトレーニング要件を考慮してください。完全にレプリケートされた は完全なデータアクセスを提供しますが、より多くのストレージが必要です。一方、S3 キーによるシャーディングにより、大規模なデータセットの分散処理が可能になります。

  9. 最大トレーニング期間 で、モデルをトレーニングする最大時間を選択します。

  10. ハイパーパラメータには、アルゴリズム固有のパラメータとその目的の値を指定します。ハイパーパラメータは、トレーニング対象のモデルに固有であり、モデルトレーニングを微調整するために使用されます。

  11. 環境変数には、アルゴリズム固有の変数とその目的の値を指定します。環境変数は Docker コンテナで設定されます。

  12. 暗号化でカスタム を使用するには AWS KMS key、カスタム KMS キーのチェックボックスで Encrypt シークレットを選択します。

  13. EC2 リソース設定では、モデルトレーニングに使用されるコンピューティングリソースに関する情報を指定します。

    1. インスタンスタイプで、実行するインスタンスのタイプを選択します。

      分散トレーニングでサポートされているインスタンスタイプは次のとおりです。

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. インスタンス数には、インスタンス数を入力します。

    3. ボリュームサイズを GB 単位で入力するには、ML ストレージボリュームサイズを入力します。

  14. トレーニング済みモデルの作成 を選択します。

API

分散トレーニングジョブを実行するには (API)

特定のパラメータを使用して次のコードを実行します。

import boto3 acr_ml_client= boto3.client('cleanroomsml') acr_ml_client.create_trained_model( membershipIdentifier= 'membership_id', configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier', name='trained_model_name', trainingInputMode: "File", resourceConfig={ 'instanceCount': "3" 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 3 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name", "S3DataDistributionType:" "FullyReplicated" } ] )
注記

トレーニング済みモデルを作成した後は、編集できません。変更するには、トレーニング済みモデルを削除し、新しいモデルを作成します。