跳至內容

如何對在 Amazon Bedrock 中使用匯入的模型時,出現的 ModelNotReadyException 錯誤進行疑難排解?

1 分的閱讀內容
0

我想在 Amazon Bedrock 中使用匯入的模型,但收到 ModelNotReadyException 錯誤。

簡短說明

Amazon Bedrock 使用內部移出政策來有效率地管理資源。這項政策會移出 Amazon Bedrock 在特定期間內未使用的模型,這段期間通常為一小時。如果您嘗試使用未處於作用中狀態的模型,可能會收到 ModelNotReadyException 錯誤。

如果您嘗試使用政策為了最佳化硬體使用率而移出的 Amazon Bedrock 匯入模型,可能會收到如下所示的 ModelNotReadyException 錯誤訊息:

「errorMessage」: 「Model is not ready for inference.Wait and try your request again.」

**注意:**匯入的模型沒有與佈建輸送量對等的功能。

最佳實務是排程任務,讓模型持續承受固定負載。您也可以批次處理相似的要求,以縮短模型調用之間的閒置時間。

解決方法

確認模型已正確匯入

使用 Amazon Bedrock 主控台或 AWS API 確認模型已匯入

使用 Amazon Bedrock 主控台

完成以下步驟:

  1. 開啟 Amazon Bedrock console (Amazon Bedrock 主控台)。
  2. 在導覽窗格中展開 Foundation models (基礎模型),然後選擇 Imported models (匯入的模型)。
  3. 選擇 Jobs (作業) 索引標籤。
  4. 選取您的 Job name (作業名稱),然後確認 Status (狀態) 顯示為 Complete (完成)。

使用 AWS API

若要確認模型已匯入,請呼叫 GetModelImportJob API。若要確認模型已成功匯入並部署,請檢查輸出的 Status (狀態) 欄位是否為 Complete (完成)。

設定重試

模型移出後,當您首次調用模型時,系統會開始還原模型。還原所需時間取決於隨需機群的可用情況及模型大小。模型還原期間,如果 InvokeModelInvokeModelWithResponseStream API 要求傳回 ModelNotReadyException,系統預設會使用指數退避自動重試要求。

若要設定重試次數上限,請參閱處理 ModelNotReadyException

實作活動訊號策略

實作活動訊號策略,定期向模型傳送 ping 要求。ping 要求會告知 Amazon Bedrock 模型仍在使用中。最佳實務是在關鍵操作前執行預熱要求,避免 Amazon Bedrock 移出模型後發生冷啟動。

若要實作活動訊號策略,請完成以下步驟:

  1. 建立 AWS Lambda 函式,讓該函式針對匯入的模型呼叫 InvokeModel API。
  2. 在 Amazon EventBridge 中建立排程規則,將觸發時間設為上次模型調用後的 30 至 50 分鐘內。
  3. 部署 Lambda 函式,並測試該函式
  4. 將 Lambda 函式日誌傳送至 Amazon CloudWatch Logs
  5. 請在 Amazon CloudWatch 中分析模型使用量指標,以判斷最適合的活動訊號頻率。

聯絡 AWS Support

如果問題仍然存在,請在 AWS 管理主控台的支援中心中建立支援工單

相關資訊

計算執行自訂模型的成本