監控反覆運算的進度 - Amazon Nova

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

監控反覆運算的進度

您可以透過 MLflow 追蹤指標。

Nova 自訂 - SageMaker HyperPod 的 MLFlow 設定

若要讓您的 SageMaker HyperPod 環境將指標輸出至 MLFlow,必須執行一些額外的設定。

  1. 開啟 Amazon SageMaker AI

  2. 選取 SageMaker Studio

    1. 如果已建立設定檔,請選取「開啟 Studio」。

    2. 如果未建立設定檔,請選取「建立 SageMaker 網域」來設定一個設定檔

  3. 選取 MLFlow。如果未建立任何 MLFlow 應用程式,請選取「建立 MLFlow 應用程式」

  4. 按一下複製/貼上按鈕或 ML Flow 應用程式上的「檢視詳細資訊」選單項目,以取得 ARN。提交訓練任務時,您將需要此項目。

    ML Flow 應用程式上的檢視詳細資訊按鈕,搭配 ARN。
  5. 在 HyperPod 叢集執行角色上,新增下列政策。這將允許 HyperPod 叢集呼叫 MLFlow API 來發佈指標。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": [ "arn:aws:sagemaker:us-east-1:372836560492:mlflow-app/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:ListMlflowTrackingServers", "sagemaker:CallMlflowAppApi" ], "Resource": "*" } ] }

透過 CLI 提交任務

在命令列或配方 yaml 中指定 4 個新的覆寫參數。

  1. mlflow_tracking_uri:MLFlow 應用程式的 ARN

  2. mlflow_experiment_name:此實驗執行的名稱

  3. mlflow_experiment_name:將指標存放在 MLFlow 中的實驗名稱

  4. mlflow_run_name:此實驗的名稱

命令列

--override-parameters '{"recipes.run.mlflow_tracking_uri": "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W", "recipes.run.mlflow_experiment_name": "myuser-sft-lora-exp1", "recipes.run.mlflow_run_name": "myuser-sft-lora-exp1-202512181940"}'

yaml:

## Run config run: mlflow_tracking_uri: "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W" mlflow_experiment_name: "myuser-sft-lora-exp1" mlflow_run_name: "myuser-sft-lora-exp1-202512181940"

透過 SageMaker Studio UI 提交任務

MLFlow 整合已內建於 SageMaker Studio UI 體驗中。提交訓練任務時,只要指出要使用的 MLFlow 應用程式執行個體即可。

  1. 在 SageMaker Studio 中,導覽至模型 > Nova 2.0 Lite > 自訂 > 使用 UI 自訂。

  2. 展開進階組態區段

  3. 選取您要傳送訓練指標的 MLFlow 應用程式。您也可以在這裡設定實驗名稱和實驗執行。

ML Flow 應用程式。

透過 提交任務 AWS AWS CLI

如果您使用 AWS AWS CLI,則必須建立 MLflow 應用程式,並將其做為訓練任務 API 請求的輸入。

mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)

建立 MLflow 應用程式

使用 Studio UI:如果您透過 Studio UI 建立訓練任務,預設 MLflow 應用程式會自動建立,並依預設在進階選項下選取。

使用 CLI:如果您使用 CLI,則必須建立 MLflow 應用程式並將其做為訓練任務 API 請求的輸入傳遞。

mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)

存取 MLflow 應用程式

使用 CLI:建立預先簽章的 URL 以存取 MLflow 應用程式 UI:

aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text

使用 Studio UI:Studio UI 會顯示存放在 MLflow 中的關鍵指標,並提供 MLflow 應用程式 UI 的連結。

要追蹤的關鍵指標

跨反覆運算監控這些指標,以評估改善並追蹤任務進度:

對於 SFT

  • 訓練損失曲線

  • 使用的範例數量和處理範例的時間

  • 保留測試集的效能準確性

  • 格式合規 (例如,有效的 JSON 輸出速率)

  • 網域特定評估資料的複雜度

對於 RFT

  • 訓練的平均獎勵分數

  • 獎勵分佈 (高獎勵回應的百分比)

  • 驗證獎勵趨勢 (注意過度擬合)

  • 任務特定的成功率 (例如,程式碼執行通過率、數學問題準確性)

一般

  • 反覆運算之間的基準效能差異

  • 代表性範例的人工評估分數

  • 生產指標 (如果反覆部署)

判斷何時停止

在下列情況下停止反覆運算:

  • 效能穩定:其他訓練不再有意義地改善目標指標

  • 技術切換有助於:如果一個技術穩定,請嘗試切換 (例如 SFT → RFT → SFT) 以突破效能上限

  • 實現的目標指標:符合您的成功條件

  • 偵測到迴歸:新的反覆運算會降低效能 (請參閱下列轉返程序)

如需詳細評估程序,請參閱評估一節。