在 Google Cloud 中實作機器學習技術的最佳做法

Last reviewed 2024-09-09 UTC

本文將介紹在 Google Cloud上實作機器學習 (ML) 的最佳做法,重點在於根據您的資料和程式碼自訂訓練模型。這份指南提供在機器學習工作流程中開發自訂訓練模型的建議,包括重要操作和詳細資料連結。

下圖提供本文件涵蓋的機器學習工作流程階段概要總覽,包括相關產品:

  1. 機器學習開發
  2. 資料準備
  3. 機器學習訓練
  4. 模型部署與服務
  5. 機器學習工作流程自動化調度管理
  6. 構件組織
  7. 模型監控

 Google Cloud的機器學習工作流程。

這份文件並未列出所有建議,而是要協助數據資料學家和機器學習架構師瞭解在 Google Cloud 上使用機器學習的活動範圍,並據以制訂方案。此外,雖然「使用建議的工具和產品」一文提及了 AutoML 等機器學習開發替代方案,但本文主要著重於自訂訓練模型。

在遵循本文的最佳做法之前,建議您先閱讀「Vertex AI 簡介」。

本文假設您符合下列條件:

  • 您主要使用 Google Cloud 服務;本文不討論混合式和地端方法。
  • 您打算收集訓練資料並儲存在 Google Cloud中。
  • 您具備中階程度的機器學習、大數據工具和資料前處理知識,並熟悉 Cloud StorageBigQueryGoogle Cloud 基礎知識。

如果您是機器學習新手,歡迎參加 Google 的機器學習密集課程

下表列出本文件所述 ML 工作流程各階段的建議工具和產品:

機器學習工作流程步驟 建議使用的工具和產品
設定機器學習環境
機器學習開發
資料準備
機器學習訓練
模型部署和服務
機器學習工作流程自動化調度管理
構件機構
模型監控
代管開放原始碼平台

Google 提供 AutoMLVertex AI 預測BigQuery ML,做為 Vertex AI 自訂訓練模型解決方案的替代方案,下表提供建議,說明何時應使用這些 Vertex AI 選項。

機器學習環境 說明 如果符合下列情況,請選擇這個環境:
BigQuery ML BigQuery ML 將資料、基礎架構和預先定義的模型類型整合至單一系統。
  • 所有資料都包含在 BigQuery 中。
  • 您能輕鬆使用 SQL。
  • BigQuery ML 提供的模型組合,可解決您嘗試解決的問題。
AutoML (在 Vertex AI 的脈絡中) AutoML 提供常見問題的訓練常式,例如圖片分類和表格迴歸。您幾乎不必操心模型訓練和服務的各個環節,例如選擇架構、調整超參數和佈建機器等。
  • 您的資料和問題符合 AutoML 支援的其中一種格式,且資料類型和模型目標也符合支援的格式。模型可從 Google Cloud 提供服務,或部署至外部裝置。請參閱「訓練及使用自有模型」和「使用 Google Cloud 控制台訓練 AutoML Edge 模型」。
  • 如果是文字、影片或表格模型,模型可容許的推論延遲時間大於 100 毫秒。您也可以從 BigQuery ML 環境訓練 AutoML 表格模型。
Vertex AI 自訂訓練模型 Vertex 可讓您執行自訂訓練常式,並在無伺服器架構上部署任何類型的模型。Vertex AI 提供超參數調整和監控等額外服務,可簡化模型開發作業。請參閱「選擇自訂訓練方法」。
  • 您的問題不符合本表列出的 BigQuery ML 或 AutoML 條件。
  • 您已在地端或其他雲端平台執行訓練,且需要確保各平台的一致性。

設定 ML 環境

設定 ML 環境時,建議您採用下列最佳做法:

使用 Vertex AI Workbench 執行個體進行實驗和開發

無論使用哪種工具,我們都建議您使用 Vertex AI Workbench 執行個體進行實驗和開發,包括編寫程式碼、啟動工作、執行查詢及檢查狀態。透過 Vertex AI Workbench 執行個體,您就能以簡單且可重現的方式存取所有 Google Cloud的資料和 AI 服務。

Vertex AI Workbench 執行個體也提供安全的軟體和存取模式,開箱即可使用。一般做法是自訂與 Vertex AI Workbench 執行個體相關聯的Google Cloud 屬性,例如網路、身分與存取權管理,以及軟體 (透過容器)。詳情請參閱「Vertex AI 簡介」和「Vertex AI Workbench 執行個體簡介」。

或者,您可以使用 Colab Enterprise,這是協作式的代管筆記本環境,具備 Google Cloud的安全性和法規遵循功能。

為每位團隊成員建立 Vertex AI Workbench 執行個體

為數據資料學團隊的每位成員建立 Vertex AI Workbench 執行個體。如果團隊成員參與多個專案 (尤其是具有不同依附元件的專案),建議使用多個執行個體,將每個執行個體視為虛擬工作區。請注意,您可以在未使用 Vertex AI Workbench 執行個體時停止執行個體。

根據公司政策儲存機器學習資源和構件

最簡單的存取權控管方式,就是將原始資料、Vertex AI 資源和構件 (例如資料集和模型) 儲存在同一個 Google Cloud 專案中。更常見的情況是,貴公司設有控管存取權的政策。如果資源和構件儲存在不同專案中,您可以使用 Identity and Access Management (IAM) 設定公司跨專案存取權控管。

使用 Python 適用的 Vertex AI SDK

使用 Vertex AI SDK for Python,以 Python 方式運用 Vertex AI 進行端對端模型建構工作流程,並與您喜愛的機器學習架構 (包括 PyTorch、TensorFlow、XGBoost 和 scikit-learn) 順暢搭配運作。

您也可以使用 Google Cloud 控制台,透過瀏覽器以使用者介面形式支援 Vertex AI 的功能。

機器學習開發

我們建議採用下列 ML 開發最佳做法:

機器學習開發包括準備資料、實驗及評估模型。解決機器學習問題時,通常需要建構及比較許多不同的模型,找出最適合的模型。

通常,資料科學家會使用不同的架構、輸入資料集、超參數和硬體來訓練模型。資料科學家會查看測試資料集的準確率、精確度和喚回度等匯總成效指標,評估產生的模型。最後,資料科學家會根據特定資料子集、不同模型版本和不同模型架構,評估模型成效。

準備訓練資料

用來訓練模型的資料可能來自多個系統,例如線上服務系統的記錄、本機裝置的圖片,或是從網路上擷取的檔案。

無論資料來源為何,請從來源系統擷取資料,並轉換為適合機器學習訓練的格式和儲存空間 (與作業來源分開)。如要進一步瞭解如何準備訓練資料,以便搭配 Vertex AI 使用,請參閱「訓練及使用自有模型」。

在 BigQuery 中儲存結構化和半結構化資料

如果您處理的是結構化或半結構化資料,建議您按照 BigQuery 的專案結構建議,將所有資料儲存在 BigQuery 中。在大部分情況下,您也可以在 BigQuery 中儲存經過處理的中間資料。如要盡量提高速度,建議您儲存具體化的資料,而非使用檢視區塊或子查詢做為訓練資料。

使用 BigQuery Storage API 從 BigQuery 讀取資料。如要追蹤構件,建議使用代管表格資料集。下表列出可簡化 API 使用程序的工具: Google Cloud

如果你使用... 使用這項 Google Cloud 工具
TensorFlow for Keras 適用於 BigQuery 的 tf.data.dataset 讀取器
TFX BigQuery 用戶端
Dataflow Google BigQuery I/O 連接器
任何其他架構 (例如 PyTorch、XGBoost 或 scilearn-kit) 在 BigQuery 中匯入模型

在 Cloud Storage 中儲存圖片、影片、音訊和非結構化資料

將這些資料以大型容器格式儲存在 Cloud Storage 中。如果您使用 TensorFlow,這適用於分片 TFRecord 檔案;如果您使用任何其他架構,這適用於 Avro 檔案。

將多個個別圖片、影片或音訊片段合併為大型檔案,因為這樣可提升 Cloud Storage 的讀取和寫入輸送量。檔案大小至少應為 100 MB,且介於 100 到 10,000 個分片之間。

如要啟用資料管理功能,請使用 Cloud Storage bucket 和目錄將分片分組。詳情請參閱 Cloud Storage 產品總覽

透過 Google Cloud 控制台使用資料標籤服務

您可以在 Google Cloud 控制台的 Vertex AI 頁面中建立及匯入訓練資料。透過 Gemini 的提示和微調功能,您可以管理文字資料,並自訂分類、實體擷取和情緒分析。此外, Google Cloud 控制台 Google Cloud Marketplace 也提供資料標註解決方案,例如 LabelboxSnorkel Flow

搭配結構化資料使用 Vertex AI 特徵儲存庫

您可以使用 Vertex AI 特徵儲存庫,在中央位置建立、維護、共用及提供機器學習特徵。這項服務經過最佳化,可處理需要低延遲時間的工作負載,並讓您將特徵資料儲存在 BigQuery 資料表或檢視區塊。如要使用 Vertex AI 特徵儲存庫,必須建立線上商店執行個體,並定義特徵檢視畫面。BigQuery 會儲存所有特徵資料,包括歷來特徵資料,方便您離線作業。

使用 Vertex AI TensorBoard 和 Vertex AI Experiments 分析實驗

開發模型時,請使用 Vertex AI TensorBoard 以視覺化方式呈現及比較特定實驗,例如根據超參數。Vertex AI TensorBoard 是企業級代管服務,提供經濟實惠又安全的解決方案,讓數據資料學家和機器學習研究人員能輕鬆追蹤、比較及分享實驗,進而順暢協作。Vertex AI TensorBoard 可追蹤實驗指標 (例如損失和準確率隨時間的變化)、將模型圖視覺化、將嵌入項目投影到較小尺寸的空間等。

使用 Vertex AI Experiments 與 Vertex ML Metadata 整合,並記錄及建立參數、指標、資料集和模型構件之間的連結。

在 Vertex AI Workbench 執行個體中訓練模型 (適用於小型資料集)

Vertex AI Workbench 執行個體中訓練模型,可能足以處理小型資料集,或是較大資料集的子集。對於較大的資料集或分散式訓練,使用訓練服務可能會有幫助。如果訓練是依排程進行,或是因應額外資料的到來而進行,建議使用 Vertex AI 訓練服務,即使是小型資料集,也能將訓練投入生產。

透過超參數調整,盡可能提高模型的預測準確率

如要盡可能提高模型的預測準確率,請使用超參數調整功能。這項自動模型強化工具由 Vertex AI 訓練服務提供,可運用 Google Cloud 的處理基礎架構和 Vertex AI Vizier,在訓練模型時測試不同的超參數設定。超參數調整功能可免除在多次執行訓練的過程中手動調整超參數,直接取得最佳值。

如要進一步瞭解超參數調整,請參閱「超參數調整總覽」和「建立超參數調整工作」。

使用 Vertex AI Workbench 執行個體瞭解模型

使用 Vertex AI Workbench 執行個體評估及瞭解模型。除了 scikit-learn 等內建的常見程式庫,Vertex AI Workbench 執行個體還包含 What-if Tool (WIT)語言可解釋性工具 (LIT)。WIT 可讓您使用多種技術,以互動方式分析模型偏誤;LIT 則是一項可擴充的互動式工具,可協助您以視覺化方式解讀自然語言處理模型行為。

使用特徵歸因深入瞭解模型預測

Vertex Explainable AI 是機器學習實作程序不可或缺的一環,可提供特徵歸因,深入瞭解模型產生預測結果的原因。Vertex Explainable AI 會詳細說明模型用來進行預測的各項輸入特徵的重要性,協助您進一步瞭解模型的行為,並對模型建立信任感。

Vertex Explainable AI 支援以表格和圖片資料為基礎的自訂訓練模型。

如要進一步瞭解 Vertex Explainable AI,請參閱:

資料準備

建議您採用下列資料準備最佳做法:

處理資料的建議方法取決於您使用的架構和資料類型。本節提供常見情境的概要建議。

使用 BigQuery 處理結構化和半結構化資料

使用 BigQuery 儲存未經處理的結構化或半結構化資料。如果您使用 BigQuery ML 建構模型,請使用 BigQuery 內建的轉換功能預先處理資料。如果您使用 AutoML,請使用 AutoML 內建的轉換功能預先處理資料。如果您要建構自訂模型,使用 BigQuery 轉換可能是最經濟實惠的方法。

如果是大型資料集,建議在 BigQuery 中使用分區。這個做法可提升查詢效能和成本效益。

使用 Dataflow 處理資料

如果資料量龐大,建議使用 Dataflow,該服務採用 Apache Beam 程式設計模型。您可以使用 Dataflow 將非結構化資料轉換為 TFRecord 等二進位資料格式,這有助於提升訓練期間的資料擷取效能。

使用 Dataproc 進行無伺服器 Spark 資料處理

或者,如果貴機構已投入 Apache Spark 程式碼庫和技能,請考慮使用 Dataproc。如果資料集較小,可使用一次性 Python 指令碼,將資料集載入記憶體。

如需執行 Cloud SQL 無法表達的轉換,或是串流轉換,可以搭配使用 Dataflow 和 pandas 程式庫。

使用代管型資料集和機器學習中繼資料

為機器學習預先處理資料後,建議您考慮使用 Vertex AI 中的代管資料集。代管資料集可讓您在資料和自訂訓練模型之間建立明確連結,並提供描述性統計資料,以及自動或手動將資料集分割為訓練、測試和驗證集。

您不一定要使用代管資料集。如果您想進一步控管訓練程式碼中的資料分割作業,或是資料與模型之間的沿襲對應用程式而言並不重要,可以選擇不使用代管資料集。

詳情請參閱「資料集」和「在自訂訓練應用程式中使用代管資料集」。

機器學習訓練

我們建議採用下列 ML 訓練最佳做法:

在機器學習訓練中,可運作的訓練是指追蹤重複次數和管理效能,讓模型訓練可重複執行的程序。雖然 Vertex AI Workbench 執行個體很適合用於小型資料集的疊代開發,但我們建議您將程式碼投入運作,確保程式碼可重現,並能擴充至大型資料集。在本節中,我們將討論工具和最佳做法,以利訓練常式運作。

在代管服務中執行程式碼

建議您在 Vertex AI 訓練服務中執行程式碼,或使用 Vertex AI Pipelines 自動化調度管理。您也可以直接在深度學習 VM 映像檔深度學習容器Compute Engine 中執行程式碼。不過,如果您使用 Vertex AI 的功能 (例如自動調整規模和爆量功能),就不建議採用這種做法。

透過訓練管線執行作業

如要在 Vertex AI 上執行訓練工作,您可以建立訓練管線。訓練管線 (與一般 ML 管線不同) 會封裝訓練工作。如要進一步瞭解訓練 pipeline,請參閱「建立訓練 pipeline」和「REST 資源:projects.locations.trainingPipelines」。

使用訓練檢查點儲存實驗的目前狀態

本文中的機器學習工作流程假設您並非以互動方式訓練模型。如果模型失敗且未檢查點,訓練工作或管道就會完成,且資料會遺失,因為模型不在記憶體中。為避免這種情況,請養成一律使用訓練檢查點的習慣,確保不會遺失狀態。

建議您將訓練檢查點儲存在 Cloud Storage 中。為每個實驗或訓練執行作業建立不同的資料夾。

如要進一步瞭解檢查點,請參閱 TensorFlow Core 的「訓練檢查點」、「在 PyTorch 中儲存及載入一般檢查點」和「機器學習設計模式」。

準備要在 Cloud Storage 中用於服務的模型構件

如果是自訂訓練的模型或自訂容器,請將模型構件儲存在 Cloud Storage 值區中,且該值區的區域須與您用於正式環境的區域端點相符。詳情請參閱「值區區域」。

Cloud Storage 支援物件版本管理。為防範資料意外遺失或毀損,請在 Cloud Storage 中啟用物件版本管理功能。

將 Cloud Storage 值區儲存在同一個 Google Cloud 專案中。 如果 Cloud Storage 值區位於其他 Google Cloud 專案,您需要授予 Vertex AI 存取權,才能讀取模型構件。

如果您使用 Vertex AI 預建容器,請確認模型構件的檔案名稱與下列範例完全相符:

  • TensorFlow SavedModel:saved_model.pb
  • Scikit-learn:model.joblib
  • XGBoost:model.bst
  • PyTorch:model.pth

如要瞭解如何將模型儲存為一或多個模型構件,請參閱「匯出模型構件以進行預測」。

定期計算新的特徵值

模型通常會使用從 Vertex AI 特徵儲存庫取得的特徵子集。 Vertex AI 特徵儲存庫中的特徵已準備好用於線上服務。如果資料科學家從資料湖泊取得資料,並建立任何新特徵,建議您排定對應的資料處理和特徵工程工作 (或最好是 Dataflow),定期以所需頻率計算新特徵值 (視特徵新鮮度需求而定),然後將這些值匯入 Vertex AI 特徵儲存庫,以供線上或批次提供。

模型部署與服務

建議您採用下列模型部署和服務最佳做法:

模型部署和服務是指將模型投入實際工作環境。訓練工作的輸出內容是一或多個儲存在 Cloud Storage 的模型構件,您可以將這些構件上傳至模型登錄,以便將檔案用於預測服務。預測服務有兩種:批次預測用於定期為批次資料評分,線上預測則用於為即時應用程式的資料評分,接近即時。這兩種方法都能讓您將輸入資料傳遞給在雲端託管的機器學習模型,並取得每個資料樣本的推論,藉此從訓練模型取得預測結果。詳情請參閱「取得批次預測」和「透過自訂訓練模型取得線上預測」。

如要降低用戶端與模型伺服器之間的對等互連要求延遲,請使用 Vertex AI 私人端點。如果發出預測要求和提供服務的二進位檔位於同一個區域網路,私人端點就特別實用。您可以避免網際網路路由的額外負荷,並使用虛擬私有雲建立對等互連連線。

指定所需機器數量和類型

如要部署模型以進行預測,請選擇適合模型的硬體,例如不同類型的中央處理器 (CPU) 虛擬機器 (VM) 或圖形處理器 (GPU)。詳情請參閱指定機器類型或資源調度層級

模型輸入的方案

除了部署模型,您還需要決定如何將輸入內容傳遞至模型。如果您使用批次預測,可以從資料湖或 Vertex AI 特徵儲存庫批次服務 API 擷取資料。如果您使用線上預測,可以將輸入例項傳送至服務,服務會在回應中傳回預測結果。詳情請參閱「回應內文詳細資料」。

如果您要部署模型以進行線上預測,需要以低延遲、可擴充的方式,提供要傳遞至模型端點的輸入內容或特徵。您可以透過 Google Cloud上的其中一項資料庫服務執行這項操作,也可以使用 Vertex AI 特徵儲存庫的線上服務 API。呼叫線上預測端點的用戶端可以先呼叫特徵服務解決方案,擷取特徵輸入內容,然後使用這些輸入內容呼叫預測端點。您可以將多個模型提供給同一個端點,例如逐步取代模型。或者,您也可以在多個部署作業之間共用資源,將模型部署至多個端點 (例如測試和實際工作環境)。

透過串流擷取,您可以即時更新特徵值。如果優先考量是取得最新可用資料以供線上放送,這個方法就非常實用。舉例來說,您可以擷取串流事件資料,並在幾秒內,透過 Vertex AI 特徵儲存庫串流擷取作業,讓該資料用於線上服務情境。

此外,您可以使用自訂預測處理常式,自訂模型伺服器的輸入 (要求) 和輸出 (回應) 處理方式和格式。

開啟自動縮放功能

如果您使用線上預測服務,在大多數情況下,建議您設定節點數量下限和上限,開啟自動調度功能。詳情請參閱「取得自訂訓練模型的預測結果」。如要確保高可用性服務水準協議 (SLA),請設定自動調度資源,並至少使用兩個節點。

如要進一步瞭解縮放選項,請參閱「縮放機器學習預測」。

機器學習工作流程自動化調度管理

我們建議採用下列最佳做法來協調 ML 工作流程:

Vertex AI 提供機器學習工作流程調度管理功能,可透過 Vertex AI Pipelines 自動執行機器學習工作流程。這項全代管服務可讓您視需要重新訓練模型。重新訓練可讓模型適應變化,並隨著時間推移維持成效,但選擇最佳模型重新訓練頻率時,請考量資料的變化程度。

機器學習協調工作流程最適合已設計及建構模型、將模型投入實際工作環境,並想判斷模型是否正常運作的客戶。您用於實驗的程式碼經過修改後,可能適用於其餘的機器學習工作流程。如要使用自動化機器學習工作流程,您必須精通 Python、瞭解容器等基本基礎架構,並具備機器學習和資料科學知識。

使用 Vertex AI Pipelines 自動化調度管理機器學習工作流程

您可以手動啟動每個資料程序、訓練、評估、測試和部署作業,但建議使用 Vertex AI Pipelines 協調流程。詳情請參閱「MLOps 第 1 級:機器學習管道自動化」。

Vertex AI Pipelines 支援執行 Kubeflow、TensorFlow Extended (TFX) 和 Airflow 產生的 DAG。

使用 Kubeflow Pipelines 彈性建構管道

我們建議大多數想編寫受管理 pipeline 的使用者採用 Kubeflow Pipelines SDK。Kubeflow Pipelines 彈性十足,可讓您使用程式碼建構管道。此外,您也可以使用 Google Cloud 管線元件,在管線中加入 Vertex AI 功能,例如 AutoML。如要進一步瞭解 Kubeflow Pipelines,請參閱「Kubeflow Pipelines」和「Vertex AI Pipelines」。

使用 Ray on Vertex AI 執行分散式機器學習工作流程

Ray 提供一般且統一的分散式架構,可透過 Python 開放原始碼、可擴充的分散式運算架構,擴充機器學習工作流程。這個架構有助於解決機器學習生態系統中各種分散式架構帶來的挑戰,例如必須處理多種工作平行處理模式、排程和資源管理。您可以使用 Ray on Vertex AI 在 Vertex AI 上開發應用程式。

構件組織

建議您採用下列最佳做法來整理構件:

構件是機器學習工作流程中每個步驟產生的輸出內容。建議您以標準化方式整理這些檔案。

整理機器學習模型構件

將構件儲存在下列位置:

儲存位置 構件
來源控制存放區
  • Vertex AI Workbench 執行個體
  • 管道原始碼
  • 預先處理函式
  • 模型原始碼
  • 模型訓練套件
  • 放送函式
實驗和機器學習中繼資料
  • 實驗
  • 參數
  • 超參數
  • 元參數
  • 指標
  • 資料集構件
  • 模型構件
  • 管道中繼資料
Model Registry
  • 訓練過的模型
Artifact Registry
  • 管道容器
  • 自訂訓練環境
  • 自訂預測環境
Vertex AI Prediction
  • 部署的模型數

使用原始碼控管存放區儲存管道定義和訓練程式碼

您可以使用來源控管來控管機器學習管線的版本,以及為這些管線建構的自訂元件。使用 Artifact Registry 儲存、管理及保護 Docker 容器映像檔,不必公開顯示。

模型監控

將模型部署至正式環境後,您需要監控成效,確保模型正常運作。Vertex AI 提供兩種機器學習模型監控方式:

  • 偏差偵測:這種方法會找出模型訓練和實際運作資料之間的扭曲程度
  • 漂移偵測:這類監控作業會尋找生產資料中的漂移。當模型嘗試預測的輸入和目標統計屬性,隨著時間以無法預測的方式變化時,就會發生漂移。這會造成問題,因為預測結果可能會隨著時間經過而變得不準確。

模型監控適用於結構化資料 (例如數值和類別特徵),但不適用於非結構化資料 (例如圖片)。詳情請參閱「監控特徵偏差或漂移的模型」。

使用偏斜和偏離偵測功能

請盡可能使用偏差偵測功能,因為如果生產環境資料與訓練資料不同,就表示模型在生產環境中的表現不如預期。如要偵測偏差,請提供用於訓練模型的訓練資料指標,設定模型監控工作。

如果無法存取訓練資料,請開啟偏移偵測功能,瞭解輸入內容的變化趨勢。

使用漂移偵測功能,監控生產資料是否會隨著時間產生偏差。如要偵測偏移,請啟用要監控的特徵,以及觸發快訊的相應門檻。

微調快訊門檻

調整用於發出快訊的門檻,以便在資料發生偏差或偏移時收到通知。快訊門檻取決於用途、使用者的網域專業知識,以及初始模型監控指標。如要瞭解如何使用監控功能建立資訊主頁,或根據指標設定快訊,請參閱「Cloud Monitoring 指標」。

使用特徵歸因偵測資料偏移或偏差

您可以在 Vertex Explainable AI 中使用特徵歸因,偵測資料偏移或偏斜,做為模型效能可能下降的早期指標。舉例來說,如果模型原本是根據五項特徵,對訓練和測試資料進行預測,但模型在正式環境中開始依據完全不同的特徵進行預測,特徵歸因功能就能協助您偵測到模型效能下降。

對於複雜的特徵類型 (例如嵌入和時間序列) 而言,這項功能特別實用,因為使用傳統的偏斜和漂移方法很難比較這些特徵。透過 Vertex Explainable AI,特徵歸因可指出模型效能何時開始下降。

使用 BigQuery 支援模型監控

BigQuery ML 模型監控是一組工具和功能,可協助您追蹤及評估機器學習模型在不同時間點的成效。模型監控對於在實際應用程式中維持模型準確度和可靠性至關重要。建議您監控下列問題:

  • 資料偏差:如果訓練和服務資料的特徵值分布情形不同,就會發生這個問題。訓練統計資料會在模型訓練期間儲存,因此不需要原始資料,即可偵測出偏差。
  • 資料偏移:現實世界的資料通常會隨時間改變。模型監控功能可協助您判斷模型在正式環境中看到的輸入資料 (服務資料),何時開始與訓練資料出現顯著差異。這種變化可能會導致效能降低。
  • 進階資料偏差或漂移:如要取得精細的偏差或漂移統計資料,請監控進階資料偏差或漂移。

後續步驟