AI 和機器學習觀點:可靠性

Last reviewed 2024-10-11 UTC

這份架構完善的 AI 和機器學習觀點文件,概述了在 Google Cloud上設計及運作可靠 AI 和機器學習系統的原則和建議。本課程將探討如何將進階可靠性做法和可觀測性整合至架構藍圖。本文中的建議符合 Google Cloud 架構完善架構的可靠性支柱

在快速發展的 AI 和機器學習領域,可靠的系統是確保顧客滿意度和達成業務目標的必要條件。您需要強大、可靠且能適應預測型機器學習和生成式 AI 獨特需求的 AI 和機器學習系統。如要處理 MLOps 的複雜性 (從開發到部署,再到持續改善),您需要採用「可靠性優先」的方法。 Google Cloud 提供專為 AI 打造的基礎架構,符合網站可靠性工程 (SRE) 原則,並為可靠的 AI 和機器學習系統奠定堅實基礎。

確保基礎架構可擴充且具備高可用性

透過架構設計,確保應用程式具備擴充性和可用性,即使需求量不同,服務也不會中斷或效能降低。也就是說,即使基礎架構中斷或流量過高,使用者仍可存取您的 AI 服務。

請參考下列建議:

  • 設計 AI 系統時,請加入自動和動態調整資源配置功能,以因應需求波動。這有助於確保最佳效能,即使在流量高峰期也不例外。
  • 透過負載測試和效能監控,主動管理資源並預測未來需求。運用歷來資料和預測分析,針對資源分配做出明智決策。
  • 採用多可用區和多區域部署原型,在 Google Cloud 中實作備援和複製作業,設計高可用性和容錯能力。
  • 將傳入流量分配給多個 AI 和 ML 服務與端點執行個體。負載平衡有助於避免任何單一執行個體過載,並確保效能和可用性一致。

採用模組化和鬆耦合架構

如要確保 AI 系統不會因個別元件故障而失效,請使用模組化架構。舉例來說,您可以將資料處理和資料驗證元件設計為獨立模組。如果特定元件發生故障,模組化架構有助於盡量減少停機時間,讓團隊更快開發及部署修正程式。

請參考下列建議:

  • 將 AI 和機器學習系統分成小型獨立模組或元件。這種方法可提高程式碼的重複使用率、簡化測試和維護作業,並讓您獨立開發及部署個別元件。
  • 設計鬆耦合模組時,請使用明確定義的介面。這種做法可減少依附元件,讓您獨立進行更新和變更,而不影響整個系統。
  • 規劃優雅降級。當某個元件故障時,系統的其他部分必須繼續提供足夠的功能。
  • 使用 API 在模組之間建立明確界線,並隱藏模組層級的實作詳細資料。這個方法可讓您更新或替換個別元件,而不會影響與系統其他部分的互動。

建構自動化 MLOps 平台

有了自動化 MLOps 平台,模型生命週期的階段和輸出內容會更加可靠。透過提升一致性、鬆散耦合和模組化,並以程式碼表示作業和基礎架構,您可以移除容易出錯的手動步驟,維護更穩健可靠的 AI 和機器學習系統。

請參考下列建議:

  • 自動執行模型開發生命週期,包括準備和驗證資料、訓練、評估、部署及監控模型。
  • 管理基礎架構即程式碼 (IaC)。這種做法可有效控管版本、在必要時快速復原,以及重複部署。
  • 使用相關資料驗證模型行為是否符合預期。自動監控模型成效,並針對非預期的輸出內容建立適當的快訊。
  • 驗證 AI 和機器學習管線的輸入和輸出內容。例如,驗證資料、設定、指令引數、檔案和預測結果。針對非預期或不允許的值設定快訊。
  • 為模型端點採用受管理版本控制策略。這種策略可讓您逐步發布版本,並在發生問題時快速復原。

透過資料和模型管理機制,維持信任和控管權

AI 和機器學習系統的可靠性取決於資料和模型的信任與控管能力。AI 輸出內容可能無法滿足需求,但不會發出任何警示。舉例來說,輸出內容可能在形式上一致,但可能不正確或不適當。導入追溯功能和嚴格管理機制,確保輸出內容可靠且值得信賴。

請參考下列建議:

  • 使用資料和模型目錄,有效追蹤及管理資產。為方便追蹤和稽核,請在整個生命週期中維護資料和模型版本的完整記錄。
  • 實施嚴格的存取控管和稽核追蹤,保護機密資料和模型。
  • 解決 AI 偏誤的重大問題,特別是生成式 AI 應用程式。如要建立信任感,請盡量公開模型輸出內容的相關資訊,並說明輸出內容的來由。
  • 自動產生特徵統計資料,並實作異常偵測功能,主動找出資料問題。為確保模型可靠性,請建立機制來偵測及減輕資料分布變化造成的影響。

全面實施 AI 和機器學習觀測與可靠性做法

如要持續改善 AI 作業,您需要定義有意義的可靠性目標,並評估進展。可觀測性是可靠系統的基礎要素。觀測能力可協助您管理持續進行的作業和重大事件。妥善導入可觀測性,有助於為使用者建構及維護可靠的服務。

請參考下列建議:

  • 追蹤處理器 (CPU、GPU 和 TPU) 的基礎架構指標,以及記憶體用量、網路延遲和磁碟用量等其他資源的指標。執行負載測試和效能監控。運用監控結果和指標,管理 AI 和機器學習系統的資源調度和容量。
  • 設定可靠性目標,並追蹤應用程式指標。測量您建構的 AI 應用程式的處理量和延遲時間等指標。監控應用程式和公開端點的使用模式。
  • 建立模型專屬指標 (例如準確度或安全指標),以評估模型可靠性。長期追蹤這些指標,找出任何偏移或退化情形。如要有效率地進行版本控管和自動化作業,請以程式碼形式定義監控設定。
  • 定義及追蹤業務層級指標,瞭解模型和可靠性對業務成果的影響。如要評估 AI 和 ML 服務的可靠性,請考慮採用 SRE 方法,並定義服務等級目標 (SLO)

貢獻者

作者:

其他貢獻者: