Neptune ML 模型訓練 API - Amazon Neptune

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

Neptune ML 模型訓練 API

模型訓練動作:

模型訓練結構:

StartMLModelTrainingJob (動作)

        此 API 的 AWS CLI 名稱是:start-ml-model-training-job

建立新的 Neptune ML 模型訓練工作。請參閱使用 modeltraining 命令進行模型訓練

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:StartMLModelTrainingJob IAM 動作。

請求

  • baseProcessingInstanceType (在 CLI 中:--base-processing-instance-type) – 字串,類型為:string (UTF-8 編碼的字串)。

    用於準備和管理 ML 模型訓練的 ML 執行個體類型。這是根據記憶體需求選擇的 CPU 執行個體,用於處理訓練資料和模型。

  • customModelTrainingParameters (在 CLI 中:--custom-model-training-parameters) – CustomModelTrainingParameters 物件。

    自訂模型訓練的組態。這是 JSON 物件。

  • dataProcessingJobId (在 CLI 中:--data-processing-job-id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    已完成資料處理工作的工作 ID,該工作已建立訓練將使用的資料。

  • enableManagedSpotTraining (在 CLI 中:--enable-managed-spot-training) – 布林值,類型為:boolean (布林值 (true 或 false))。

    使用 Amazon Elastic Compute Cloud Spot 執行個體,將訓練機器學習模型的成本最佳化。預設值為 False

  • id (在 CLI 中:--id) – 字串,類型為:string (UTF-8 編碼的字串)。

    新工作的唯一識別符。預設值為自動產生的 UUID。

  • maxHPONumberOfTrainingJobs (在 CLI 中:--max-hpo-number-of-training-jobs) – 整數,類型為:integer (帶正負號的 32 位元整數)。

    要對超參數調校工作啟動的訓練工作總數上限。預設為 2。Neptune ML 會自動調校機器學習模型的超參數。若要取得效能良好的模型,請至少使用 10 個工作 (換句話說,將 maxHPONumberOfTrainingJobs 設為 10)。一般來說,調校執行越多,結果越好。

  • maxHPOParallelTrainingJobs (在 CLI 中:--max-hpo-parallel-training-jobs) – 整數,類型為:integer (帶正負號的 32 位元整數)。

    要對超參數調校工作啟動的並行訓練工作數目上限。預設為 2。您可以執行的並行工作數目受制於訓練執行個體上可用的資源。

  • neptuneIamRoleArn (在 CLI 中:--neptune-iam-role-arn) – 字串,類型為:string (UTF-8 編碼的字串)。

    IAM 角色的 ARN,此角色可讓 Neptune 存取 SageMaker 和 Amazon S3 資源。這必須列示在您的資料庫叢集參數群組中,否則會發生錯誤。

  • previousModelTrainingJobId (在 CLI 中:--previous-model-training-job-id) – 字串,類型為:string (UTF-8 編碼的字串)。

    已完成模型訓練工作的工作 ID,您想要根據更新的資料以增量方式更新此工作。

  • s3OutputEncryptionKMSKey (在 CLI 中:--s-3-output-encryption-kms-key) – 字串,類型為:string (UTF-8 編碼的字串)。

    SageMaker 用來加密處理工作輸出的 Amazon Key Management Service (KMS) 金鑰。預設為 none。

  • sagemakerIamRoleArn (在 CLI 中:--sagemaker-iam-role-arn) – 字串,類型為:string (UTF-8 編碼的字串)。

    SageMaker 執行的 IAM 角色的 ARN。這必須列示在您的資料庫叢集參數群組中,否則會發生錯誤。

  • securityGroupIds (在 CLI 中:--security-group-ids) – 字串,類型為:string (UTF-8 編碼的字串)。

    VPC 安全群組 ID。預設值為 None (無)。

  • subnets (在 CLI 中:--subnets) – 字串,類型為:string (UTF-8 編碼的字串)。

    Neptune VPC 中子網路的 ID。預設值為 None (無)。

  • trainingInstanceType (在 CLI 中:--training-instance-type) – 字串,類型為:string (UTF-8 編碼的字串)。

    用於模型訓練的 ML 執行個體類型。所有 Neptune ML 模型都支援 CPU、GPU 和多 GPU 訓練。預設值為 ml.p3.2xlarge。選擇適合訓練的執行個體類型取決於工作類型、圖形大小和您的預算。

  • trainingInstanceVolumeSizeInGB (在 CLI 中:--training-instance-volume-size-in-gb) – 整數,類型為:integer (帶正負號的 32 位元整數)。

    訓練執行個體的磁碟區大小。輸入資料和輸出模型都會儲存在磁碟上,因此磁碟區大小必須大到足以保留這兩個資料集。預設值為 0。如果未指定或指定 0,Neptune ML 會根據資料處理步驟中產生的建議選取磁碟區大小。

  • trainingTimeOutInSeconds (在 CLI 中:--training-time-out-in-seconds) – 整數,類型為:integer (帶正負號的 32 位元整數)。

    訓練工作的逾時 (以秒為單位)。預設值為 86,400 (1 天)。

  • trainModelS3Location (在 CLI 中:--train-model-s3-location) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    Amazon S3 中要儲存模型成品的位置。

  • volumeEncryptionKMSKey (在 CLI 中:--volume-encryption-kms-key) – 字串,類型為:string (UTF-8 編碼的字串)。

    SageMaker 用來加密儲存磁碟區上資料的 Amazon Key Management Service (KMS) 金鑰,而該儲存磁碟區附加到執行訓練工作的 ML 運算執行個體。預設值為 None (無)。

回應

  • arn – 字串,類型為:string (UTF-8 編碼的字串)。

    新模型訓練工作的 ARN。

  • creationTimeInMillis - Long 整數,類型為:long (帶有正負號的 64 位元整數)。

    模型訓練工作建立時間,以毫秒為單位。

  • id – 字串,類型為:string (UTF-8 編碼的字串)。

    新模型訓練工作的唯一 ID。

ListMLModelTrainingJobs (動作)

        此 API 的 AWS CLI 名稱是:list-ml-model-training-jobs

列出 Neptune ML 模型訓練工作。請參閱使用 modeltraining 命令進行模型訓練

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:neptune-db:ListMLModelTrainingJobs IAM 動作。

請求

  • maxItems (在 CLI 中:--max-items) – ListMLModelTrainingJobsInputMaxItemsInteger,類型為:integer (帶有正負號的 32 位元整數),不小於 1 或大於 1024 ?st?s。

    要傳回的項目數目上限 (從 1 到 1024;預設值為 10)。

  • neptuneIamRoleArn (在 CLI 中:--neptune-iam-role-arn) – 字串,類型為:string (UTF-8 編碼的字串)。

    IAM 角色的 ARN,此角色可讓 Neptune 存取 SageMaker 和 Amazon S3 資源。這必須列示在您的資料庫叢集參數群組中,否則會發生錯誤。

回應

  • ids – 字串,類型為:string (UTF-8 編碼的字串)。

    模型訓練工作 ID 的清單頁面。

GetMLModelTrainingJob (動作)

        此 API 的 AWS CLI 名稱是:get-ml-model-training-job

擷取 Neptune ML 模型訓練工作的相關資訊。請參閱使用 modeltraining 命令進行模型訓練

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:GetMLModelTrainingJobStatus IAM 動作。

請求

  • id (在 CLI 中:--id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要擷取的模型訓練工作的唯一識別符。

  • neptuneIamRoleArn (在 CLI 中:--neptune-iam-role-arn) – 字串,類型為:string (UTF-8 編碼的字串)。

    IAM 角色的 ARN,此角色可讓 Neptune 存取 SageMaker 和 Amazon S3 資源。這必須列示在您的資料庫叢集參數群組中,否則會發生錯誤。

回應

  • hpoJobMlResourceDefinition 物件。

    HPO 工作。

  • id – 字串,類型為:string (UTF-8 編碼的字串)。

    此模型訓練工作的唯一識別符。

  • mlModels – 一個 MlConfigDefinition 物件陣列。

    所使用之 ML 模型的組態清單。

  • modelTransformJobMlResourceDefinition 物件。

    模型轉換工作。

  • processingJobMlResourceDefinition 物件。

    資料處理工作。

  • status – 字串,類型為:string (UTF-8 編碼的字串)。

    模型訓練工作的狀態。

CancelMLModelTrainingJob (動作)

        此 API 的 AWS CLI 名稱是:cancel-ml-model-training-job

取消 Neptune ML 模型訓練工作。請參閱使用 modeltraining 命令進行模型訓練

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:CancelMLModelTrainingJob IAM 動作。

請求

  • clean (在 CLI 中:--clean) – 布林值,類型為:boolean (布林值 (true 或 false))。

    如果設定為 TRUE,則此旗標指定在工作停止時應刪除所有 Amazon S3 成品。預設值為 FALSE

  • id (在 CLI 中:--id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要取消的模型訓練工作的唯一識別符。

  • neptuneIamRoleArn (在 CLI 中:--neptune-iam-role-arn) – 字串,類型為:string (UTF-8 編碼的字串)。

    IAM 角色的 ARN,此角色可讓 Neptune 存取 SageMaker 和 Amazon S3 資源。這必須列示在您的資料庫叢集參數群組中,否則會發生錯誤。

回應

  • status – 字串,類型為:string (UTF-8 編碼的字串)。

    取消的狀態。

模型訓練結構:

CustomModelTrainingParameters (結構)

包含自訂模型訓練參數。請參閱 Neptune ML 中的自訂模型

欄位
  • sourceS3DirectoryPath - 這是必要:字串,類型為:string (UTF-8 編碼的字串)。

    此路徑通往實作您模型之 Python 模組所在的 Amazon S3 位置。這必須指向有效的現有 Amazon S3 位置,其中至少包含訓練指令碼、轉換指令碼和 model-hpo-configuration.json 檔案。

  • trainingEntryPointScript - 這是字串,類型為:string (UTF-8 編碼的字串)。

    指令碼模組中的進入點名稱,該指令碼會執行模型訓練,並接受超參數作為命令列引數 (包括固定的超參數)。預設值為 training.py

  • transformEntryPointScript - 這是字串,類型為:string (UTF-8 編碼的字串)。

    指令碼模組中的進入點名稱,該指令碼應在識別了超參數搜尋中的最佳模型之後執行,以計算模型部署所需的模型成品。它應該能夠在沒有命令列參數的情況下執行。預設值為 transform.py