使用演算法來執行訓練工作 - Amazon SageMaker AI

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

使用演算法來執行訓練工作

您可以使用演算法資源建立訓練任務,方法是使用 Amazon SageMaker AI 主控台、低階 Amazon SageMaker API 或 Amazon SageMaker Python SDK

使用演算法來執行訓練工作 (主控台)

使用演算法來執行訓練工作 (主控台)
  1. 在 https://https://console.aws.amazon.com/sagemaker/ 開啟 SageMaker AI 主控台。

  2. 選擇演算法

  3. 我的演算法索引標籤的清單上選擇您建立的演算法,或在AWS Marketplace 訂閱索引標籤上選擇您訂閱的演算法。

  4. 選擇建立訓練工作

    會自動選取您選擇的演算法。

  5. 建立訓練工作頁面上,提供以下資訊:

    1. 針對工作名稱,輸入訓練工作的名稱。

    2. 針對 IAM 角色,選擇具有在 SageMaker AI 中執行訓練任務所需許可的 IAM 角色,或選擇建立新角色,以允許 SageMaker AI 建立已連接AmazonSageMakerFullAccess受管政策的角色。如需相關資訊,請參閱 如何使用 SageMaker AI 執行角色

    3. 針對資源組態,提供下列資訊:

      1. 針對執行個體類型,選擇要用於訓練的執行個體類型。

      2. 針對執行個體計數,輸入要用於訓練工作的機器學習 (ML) 執行個體數量。

      3. 針對每個執行個體的額外磁碟區 (GB),輸入您要佈建的機器學習 (ML) 儲存磁碟區大小。機器學習 (ML) 儲存磁碟區會存放模型成品及累加狀態。

      4. 對於加密金鑰,如果您希望 Amazon SageMaker AI 使用 AWS 金鑰管理服務金鑰來加密連接到訓練執行個體的 ML 儲存磁碟區中的資料,請指定金鑰。

      5. 針對停止條件,指定您希望訓練工作執行的時間上限 (以秒、分鐘、小時或天數為單位)。

    4. 針對 VPC,選擇您希望允許訓練容器存取的 Amazon VPC。如需詳細資訊,請參閱讓 SageMaker AI 訓練任務存取 Amazon VPC 中的資源

    5. 針對超參數,指定要用於訓練工作的超參數值。

    6. 針對輸入資料組態,針對每個用於訓練工作的輸入資料通道,指定下列值。您可以在該演算法的演算法摘要頁面的通道規格區段下,查看您用於訓練支援的演算法通道,以及每個通道的內容類型、支援的壓縮類型和支援的輸入模式。

      1. 針對通道名稱,輸入輸入通道的名稱。

      2. 針對內容類型,輸入演算法針對通道所預期的資料內容類型。

      3. 針對壓縮類型,選擇要使用的資料壓縮類型 (若有的話)。

      4. 針對記錄包裝函式,若演算法預期 RecordIO 格式的資料,請選擇 RecordIO

      5. 針對 S3 資料類型S3 資料分佈類型S3 位置,請指定適當的值。如需這些值所代表意義的資訊,請參閱 S3DataSource

      6. 針對輸入模式,選擇檔案來從所佈建的機器學習 (ML) 儲存磁碟區下載資料,並將目錄掛載到 Docker 磁碟區。選擇管道來直接從 Amazon S3 串流資料到容器。

      7. 若要新增另一個輸入通道,請選擇新增通道。若您已完成新增輸入通道,請選擇完成

    7. 針對輸出位置,請指定下列值:

      1. 針對 S3 輸出路徑,選擇訓練工作存放輸出 (例如模型成品) 的 S3 位置。

        注意

        您可以使用存放在此位置的模型成品,從訓練工作建立模型或模型套件。

      2. 對於加密金鑰,如果您希望 SageMaker AI 使用 AWS KMS 金鑰來加密 S3 位置的靜態輸出資料。

    8. 針對標籤,請指定一或多個標籤來管理訓練工作。每個標籤皆包含索引鍵與選用值。每個資源的標籤鍵必須是唯一的。

    9. 選擇建立訓練工作來執行訓練工作。

使用演算法來執行訓練工作 (API)

若要使用 SageMaker API,利用演算法來執行訓練工作,請在您傳遞給 CreateTrainingJobAlgorithmSpecification 物件的 AlgorithmName 欄位中,指定名稱或 Amazon Resource Name (ARN)。如需在 SageMaker AI 中訓練模型的相關資訊,請參閱 使用 Amazon SageMaker 訓練模型

使用演算法來執行訓練工作 (Amazon SageMaker Python SDK)

使用您在 上建立或訂閱的演算法 AWS Marketplace 來建立訓練任務、建立AlgorithmEstimator物件,並將 Amazon Resource Name (ARN) 或演算法名稱指定為algorithm_arn引數的值。然後呼叫估算器的 fit 方法。例如:

from sagemaker import AlgorithmEstimator data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.fit({'training': train_input})