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

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

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

前提条件:

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

  • コラボレーションの既存のトレーニング済みモデル

  • 増分トレーニング用の新規または更新されたデータセット

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

  • 既存のモデルのハイパーパラメータと設定に精通していること

増分トレーニングでは、既存のモデルと更新されたデータセットのアーティファクトを使用して、新しいモデルをトレーニングできます。段階的トレーニングは時間とリソースの両方を節約します。

段階的トレーニングは次の目的で使用します。

  • 前のトレーニングで考慮されなかった基盤となるパターンを持つ拡張データセットを使用して、新しいモデルをトレーニングします。

  • 異なるハイパーパラメータを使用するか、異なるデータセットを使用して、モデルの複数のバリアントをトレーニングします。

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

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

  3. コラボレーションページで、増分トレーニングに使用するモデルアーティファクトが存在するコラボレーションを選択します。

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

  5. カスタム ML モデル「トレーニング済みモデル」セクションで、段階的にトレーニングするトレーニング済みモデルの横にあるラジオボタンを選択します。

  6. 概要ページの「バージョン」の

    1. 段階的にトレーニングするトレーニング済みモデルの横にあるラジオボタンを選択します。

    2. バージョンからトレーニングを選択します。

  7. 「バージョンからトレーニング済みモデルを作成する」ページの「トレーニング済みモデルバージョン」で、バージョンを選択します。

    ベースモデルバージョンが自動的に選択されます。他のバージョンが存在する場合は、このバージョンを変更できます。

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

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

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

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

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

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

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

    4. 増分トレーニングチャネル名には、増分トレーニングチャネルの名前を入力します。

      注記

      バージョン ID なしで増分トレーニングチャネル名を指定すると、システムはベースモデルを使用して増分トレーニングを行います。

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

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

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

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

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

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

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

      注記

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

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

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

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

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

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

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

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

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

  15. 「バージョンからトレーニング済みモデルを作成する」を選択します。

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', resourceConfig={ 'instanceType': 'ml.m5.xlarge', 'volumeSizeInGB': 1 }, incrementalTrainingDataChannels=[ { 'trainedModelArn': trained_model_arn, 'channelName': 'channel_name' }, ] dataChannels=[ { 'mlInputChannelArn': channel_arn_1, 'channelName': 'channel_name' }, { 'mlInputChannelArn': channel_arn_2, 'channelName': 'channel_name' } ] )
注記

制限: 最大 20 チャネルの合計 ( dataChannelsと の両方を含むincrementalTrainingDataChannels)。

注記

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