

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

# AWS Clean Rooms ML での ML 入力チャネルの作成
<a name="create-ml-input-channel"></a>

**前提条件:**
+ にアクセスできる AWS アカウント 。 AWS Clean Rooms
+ ML 入力チャネルを作成する AWS Clean Rooms にセットアップされたコラボレーション
+ コラボレーションでデータをクエリし、ML 入力チャネルを作成するアクセス許可。
+ (オプション) ML 入力チャネルに関連付ける既存のモデルアルゴリズム、または新しい入力チャネルを作成するアクセス許可
+ (オプション) 指定したモデルに対して実行できる分析ルールを含むテーブル。
+ (オプション) データセットの生成に使用する既存の SQL クエリまたは分析テンプレート
+ (オプション) 適切なアクセス許可、または新しいサービスロールを作成するためのアクセス許可を持つ既存のサービスロール
+ (オプション) 独自の暗号化 AWS KMS キーを使用する場合のカスタムキー
+ コラボレーションで ML モデルを作成および管理するための適切なアクセス許可

*ML 入力チャネル*は、特定のデータクエリから作成されるデータセットです。データをクエリできるメンバーは、ML 入力チャネルを作成することで、トレーニングと推論のためにデータを準備できます。ML 入力チャネルを作成すると、そのデータを同じコラボレーション内のさまざまなトレーニングモデルで使用できます。トレーニングと推論用に個別の ML 入力チャネルを作成する必要があります。

ML 入力チャネルを作成するには、入力データのクエリと ML 入力チャネルの作成に使用される SQL クエリを指定する必要があります。このクエリの結果はメンバーと共有されることはなく、Clean Rooms ML の境界内にとどまります。リファレンス Amazon リソースネーム (ARN) は、次のステップでモデルのトレーニングや推論の実行に使用されます。

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

**ML 入力チャネルを作成するには (コンソール)**

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

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

1. **コラボレーション**ページで、ML 入力チャネルを作成するコラボレーションを選択します。

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

1. **カスタム ML モデル** の **ML 入力チャネル** セクションで、**ML 入力チャネルの作成** を選択します。

1. **ML 入力チャネルの作成**ページで、**ML 入力チャネルの詳細**について、次の操作を行います。

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

   1. (オプション) **説明** に、チャネルの説明を入力します。

   1. **関連付けられたモデルアルゴリズム**で、使用するアルゴリズムを選択します。

      **モデルアルゴリズムを関連付け**を選択して新しいアルゴリズムを追加します。

1. **データセット** で、トレーニングデータセットを生成する方法を選択します。
   + **SQL クエリ**を選択して、SQL クエリの結果をトレーニングデータセットとして使用します。

     **SQL クエリ**を選択した場合は、SQL クエリフィールドに**クエリ**を入力します。

     (オプション) 最近使用したクエリをインポートするには、**最近のクエリからインポート**を選択します。
   + **分析テンプレート**を選択して、分析テンプレートの結果をトレーニングデータセットとして使用します。
**警告**  
合成データ生成は、特定の個人が元のデータセットに存在するか、それらの個人の学習属性が存在するかにかかわらず、個々の属性を推測するのを防ぎます。ただし、個人を特定できる情報 (PII) を含む元のデータセットのリテラル値が合成データセットに表示されるのを防ぐことはできません。  
1 つのデータサブジェクトのみに関連付けられている入力データセット内の値は、データセットを再識別する可能性があるため、避けることをお勧めします。たとえば、郵便番号にユーザーが 1 人しかいない場合、合成データセットにその郵便番号が存在すると、そのユーザーが元のデータセットに属していたことが確認されます。高精度値の切り捨てや、まれなカタログを*他の*カタログに置き換えるなどの手法を使用して、このリスクを軽減できます。これらの変換は、ML 入力チャネルの作成に使用されるクエリの一部にすることができます。

   1. テーブルが関連付けられていない場合は、**テーブルの関連付け**を選択して、指定されたモデルに対して実行できる分析ルールでテーブルを追加します。

   1. このデータチャネルを作成するときに使用する**ワーカータイプ**を選択します。デフォルトのワーカータイプは **CR.1X** です。使用する**ワーカーの数**を指定します。デフォルトのワーカー番号は **16** です。**Spark プロパティ**を指定するには:

      1. **[Spark のプロパティ]** を拡張します。

      1. **Spark プロパティの追加**を選択します。

      1. **Spark プロパティ**ダイアログボックスで、ドロップダウンリストから**プロパティ名**を選択し、**値**を入力します。

      次の表は、各プロパティの定義を示しています。

      Spark プロパティの詳細については、Apache [Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) ドキュメントの「Spark Properties」を参照してください。
**注記**  
最大 50 個の Spark プロパティを設定できます。各プロパティ値は最大 500 文字です。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/clean-rooms/latest/userguide/create-ml-input-channel.html)    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/clean-rooms/latest/userguide/create-ml-input-channel.html)

   1. **データ保持日数**には、データを保持する日数を入力します。

   1. **結果形式では、**ML 入力チャネルが使用するデータ形式として **CSV** または **Parquet** を選択します。

1. **サービスアクセス**では、このテーブルへのアクセスに使用される**既存のサービスロール名**を選択するか**、新しいサービスロールを作成して使用します**。

1. **暗号化**では、**カスタム KMS キーを使用して Encrypt シークレット**を選択し、独自の KMS キーと関連情報を指定します。それ以外の場合、Clean Rooms ML が暗号化を管理します。

1. (オプション) **Compute Payer** で、クエリコンピューティングコストを支払うコラボレーションメンバーを選択します。
**注記**  
コラボレーションでクエリコンピューティングの対象となる支払者候補が 1 つしかない場合、デフォルトではその支払者になります。

1. (オプション) **合成データ生成支払者**の場合、合成データ生成コストを支払うコラボレーションメンバーを選択します。
**注記**  
このオプションは、ML 入力チャネルが合成データ出力用に設定された分析テンプレートを使用する場合に表示されます。コラボレーションで合成データ生成の対象となる支払者候補が 1 つしかない場合、デフォルトではその支払者になります。

1. **ML 入力チャネルの作成** を選択します。

   ML 入力チャネルの作成には数分かかります。ML 入力チャネルのリストは、ML **モデル**タブで確認できます。

**注記**  
ML 入力チャネルを作成した後は、編集できません。

------
#### [ API ]

ML 入力チャネルを作成するには (API)

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

```
import boto3 
acr_client = boto3.client('cleanroomsml')

acr_client.create_ml_input_channel(
    name="{{ml_input_channel_name}}",
    membershipIdentifier='{{membership_id}}',
    configuredModelAlgorithmAssociations=[{{configured_model_algorithm_association_arn}}],
    retentionInDays={{1}},
    inputChannel={
        "dataSource": {
            "protectedQueryInputParameters": {
                "sqlParameters": {
                    "queryString": "select * from {{table}}",
                    "computeConfiguration": {
                        "worker": {
                            "type": "{{CR.1X}}",
                            "number": {{16}},
                            "properties": {
                                "spark": {
                                    "{{spark configuration key}}": "{{spark configuration value}}",
                                }
                            }   
                        }
                    },
                    "resultFormat": "{{PARQUET}}"
                }
            }
        },
        "roleArn": "arn:aws:iam::{{111122223333}}:role/{{role_name}}"
    }
)
channel_arn = resp['{{ML Input Channel ARN}}']
```

------