本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AWS Clean Rooms ML 中建立訓練過的模型
事前準備:
-
AWS 帳戶 可存取 的 AWS Clean Rooms
-
在 中設定的協同合作 AWS Clean Rooms
-
與協同合作相關聯的已設定模型演算法
-
至少一個已設定的 ML 輸入通道
-
在協同合作中建立和管理 ML 模型的適當許可
將設定的模型演算法與協同合作建立關聯後,然後建立並設定 ML 輸入通道,您就可以建立訓練過的模型。協同合作的成員會使用訓練過的模型來共同分析其資料。
您可以使用下列程序建立訓練過的模型。
或者,您可以使用增量訓練來改善具有新資料的現有模型,或使用分散式訓練來跨多個運算執行個體訓練模型。
- Console
-
建立訓練過的模型 (主控台)
-
登入 AWS Management Console 並在 https://https://console.aws.amazon.com/cleanrooms
開啟 AWS Clean Rooms 主控台。 -
在左側導覽窗格中,選擇協同合作。
-
在協同合作頁面上,選擇您要建立訓練模型的協同合作。
-
協同合作開啟後,選擇 ML 模型索引標籤。
-
在自訂 ML 模型下,在訓練模型區段中,選擇建立訓練模型。
-
在建立訓練過的模型頁面上,針對關聯的模型演算法,指定演算法。
-
如需訓練模型的詳細資訊,請輸入下列項目:
-
在名稱中,輸入協同合作中模型的唯一名稱。
-
(選用) 針對描述,輸入訓練模型的描述。
-
針對訓練資料輸入模式,選擇下列其中一項:
-
如果您有適合 ML 儲存磁碟區的較小資料集,而且您偏好訓練指令碼的傳統檔案系統存取,請選取檔案。
-
選取管道讓大型資料集直接從 S3 串流資料,避免將所有資料下載到磁碟,從而提高訓練速度並減少儲存需求。
-
如果您想要將從 S3 串流的好處與檔案系統存取結合,請選取 FastFile,尤其是循序讀取資料或處理較少的檔案以加快啟動時間時。
-
-
-
對於 ML 輸入通道詳細資訊,請執行下列動作:
-
針對 ML 輸入通道,指定將資料提供給模型演算法的 ML 輸入通道。
若要新增另一個頻道,請選擇新增另一個 ML 輸入頻道。您最多可以新增 19 個額外的 ML 輸入通道。
-
針對頻道名稱,輸入 ML 輸入頻道的名稱。
-
針對 Amazon S3 資料分佈類型,選擇下列其中一項:
-
選取完整複寫,為每個訓練執行個體提供完整的資料集副本。當您的資料集夠小而足以容納在記憶體中,或每個執行個體都需要存取所有資料時,這最適合使用。
-
選取依 S3 金鑰分割,根據 S3 金鑰跨訓練執行個體分割資料集。每個執行個體會收到 S3 物件總數的大約 1/n,其中 'n' 是執行個體的數量。這最適合您要平行處理的大型資料集。
注意
選取分佈類型時,請考慮您的資料集大小和訓練需求。完全複寫可提供完整的資料存取,但需要更多儲存空間,而由 S3 金鑰碎片可分散式處理大型資料集。
-
-
-
針對訓練持續時間上限,選擇您想要訓練模型的時間上限。
-
對於超參數,指定任何演算法特定的參數及其預期值。超參數專屬於要訓練的模型,並用於微調模型訓練。
-
針對環境變數,指定任何演算法特定的變數及其預期值。環境變數是在 Docker 容器中設定。
-
對於加密,若要使用自訂 AWS KMS key,請選取使用自訂 KMS 金鑰加密秘密核取方塊。
-
針對 EC2 資源組態,指定用於模型訓練之運算資源的相關資訊。
-
針對執行個體類型,選擇您要執行的執行個體類型。
-
針對執行個體計數,輸入執行個體的數量。
-
對於以 GB 為單位的磁碟區大小,輸入 ML 儲存磁碟區大小。
-
-
選擇建立訓練過的模型。
-
- 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
" } ] )
注意
建立訓練模型後,您無法編輯模型。若要進行變更,請刪除訓練過的模型並建立新的模型。