在 AWS Clean Rooms ML 中建立 ML 輸入通道 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中建立 ML 輸入通道

事前準備:

  • AWS 帳戶 可存取 的 AWS Clean Rooms

  • 您想要 AWS Clean Rooms 在其中建立 ML 輸入通道的協同合作設定

  • 在協同合作中查詢資料和建立 ML 輸入通道的許可。

  • (選用) 要與 ML 輸入通道建立關聯的現有模型演算法,或建立新通道的許可

  • (選用) 具有分析規則的資料表,可針對您指定的模型執行。

  • (選用) 用於產生資料集的現有 SQL 查詢或分析範本

  • (選用) 具有適當許可的現有服務角色,或建立新服務角色的許可

  • (選用) 如果您想要使用自己的加密 AWS KMS 金鑰的自訂金鑰

  • 在協同合作中建立和管理 ML 模型的適當許可

ML 輸入通道是從特定資料查詢建立的資料集。能夠查詢資料的成員可以透過建立 ML 輸入通道來準備其資料以進行訓練和推論。建立 ML 輸入通道可讓該資料在相同的協同合作中用於不同的訓練模型。您應該為訓練和推論建立個別的 ML 輸入通道。

若要建立 ML 輸入通道,您必須指定用來查詢輸入資料的 SQL 查詢,並建立 ML 輸入通道。此查詢的結果絕不會與任何成員共用,並保持在 Clean Rooms ML 的界限內。參考 Amazon Resource Name (ARN) 用於後續步驟,以訓練模型或執行推論。

Console
建立 ML 輸入通道 (主控台)
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/cleanrooms 的 AWS Clean Rooms 主控台。

  2. 在左側導覽窗格中,選擇協同合作

  3. 協同合作頁面上,選擇您要建立 ML 輸入通道的協同合作。

  4. 協同合作開啟後,選擇 ML 模型索引標籤。

  5. 自訂 ML 模型ML 輸入通道區段中,選擇建立 ML 輸入通道

  6. 建立 ML 輸入通道頁面上,針對 ML 輸入通道詳細資訊執行下列動作:

    1. 名稱中,輸入頻道的唯一名稱。

    2. (選用) 針對描述,輸入頻道的描述。

    3. 針對關聯的模型演算法,選取要使用的演算法。

      選擇關聯模型演算法以新增。

  7. 針對資料集,選擇產生訓練資料集的方法:

    • 選擇 SQL 查詢以使用 SQL 查詢的結果做為訓練資料集。

      如果您選擇 SQL 查詢,請在 SQL 查詢欄位中輸入您的查詢

      (選用) 若要匯入您最近使用的查詢,請選擇從最近的查詢匯入

    • 選擇分析範本以使用分析範本的結果做為訓練資料集。

      如果您選擇分析範本,請指定您想要的分析範本。

    1. 如果沒有相關聯的資料表,請選擇關聯資料表以新增具有可對指定模型執行之分析規則的資料表。

    2. 針對工作者類型,選擇要使用的工作者類型。預設值為 CR.1X

    3. 針對工作者數量,選擇建立此資料通道時要使用的工作者數量。預設值為 16

    4. 對於以天為單位的資料保留,輸入保留資料的天數。

    5. 針對結果格式,選擇 CSVParquet 做為 ML 輸入通道應該使用的資料格式。

  8. 針對服務存取,選擇將用於存取此表格的現有服務角色名稱,或選擇建立並使用新的服務角色

  9. 針對加密,選擇使用自訂 KMS 金鑰加密秘密,以指定您自己的 KMS 金鑰和相關資訊。否則,Clean Rooms ML 會管理加密。

  10. 選擇建立 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 } }, "resultFormat": "PARQUET" } } }, "roleArn": "arn:aws:iam::111122223333:role/ezcrc-ctm-role" } ) channel_arn = resp['ML Input Channel ARN']