

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS Clean Rooms ML 中建立和加入協同合作
<a name="create-custom-ml-collaboration"></a>

協作建立者負責建立協作、邀請成員並指派其角色。受邀成員加入協同合作並指定結果設定、訓練模型成品目的地設定，以及接受付款責任，具體取決於協同合作的設定方式。

## 建立機器學習的協同合作
<a name="create-ml-collaboration"></a>

 下列程序說明如何建立機器學習的協同合作、邀請一或多個成員，以及指派可以開始模型訓練、接收結果、接收訓練過的模型結果，包括模型成品和指標，以及接收模型推論結果的成員。協作建立者也會指派將支付查詢運算、模型訓練和模型推論成本的成員。

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

**建立機器學習的協同合作 （主控台）**

1. [建立協同合作並邀請一或多個成員加入協同合作](create-collaboration.md)

1. **使用查詢和任務**指派下列**成員分析能力**：
   + 將**執行查詢**指派給將開始模型訓練的成員。
   + 將**從分析接收結果**指派給將接收查詢結果的成員。

1. **使用專用工作流程為 ML 建模**指派下列**成員能力**：
   + 將**從訓練模型接收輸出**指派給將接收訓練模型結果的成員，包括模型成品和指標。
   + 將**從模型推論接收輸出**指派給將接收模型推論結果的成員。

1. 針對**設定付款**，指定將支付查詢運算、模型訓練、模型推論和合成資料集產生成本的成員。

   合成資料集具有與其基於的原始資料集類似的統計屬性，但不包含存在於原始資料集中的真實世界觀察。透過使用隱私權增強的合成資料集，您可以解鎖新的 ML 模型訓練使用案例，該案例先前已防止資料隱私權問題。如需詳細資訊，請參閱[隱私權增強合成資料產生](synthetic-data-generation.md)。

   這些成本都可以指派給相同或不同的成員。如果受邀成員是負責支付付款費用的成員，則必須在加入協同合作之前接受其付款責任。

1. 對於**設定成員**資格，協同合作建立者現在可以決定加入成員資格，或稍後建立成員資格。協作建立者接著必須設定 ML 組態。

   1. 如果協同合作建立者也是結果接收者，他們也必須在結果**設定預設值**中指定查詢結果目的地和格式。

   1. ML 組態為 Clean Rooms ML 提供將指標發佈至 的角色 AWS 帳戶。如果協同合作建立者也收到訓練過的模型成品，他們可以指定用來接收結果的 Amazon S3 儲存貯體。

   1. 在 **ML 組態**區段中，選取**建立 ML 組態**，然後在 **Amazon S3 上指定模型輸出目的地**，以及存取此位置所需的**服務存取角色**。

   1. 如果協作建立者是負責支付付款成本的成員，他們必須在建立協作之前接受其付款責任。

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

建立機器學習 (API) 的協同合作

1. [建立協同合作並邀請一或多個成員加入協同合作](create-collaboration.md)

1. 將下列角色指派給協同合作成員：
   + `CAN_QUERY` - 指派給將開始模型訓練和推論的成員。
   + `CAN_RECEIVE_MODEL_OUTPUT` - 指派給將收到訓練模型結果的成員。
   + `CAN_RECEIVE_INFERENCE_OUTPUT` - 指派給將收到模型推論結果的成員。

   如果協同合作建立者也是結果接收者，他們也必須在協同合作建立期間指定查詢結果目的地和格式。他們也提供服務角色 Amazon Resource Name (ARN) 將結果寫入查詢結果目的地。

1. 指定將支付查詢運算、模型訓練和模型推論成本的成員。這些成本都可以指派給相同或不同的成員。如果受邀成員是負責支付付款費用的成員，則必須在加入協同合作之前接受其付款責任。

1. 下列程式碼會建立協同合作、邀請可執行查詢和接收結果的成員，並將協同合作建立者指定為模型成品接收者。

   ```
   import boto3 
   acr_client= boto3.client('cleanrooms')
    
   collaboration = a_acr_client.create_collaboration(
       members=[
           {
            'accountId': 'invited_member_accountId',
            'memberAbilities':["CAN_QUERY","CAN_RECEIVE_RESULTS"],
            'displayName': 'member_display_name'
           }
       ],
       name='collaboration_name',
       description=collaboration_description,
       creatorMLMemberAbilities= {
           'customMLMemberAbilities':["CAN_RECEIVE_MODEL_OUTPUT", "CAN_RECEIVE_INFERENCE_OUTPUT"],
       },
       creatorDisplayName='creator_display_name',
       queryLogStatus="ENABLED",
       analyticsEngine="SPARK",
       creatorPaymentConfiguration={
           "queryCompute": {
               "isResponsible": True
           },
           "machineLearning": {
               "modelTraining": {
                   "isResponsible": True
               },
               "modelInference": {
                   "isResponsible": True
               }
           }
       }
   )
    
   collaboration_id = collaboration['collaboration']['id']
   print("collaborationId: {collaboration_id}")
   
   member_membership = a_acr_client.create_membership(
       collaborationIdentifier = collaboration_id,
       queryLogStatus = 'ENABLED',
       paymentConfiguration={
           "queryCompute": {
               "isResponsible": True
           },
           "machineLearning": {
               "modelTraining": {
                   "isResponsible": True
               },
               "modelInference": {
                   "isResponsible": True
               }
           }
       }
   )
   ```

1. 協作建立者接著必須設定 ML 組態。ML 組態為 Clean Rooms ML 提供將指標和日誌發佈至 的角色 AWS 帳戶。如果協同合作建立者也正在接收結果 （模型成品或推論結果），他們可以指定用於接收結果的 Amazon S3 儲存貯體。

   ```
   import boto3 
   acr_ml_client= boto3.client('cleanroomsml')
   
   acr_ml_client.put_ml_configuration(
           membershipIdentifier=membership_id,
           defaultOutputLocation={
              'roleArn':'arn:aws:iam::account:role/roleName',
              'destination':{
                   's3Destination':{
                       's3Uri':"s3://bucketName/prefix"
                   }
               }
           }
       )
   ```

------

## 加入協同合作
<a name="join-ml-collaboration"></a>

協作建立者完成任務後，受邀的成員必須完成任務。

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

**建立成員資格並加入協同合作 （主控台）**

1. 受邀成員[會建立成員資格並加入協同合作](create-membership.md)。

1. 如果受邀成員是負責付款的成員，包括查詢運算、模型訓練和模型推論成本，則必須在加入協同合作之前接受其付款責任。

1. 受邀成員會設定 ML 組態，為 Clean Rooms ML 提供將模型指標發佈至 的角色 AWS 帳戶。如果他們也是接收訓練模型成品的成員，則必須提供存放訓練模型成品的 Amazon S3 儲存貯體。

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

建立成員資格並加入協作 (API)

1. 如果受邀成員是可以接收結果的成員，他們會指定查詢結果目的地和格式。他們也提供服務角色 ARN，允許服務寫入查詢結果目的地

   如果受邀成員是負責付款的成員，包括查詢運算、模型訓練和模型推論成本，則必須在加入協同合作之前接受其付款責任。

   如果受邀成員是負責支付模型訓練和模型推論以進行自訂建模的成員，則必須在加入協作之前接受其付款責任。

   下列程式碼會在啟用查詢記錄的情況下建立成員資格。

   ```
   import boto3 
   acr_client= boto3.client('cleanrooms')
   
   acr_client.create_membership(
       membershipIdentifier='membership_id',
       queryLogStatus='ENABLED'
   )
   ```

1. 受邀成員會設定 ML 組態，為 Clean Rooms ML 提供將模型指標發佈至 的角色 AWS 帳戶。如果他們也是接收訓練模型成品的成員，則必須提供存放訓練模型成品的 Amazon S3 儲存貯體。

   ```
   import boto3 
   acr_ml_client= boto3.client('cleanroomsml')
   
   acr_ml_client.put_ml_configuration(
           membershipIdentifier='membership_id',
           defaultOutputLocation={
              'roleArn':"arn:aws:iam::account:role/role_name",
              'destination':{
                   's3Destination':{
                       's3Uri':"s3://bucket_name/prefix"
                   }
               }
           }
       )
   ```

------