在 AWS Clean Rooms ML 中使用增量訓練 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中使用增量訓練

事前準備:

  • AWS 帳戶 可存取 的 AWS Clean Rooms

  • 協作中的現有訓練模型

  • 用於增量訓練的新資料集或更新的資料集

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

  • 熟悉現有模型的超參數和組態

透過增量訓練,您可以使用現有模型的成品和更新的資料集來訓練新模型。增量訓練可節省時間和資源。

使用增量訓練時,可執行下列作業:

  • 使用已擴展的資料集來訓練新模型,該資料集具有先前訓練中未說明的基礎模式。

  • 使用不同的超參數或使用不同的資料集來訓練模型的數個變體。

Console
執行增量訓練任務 (主控台)
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/cleanrooms 開啟 AWS Clean Rooms 主控台。

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

  3. 協同合作頁面上,選擇您要用於增量訓練的模型成品存在的協同合作。

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

  5. 自訂 ML 模型下,在已訓練模型區段中,選擇您要增量訓練之已訓練模型旁的選項按鈕。

  6. 概觀頁面的版本下,

    1. 選擇您要增量訓練之訓練模型旁的選項按鈕。

    2. 從版本中選擇訓練

  7. 從版本建立訓練模型頁面上,針對訓練模型版本,選擇版本。

    會自動選取基礎模型版本。如果存在其他版本,您可以變更此版本。

  8. 如需訓練模型的詳細資訊,請輸入下列內容:

    1. 名稱中,輸入協同合作中模型的唯一名稱。

    2. (選用) 針對描述,輸入訓練模型的描述。

    3. 針對訓練資料輸入模式,選擇下列其中一項:

      • 如果您有可以容納在 ML 儲存磁碟區的較小資料集,而且您偏好訓練指令碼的傳統檔案系統存取,請選取檔案

      • 選取管道讓大型資料集直接從 S3 串流資料,避免將所有資料下載到磁碟,從而提高訓練速度並減少儲存需求。

      • 如果您想要將 S3 串流的優點與檔案系統存取結合,請選取 FastFile,尤其是循序讀取資料或處理較少的檔案以加快啟動時間時。

    4. 針對增量訓練頻道名稱,輸入增量訓練頻道的名稱

      注意

      如果您指定沒有版本 ID 的增量訓練頻道名稱,系統會使用基本模型進行增量訓練。

  9. 對於 ML 輸入通道詳細資訊,請執行下列動作:

    1. 針對 ML 輸入通道,指定將資料提供給模型演算法的 ML 輸入通道。

      若要新增另一個頻道,請選擇新增另一個 ML 輸入頻道。您最多可以新增 19 個額外的 ML 輸入通道。

    2. 針對頻道名稱,輸入 ML 輸入頻道的名稱。

    3. 針對 Amazon S3 資料分佈類型,選擇下列其中一項:

      • 選取完整複寫,為每個訓練執行個體提供完整的資料集副本。當您的資料集夠小而足以容納在記憶體中,或每個執行個體都需要存取所有資料時,這最適合使用。

      • 選取依 S3 金鑰分割,根據 S3 金鑰跨訓練執行個體分割資料集。每個執行個體會收到 S3 物件總數的大約 1/n,其中 'n' 是執行個體的數量。這最適合您要平行處理的大型資料集。

      注意

      選取分佈類型時,請考慮您的資料集大小和訓練需求。完全複寫可提供完整的資料存取,但需要更多儲存空間,而由 S3 金鑰碎片可分散式處理大型資料集。

  10. 針對訓練持續時間上限,選擇您想要訓練模型的時間上限。

  11. 針對超參數,指定任何演算法特定的參數及其預期值。超參數專屬於要訓練的模型,並用於微調模型訓練。

  12. 針對環境變數,指定任何演算法特定的變數及其預期值。環境變數是在 Docker 容器中設定。

  13. 針對加密,若要使用自訂 AWS KMS key,請選取使用自訂 KMS 金鑰加密秘密核取方塊。

  14. 針對 EC2 資源組態,指定用於模型訓練之運算資源的相關資訊。

    1. 針對執行個體類型,選擇您要執行的執行個體類型。

    2. 針對執行個體計數,輸入執行個體的數量。

    3. 對於以 GB 為單位的磁碟區大小,輸入 ML 儲存磁碟區大小。

  15. 選擇從版本建立訓練過的模型

API

執行增量訓練任務 (API)

使用特定參數執行下列程式碼:

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 }, incrementalTrainingDataChannels=[ { 'trainedModelArn': trained_model_arn, 'channelName': 'channel_name' }, ] dataChannels=[ { 'mlInputChannelArn': channel_arn_1, 'channelName': 'channel_name' }, { 'mlInputChannelArn': channel_arn_2, 'channelName': 'channel_name' } ] )
注意

限制:總計最多 20 個頻道 (包括 dataChannelsincrementalTrainingDataChannels)。

注意

建立訓練模型後,您無法編輯模型。若要進行變更,請刪除訓練過的模型並建立新的模型。