在 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

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

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

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

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

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

處理任務無法完成

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

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

配額不足

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

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

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

    • 下列號碼的目前配額current utilization0 instances

    • 下列數字中額外的必要配額request delta1 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 Management Console 並開啟 Service Quotas 主控台

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

  4. 選擇檢視配額

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

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

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

  8. 增加配額值下,從步驟 1 錯誤訊息中提供的資訊輸入必要的配額。輸入 current utilization和 的總數request 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

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

在 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金鑰。