解決在 Amazon SageMaker AI 中建立模型評估任務時的錯誤 - Amazon SageMaker AI

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

解決在 Amazon SageMaker AI 中建立模型評估任務時的錯誤

重要

若要使用 SageMaker Clarify Foundation Model Evaluations (FMEval),您必須升級至新的 Studio 體驗。

自 2023 年 11 月 30 日起,先前的 Amazon SageMaker Studio 體驗現在命名為 Amazon SageMaker Studio Classic。FMEval 不適用於 Amazon SageMaker Studio Classic。

如需如何升級至新 Studio 體驗的相關資訊,請參閱從 Amazon SageMaker Studio Classic 遷移。如需使用 Studio Classic 應用程式的資訊,請參閱 Amazon SageMaker Studio Classic

如果您在建立模型評估任務時發生錯誤,請使用下列清單,針對評估進行疑難排解。如果您需要進一步協助,請聯絡 支援Amazon SageMaker AI 的 AWS 開發人員論壇

從 Amazon S3 儲存貯體上傳資料時發生錯誤

建立基礎模型評估時,您必須為要在其中存放模型輸入和輸出的 S3 儲存貯體設定正確的許可。如果未正確設定跨來源資源共用 (CORS) 許可,SageMaker AI 會產生下列錯誤:

錯誤:無法將物件放入 s3:將物件上傳至 s3Error 時發生錯誤:無法將物件放入 S3:嘗試擷取資源時發生 NetworkError。

若要設定正確的儲存貯體許可,請遵循在 Studio 中建立自動模型評估任務中的設定您的環境下的指示。

處理任務無法完成

處理任務無法完成的最常見原因包括下列:

請參閱下列各節,以協助您緩解每個問題。

配額不足

當您為未部署的 JumpStart 模型執行基礎模型評估時,SageMaker Clarify 會將您的大型語言模型 (LLM) 部署到您帳戶中的 SageMaker AI 端點。如果您的帳戶沒有足夠的配額來執行選取的 JumpStart 模型,任務會失敗並顯示 ClientError。若要增加您的配額,請遵循下列步驟:

請求提高 anAWSService Quotas
  1. 從畫面上錯誤訊息中擷取執行個體名稱、目前配額和必要的配額。例如,在下列錯誤中:

    • 執行個體名稱為 ml.g5.12xlarge

    • 來自下列 current utilization 數字的目前配額為 0 instances

    • 來自下列 request delta 數字的額外必要配額為 1 instances

    範例錯誤如下:

    ClientError: An error occurred (ResourceLimitExceeded) when calling the CreateEndpoint operation: The account-level service limit 'ml.g5.12xlarge for endpoint usage' is 0 Instances, with current utilization of 0 Instances and a request delta of 1 Instances. Please use AWS Service Quotas to request an increase for this quota. If AWS Service Quotas is not available, contact AWS support to request an increase for this quota

  2. 登入 AWS 管理主控台並開啟 Service Quotas 主控台

  3. 在導覽窗格的管理配額下,輸入 Amazon SageMaker AI

  4. 選擇檢視配額

  5. Service Quotas 下的搜尋列中,輸入來自步驟 1 的執行個體名稱。例如,使用步驟 1 錯誤訊息中包含的資訊,輸入 ml.g5.12xlarge

  6. 選擇在執行個體名稱旁邊出現,並以端點用量結尾的配額名稱。例如,使用步驟 1 錯誤訊息中包含的資訊,選擇 ml.g5.12xlarge 表示端點用量

  7. 選擇在帳戶層級請求增加

  8. 增加配額值下,從步驟 1 錯誤訊息中提供的資訊輸入所需的配額。輸入 current utilizationrequest delta總計。在先前的範例錯誤中,current utilization0 Instances,而 request delta1 Instances。在此範例中,請求配額 1 以提供所需的配額。

  9. 選擇請求

  10. 從導覽窗格中選擇配額請求歷程記錄

  11. 狀態待定變更為已核准時,請重新執行您的任務。您可能需要重新整理瀏覽器才能看到變更。

如需請求增加配額的詳細資訊,請參閱請求增加配額

記憶體不足

如果您在沒有足夠記憶體以執行評估演算法的 Amazon EC2 執行個體上啟動基礎模型評估,任務會失敗,並出現下列錯誤:

The actor is dead because its worker process has died. Worker exit type: SYSTEM_ERROR Worker exit detail: Worker unexpectedly exits with a connection error code 2. End of file. There are some potential root causes. (1) The process is killed by SIGKILL by OOM killer due to high memory usage. (2) ray stop --force is called. (3) The worker is crashed unexpectedly due to SIGSEGV or other unexpected errors. The actor never ran - it was cancelled before it started running.

若要增加評估任務可用的記憶體,請將您的執行個體變更為具有更多記憶體的執行個體。如果您使用的是使用者介面,您可以在步驟 2處理器組態下選擇執行個體類型。如果您是在 SageMaker AI 主控台內執行任務,請使用記憶體容量增加的執行個體來啟動新的空間。

如需 Amazon EC2 執行個體的清單,請參閱執行個體類型

如需記憶體容量較大的執行個體的詳細資訊,請參閱記憶體最佳化執行個體

未通過 ping 檢查

在某些情況下,您的基礎模型評估任務將失敗,因為它在 SageMaker AI 部署端點時未通過 ping 檢查。如果它未通過 ping 測試,則會出現下列錯誤:

ClientError: Error hosting endpoint your_endpoint_name: Failed. Reason: The primary container for production variant AllTraffic did not pass the ping health check. Please check CloudWatch logs for this endpoint..., Job exited for model: your_model_name of model_type: your_model_type

如果您的任務產生此錯誤,請等待幾分鐘,然後再次執行您的任務。如果錯誤仍然存在,請聯絡 AWS SupportAmazon SageMaker AI 的 AWS 開發人員論壇

您無法在 SageMaker AI 主控台中找到基礎模型評估

若要使用 SageMaker Clarify Foundation Model Evaluations,您必須升級至新的 Studio 體驗。自 2023 年 11 月 30 日起,先前的 Amazon SageMaker Studio 體驗現在命名為 Amazon SageMaker Studio Classic。基礎評估功能只能用於更新後的體驗。如需如何更新 Studio 的相關資訊,請參閱 從 Amazon SageMaker Studio Classic 遷移

您的模型不支援提示刻板印象

只有某些 JumpStart 模型支援提示刻板印象。如果您選取不支援的 JumpStart 模型,則會出現下列錯誤:

{"evaluationMetrics":"This model does not support Prompt stereotyping evaluation. Please remove that evaluation metric or select another model that supports it."}

如果收到此錯誤,您就無法在基礎評估中使用您選取的模型。SageMaker Clarify 目前正在針對提示刻板印象任務更新所有 JumpStart 模型,以便可在基礎模型評估中使用這些模型。

資料集驗證錯誤 (人工)

使用人力的模型評估任務中的自訂提示資料集,必須使用 JSON 行格式搭配 .jsonl 副檔名進行格式化。

當您啟動任務時,提示資料集中的每個 JSON 物件都會相互驗證。如果其中一個 JSON 物件無效,您會收到下列錯誤。

Customer Error: Your input dataset could not be validated. Your dataset can have up to 1000 prompts. The dataset must be a valid jsonl file, and each prompt valid json object.To learn more about troubleshooting dataset validations errors, see Troubleshooting guide. Job executed for models: meta-textgeneration-llama-2-7b-f, pytorch-textgeneration1-alexa20b.

如需自訂提示資料集通過所有驗證,對於 JSON 行檔案中的所有 JSON 物件,下列條件必須為 true

  • 提示資料集檔案中的每一行都必須是有效的 JSON 物件。

  • 引號 (") 等特殊字元必須正確逸出。例如,如果您的提示是下列 "Claire said to the crowd, "Bananas are the best!"",則需要使用 \"Claire said to the crowd, \"Bananas are the best!\"" 逸出引號。

  • 有效的 JSON 物件必須至少包含 prompt 金鑰/值對。

  • 一個提示資料集檔案在單一檔案中不能包含超過 1,000 個 JSON 物件。

  • 如果您在任何 JSON 物件中指定 responses 金鑰,它必須存在於所有 JSON 物件中。

  • responses 金鑰中的物件數量上限為 1。如果您有回應來自您要比較的多個模型,則每個模型都需要單獨的 BYOI 資料集。

  • 如果您在任何 JSON 物件中指定 responses 金鑰,它也必須在所有 responses 物件中包含 modelIdentifiertext 金鑰。