

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

# AWS Clean Rooms ML での増分トレーニングの使用
<a name="use-incremental-training"></a>

前提条件: 
+ にアクセスできる AWS アカウント 。 AWS Clean Rooms
+ コラボレーションの既存のトレーニング済みモデル 
+ 増分トレーニング用の新規または更新されたデータセット 
+ コラボレーションで ML モデルを作成および管理するための適切なアクセス許可
+ 既存のモデルのハイパーパラメータと設定に関する知識 

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

段階的トレーニングは次の目的で使用します。
+ 前のトレーニングで考慮されなかった基盤となるパターンを持つ拡張データセットを使用して、新しいモデルをトレーニングします。
+ 異なるハイパーパラメータを使用するか、異なるデータセットを使用して、モデルの複数のバリアントをトレーニングします。

------
#### [ Console ]

**増分トレーニングジョブを実行するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cleanrooms](https://console.aws.amazon.com/cleanrooms/home) で AWS Clean Rooms コンソールを開きます。

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

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

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

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

1. **概要**ページの**バージョン** 

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

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

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

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

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

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

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

   1. **トレーニングデータ入力モードでは**、次のいずれかを選択します。
      + ML ストレージボリュームに収まる小さなデータセットがあり、トレーニングスクリプトに従来のファイルシステムアクセスを希望する場合は、**ファイル**を選択します。
      + 大規模なデータセットに**パイプ**を選択して S3 から直接データをストリーミングすると、すべてをディスクにダウンロードする必要がなくなるため、トレーニング速度が向上し、ストレージ要件が軽減されます。
      + S3 からのストリーミングの利点とファイルシステムアクセスを組み合わせる場合は、**FastFile** を選択します。特にデータのシーケンシャル読み取りや、起動時間の短縮のためにより少ないファイルを処理する場合は、FastFile を選択します。

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

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

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

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

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

   1. **Amazon S3 データディストリビューションタイプ**では、次のいずれかを選択します。
      + **完全にレプリケートされた** を選択して、各トレーニングインスタンスにデータセットの完全なコピーを提供します。これは、データセットがメモリに収まるほど小さい場合、または各インスタンスがすべてのデータにアクセスする必要がある場合に最適です。
      + **S3 キーでシャーディング**を選択して、S3 キーに基づいてデータセットをトレーニングインスタンス間で分割します。各インスタンスは、合計 S3 オブジェクトの約 1/n を受け取ります。ここで、「n」はインスタンスの数です。これは、並行して処理する大規模なデータセットに最適です。
**注記**  
ディストリビューションタイプを選択するときは、データセットのサイズとトレーニング要件を考慮してください。**完全にレプリケートされた** は完全なデータアクセスを提供しますが、より多くのストレージが必要です。一方、**S3 キーによるシャーディング**により、大規模なデータセットの分散処理が可能になります。

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

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

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

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

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

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

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

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

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

------
#### [ 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`)。

------

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