ML Diagnostics 平台

Google Cloud ML Diagnostics 是端對端代管平台,可最佳化調整、監控及診斷 Google Cloud中的 AI 和機器學習工作負載。使用機器學習診斷工具監控工作負載,並在單一平台收集所有工作負載指標、設定和剖析檔,然後以圖表呈現。機器學習診斷適用於訓練和推論工作負載,並與 Cloud TPU 上的所有自動調度管理工具相容,包括 Google Kubernetes Engine (GKE) 和自訂自動調度管理工具。機器學習診斷包含下列功能:

  • 工作負載監控:自動監控及診斷在 GKE TPU 上執行的 AI/機器學習工作負載。針對每個 GKE 工作,ML Diagnostics Workload Monitoring 會自動建立機器學習執行作業、監控工作負載的 TPU 負載週期、偵測影響工作負載的事件,以及分析工作負載的不同層 (例如基礎架構、自動調度管理工具和框架),協助判斷事件的可能原因。
  • 機器學習執行作業:使用 ML Diagnostics 透過 Google Cloud CLI 建立及註冊機器學習執行作業,或將 ML Diagnostics SDK 整合至工作負載。您可以透過工作負載監控功能自動建立及註冊執行作業,並使用機器學習執行作業部署受管理 XProf 執行個體,以及收集和管理工作負載指標、設定和剖析工作階段。
  • gcloud CLI 體驗:透過 gcloud CLI 使用 ML Diagnostics API 註冊及管理執行作業、部署受管理 XProf 資源、在儲存空間 bucket 中顯示設定檔工作階段,以及從 CLI 觸發設定檔擷取作業。您也可以列出工作負載監控功能偵測到的所有事件,並透過 CLI 或 API 取得這些事件的分析器詳細資料。
  • Python SDK:使用與機器學習工作負載整合的開放原始碼 ML Diagnostics SDK,取得完整的機器學習工作負載診斷體驗。在 Google Cloud監控工作負載,並收集及管理工作負載指標、設定和剖析檔。
  • 受管理設定檔:ML 診斷工具會將可擴充後端的 XProf 受管理例項部署到相關聯的帳戶,以便快速載入大型設定檔。可支援多位使用者同時存取設定檔,並內建多項功能,例如多主機剖析和隨選剖析。
  • 工作負載指標:追蹤工作負載指標,包括模型品質、模型效能和系統指標。透過工作負載監控功能,您可以取得與工作負載相關聯的系統指標,不必整合 SDK。
  • 工作負載設定管理:追蹤工作負載設定,包括軟體設定、系統設定和使用者定義設定。
  • Cluster Director 和 GKE 中的視覺化效果:在 Google Cloud 控制台中,以視覺化方式呈現 Cluster DirectorGoogle Kubernetes Engine 中的指標、設定和設定檔。
  • 連結共用設定:使用共用連結協作,並取得機器學習執行、工作負載監控、指標和設定檔等資訊。

使用者路徑

您可以搭配工作負載監控功能,自動使用 ML Diagnostics 平台處理所有 GKE 工作,也可以將 SDK 整合至工作負載,享受完整的機器學習工作負載診斷體驗。您可以透過 Google Cloud 控制台或 CLI 與 ML 診斷系統互動。使用 GKE on TPU 部署的所有工作負載,都會自動啟用工作負載監控功能。

您可以使用 CLI 透過 ML Diagnostics gcloud CLI 建立或修改機器學習執行作業,並部署代管的 XProf 資源。使用 ML Diagnostics SDK 時,您必須將 SDK 整合至機器學習工作負載,才能收集及管理工作負載指標和設定,並部署代管 XProf 資源。

如要開始使用,請參閱下列任一指南:

使用 XProf 管理剖析作業

使用 CLI 或 SDK 時,您可以透過 XProf 取得代管的剖析體驗。XProf 是開放原始碼的剖析和效能分析工具,適用於機器學習工作負載,也是 OpenXLA 生態系統的一部分。

相較於自行代管的剖析體驗,受管理的剖析體驗具有下列優點:

  • 不需要設定 XProf 或其他依附元件。
  • 提升安全性,防範安全漏洞。
  • 可與他人分享的協作連結。
  • 加快載入大型設定檔的速度。
  • 支援多位使用者同時存取設定檔,並根據連結存取負載自動調度資源。
  • 內建多主機剖析和隨選剖析等功能。
  • 使用相同的受管理 XProf 執行個體,在多次執行中載入多個設定檔工作階段。
  • ML Diagnostics 平台部署的代管 XProf 資源不會產生費用,因此代管 XProf 比自行代管 XProf 更具成本效益。

必要條件

使用 ML 診斷工具前,請先啟用 Cluster Director API,並新增必要的 IAM 權限。如果您使用 GKE,系統已啟用工作負載監控功能。不過,如要使用 ML Diagnostics SDK 和隨選剖析功能,必須額外提供 GKE 構件,並設定 GKE 叢集。詳情請參閱「設定 GKE」一文。

啟用 Cluster Director API

如要使用 ML 診斷產品,不必透過 Cluster Director 部署及管理叢集。ML Diagnostics 適用於由 GKE、Cluster Director 或自訂自動調度管理工具管理的叢集。ML Diagnostics 是 Cluster Director 系列 API 的一部分,但使用者不一定要使用 Cluster Director 產品本身。

如要進一步瞭解如何啟用 Cluster Director API,請參閱「在專案中啟用 API Google Cloud 」一文。

IAM 權限

工作負載使用的 Google Cloud 服務帳戶必須在專案中指派下列 IAM 角色:

  • roles/hypercomputecluster.editor:可完整存取,建立及管理 MLRun 資源,並查看使用者介面。
  • roles/logging.logWriter:將記錄和指標寫入 Cloud Logging。
  • roles/storage.objectUser:將設定檔儲存至 machinelearning_run 中指定的 Cloud Storage bucket。

您也可以建立自訂角色,指派使用者 ML 診斷工具所需的 API 子集。由於使用者不需要使用 Cluster Director 管理叢集,因此您只需要指派下列權限:

  • hypercomputecluster.locations.get
  • hypercomputecluster.locations.list
  • hypercomputecluster.machineLearningRuns.create
  • hypercomputecluster.machineLearningRuns.delete
  • hypercomputecluster.machineLearningRuns.get
  • hypercomputecluster.machineLearningRuns.list
  • hypercomputecluster.machineLearningRuns.update
  • hypercomputecluster.operations.cancel
  • hypercomputecluster.operations.delete
  • hypercomputecluster.operations.get
  • hypercomputecluster.operations.list
  • resourcemanager.projects.get
  • Resourcemanager.projects.list

如果是 Google Kubernetes Engine 上的工作負載,請使用 Workload Identity Federation,將 Kubernetes 服務帳戶與已獲授必要角色的 Google Cloud 服務帳戶建立關聯。

定價

透過 Cloud Logging 儲存指標須付費,透過 Cloud Storage 儲存剖析檔也須付費。使用 ML Diagnostics 平台時,無須為這些服務啟用任何額外帳單。ML Diagnostics 平台部署的代管 XProf 資源不會產生費用。