

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

# AWS Clean Rooms ML でのトレーニング済みモデルの作成
<a name="create-trained-model"></a>

前提条件: 
+  AWS アカウント にアクセスできる AWS Clean Rooms
+ でセットアップされたコラボレーション AWS Clean Rooms
+ コラボレーションに関連付けられた設定済みモデルアルゴリズム
+ 少なくとも 1 つの設定された ML 入力チャネル
+ コラボレーションで ML モデルを作成および管理するための適切なアクセス許可

設定されたモデルアルゴリズムをコラボレーションに関連付け、ML 入力チャネルを作成して設定したら、トレーニング済みモデルを作成する準備が整います。トレーニング*済みモデルは*、共同でデータを分析するためにコラボレーションのメンバーによって使用されます。

次の手順を使用して、トレーニング済みモデルを作成できます。

または、増分トレーニングを使用して新しいデータで既存のモデルを改善したり、分散トレーニングを使用して複数のコンピューティングインスタンスにまたがってモデルをトレーニングしたりできます。

**Topics**
+ [AWS Clean Rooms ML での増分トレーニングの使用](use-incremental-training.md)
+ [AWS Clean Rooms ML での分散トレーニングの使用](use-distributed-training.md)

------
#### [ 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. Name に****、コラボレーションでモデルの一意の名前を入力します。

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

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

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)

モデルをトレーニングできるメンバーは、ML 入力チャネルとモデルアルゴリズムを選択してトレーニングを開始します。

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

```
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
    },
    dataChannels=[
        {
            "mlInputChannelArn": channel_arn_1,
            "channelName": "{{channel_name}}"
        },
        {
            "mlInputChannelArn": channel_arn_2,
            "channelName": "{{channel_name}}"
        }
    ]
)
```

------

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