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

Last reviewed 2024-09-09 UTC

本文介紹在 Google Cloud上實作機器學習 (ML) 的最佳做法,重點在於根據您的資料和程式碼自訂訓練模型。這份指南提供建議,說明如何在機器學習工作流程中開發自訂訓練模型,包括重要行動和延伸閱讀內容的連結。

本文說明機器學習工作流程中的下列階段:

  1. 機器學習開發:設計、實驗及開發模型原型,解決業務問題。
  2. 資料準備:清除原始資料中的雜訊,並設定特徵,確保模型接收高品質、高信號的輸入資料。
  3. 機器學習訓練:對資料集執行訓練指令碼,最佳化模型參數並調整超參數,直到成效指標符合您的要求。
  4. 模型部署和提供:將模型部署至正式環境,透過 API 或容器提供使用者存取。
  5. 機器學習工作流程自動化調度管理:自動執行端對端管道,排定從資料擷取到部署的機器學習工作流程。
  6. 構件組織:在集中式登錄檔中記錄每個資料集、模型檔案和設定,並建立版本。
  7. 模型監控:使用資訊主頁追蹤模型的即時效能和效能偏移。

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

在遵循本文件中的最佳做法之前,建議您先閱讀「Gemini Enterprise Agent Platform 簡介」。

本文假設:

  • 您主要使用 Google Cloud 服務;本文不討論混合式和地端部署方法。
  • 您打算收集訓練資料,並儲存在 Google Cloud。
  • 您具備機器學習、大數據工具和資料預先處理的中級知識,並熟悉 Cloud Storage、BigQuery 和 Google Cloud 的基本概念。

如果您是機器學習新手,請參閱 Google 的機器學習密集課程。

下表列出本文所述機器學習工作流程各階段的建議工具和產品:

機器學習工作流程步驟 推薦工具和產品
機器學習環境設定
機器學習開發
資料準備
機器學習訓練
模型部署與提供
機器學習工作流程自動化調度管理
構件組織
模型監控
代管開放原始碼平台

Google 提供 AutoML、使用 Agent Platform 預測和 BigQuery ML,做為 Agent Platform 自訂訓練模型解決方案的預先建構訓練常式替代方案。下表提供 Agent Platform 這些選項的使用時機建議。

機器學習環境 說明 選擇這個環境的時機
BigQuery ML BigQuery ML 將資料、基礎架構和預先定義的模型類型整合至單一系統。
AutoML (在 Agent Platform 中) AutoML 提供訓練常式,可解決圖片分類和表格迴歸等常見問題。訓練和提供模型時,幾乎所有層面都會為您處理,例如選擇架構、調整超參數和佈建機器。
Agent Platform 自訂訓練模型 Vertex 可讓您執行自訂訓練常式,並在無伺服器架構上部署任何類型的模型。Agent Platform 提供超參數調整和監控等額外服務,可簡化模型開發流程。請參閱「選擇自訂訓練方法」。
  • 您的問題不符合本表列出的 BigQuery ML 或 AutoML 條件。
  • 您已在地端部署或其他雲端平台執行訓練,且需要跨平台的一致性。

機器學習環境設定

設定機器學習環境時,建議您採用下列最佳做法:

使用 Agent Platform Workbench 執行個體進行實驗和開發

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

Agent Platform Workbench 執行個體也提供一組安全的軟體和存取模式,可立即使用。常見做法是自訂Google Cloud 與 Agent Platform Workbench 執行個體相關聯的屬性 (例如網路和 Identity and Access Management) 和軟體 (透過容器)。詳情請參閱「Agent Platform 簡介」和「Agent Platform Workbench 執行個體簡介」。

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

為每位團隊成員建立 Agent Platform Workbench 執行個體

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

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

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

使用 Vertex AI SDK for Python

使用 Agent Platform SDK for Python,以 Pythonic 方式使用 Agent Platform 建立端對端模型工作流程,並與您偏好的機器學習架構 (包括 PyTorch、TensorFlow、XGBoost 和 scikit-learn) 完美整合。

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

機器學習開發

建議您採用下列機器學習開發最佳做法:

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

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

準備訓練資料

用於訓練模型的資料可能來自任何數量的系統,例如線上服務系統的記錄、本機裝置的圖片,或從網路抓取的文件。

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

在 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 或 scikit-learn) 在 BigQuery 匯入模型

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

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

將多張圖片、多部影片或多個音訊片段合併成大型檔案,這樣可以提高 Cloud Storage 的讀取和寫入處理量。建議檔案大小至少為 100 MB,且 shard 數量介於 100 到 10,000 個之間。

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

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

您可以透過 Google Cloud 控制台的「Agent Platform」頁面,建立及匯入訓練資料。使用 Gemini 的提示和調整功能,您就能透過自訂分類、實體擷取和情緒分析管理文字資料。 Google Cloud 控制台市集也提供資料標籤解決方案,例如 Labelbox 和 Snorkel Flow。

搭配結構化資料使用 Agent Platform 特徵儲存庫

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

在 Gemini Enterprise Agent Platform 使用 Vertex AI TensorBoard 和 Experiments 分析實驗

開發模型時,請使用 Vertex AI TensorBoard 以圖表呈現並比較特定實驗,例如根據超參數。Vertex AI TensorBoard 是企業級代管服務,提供符合成本效益的安全解決方案,可讓資料科學家和機器學習研究人員順暢追蹤、比較及分享實驗,進而協同合作。Vertex AI TensorBoard 可追蹤實驗指標 (例如損失和準確率隨時間的變化)、以圖表呈現模型、將嵌入投影至較低維度的空間等。

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

在 Agent Platform Workbench 執行個體中訓練小型資料集的模型

在 Agent Platform Workbench 執行個體中訓練模型,可能足以處理小型資料集或大型資料集的子集。如要處理較大的資料集或分散式訓練,建議使用訓練服務。如果訓練是按照排程進行,或是在收到額外資料時進行,即使資料集很小,也建議使用 Gemini Enterprise Agent Platform 代管訓練服務,將訓練作業投入實際工作環境。

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

如要盡可能提高模型的預測準確度,請使用超參數調整功能。這項功能是 Gemini Enterprise Agent Platform 代管訓練服務提供的自動化模型強化工具,可利用 Google Cloud 和 Vertex AI Vizier 的處理基礎架構,在訓練模型時測試不同的超參數設定。超參數調整功能可免除在多次訓練執行過程中手動調整超參數,以達到最佳值的需求。

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

使用 Agent Platform Workbench 執行個體瞭解模型

使用 Agent Platform Workbench 執行個體評估及瞭解模型。除了 scikit-learn 等內建的常見程式庫外,Agent Platform Workbench 執行個體也包含假設狀況工具 (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 等二進位資料格式,進而提升訓練期間的資料擷取效能。

使用 Managed Service for Apache Spark 處理無伺服器 Spark 資料

或者,如果貴組織已投資 Apache Spark 程式碼集和技能,可以考慮使用 Managed Service for Apache Spark。如果資料集較小,可放入記憶體,請使用一次性 Python 指令碼。

如果您需要執行無法在 Cloud SQL 中表示或用於串流的轉換,可以結合使用 Dataflow 和 pandas 程式庫。

使用代管資料集搭配機器學習中繼資料

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

代管資料集並非必要。如果您想進一步控管訓練程式碼中的資料分割,或資料與模型之間的歷程對應用程式不重要,可以選擇不使用代管資料集。

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

機器學習訓練

建議您採用下列機器學習訓練最佳做法:

在機器學習訓練中,「運作化訓練」是指透過追蹤重複作業和管理效能,讓模型訓練可重複執行的程序。雖然 Agent Platform Workbench 執行個體適合用於小型資料集的疊代開發,但建議您將程式碼作業化,使其可重現並能擴充至大型資料集。在本節中,我們將討論用於實施訓練常式的工具和最佳做法。

在代管服務中執行程式碼

建議您在 Gemini Enterprise Agent Platform Managed Training 服務中執行程式碼,或使用 Agent Platform Pipelines 進行自動化調度管理。您也可以選擇直接在深度學習 VM 映像檔、深度學習容器或 Compute Engine 中執行程式碼。不過,如果您使用 Agent Platform 的功能 (例如自動調度資源和爆發能力),則不建議採用這種做法。

使用訓練管道執行工作

如要在 Agent Platform 執行訓練工作,您可以建立訓練管道。訓練管線與一般機器學習管線不同,會封裝訓練工作。如要進一步瞭解訓練管道,請參閱「建立訓練管道」和「REST 資源:projects.locations.trainingPipelines」。

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

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

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

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

準備模型構件,以便在 Cloud Storage 中提供

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

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

將 Cloud Storage bucket 儲存在同一個 Google Cloud 專案中。如果 Cloud Storage bucket 位於其他 Google Cloud 專案,您必須授予 Gemini Enterprise Agent Platform 存取權,才能讀取模型構件。

如果您使用 Gemini Enterprise Agent Platform 預先建構的容器,請確保模型構件的檔案名稱與下列範例完全相符:

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

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

定期計算新的特徵值

模型通常會使用 Agent Platform 特徵儲存庫中的部分特徵。Agent Platform 特徵儲存庫中的特徵已可線上提供。如果資料科學家從資料湖泊擷取資料,建立任何新特徵,建議您排定相應的資料處理和特徵工程工作 (最好是 Dataflow),根據特徵更新頻率需求,定期計算新特徵值,並將這些值擷取至 Agent Platform 特徵儲存庫,用於線上或批次資料擷取。

模型部署與提供

建議您採用下列最佳做法,部署及提供模型:

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

如要縮短用戶端與模型伺服器之間點對點要求的延遲時間,請使用 Agent Platform 私人端點。如果發出預測要求的應用程式和服務二進位檔位於同一個區域網路,私人端點就特別實用。您可以使用虛擬私有雲,避免網際網路轉送的負擔,並建立點對點連線。

指定所需的機器數量和類型

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

模型的企劃書輸入內容

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

如要部署模型進行線上預測,您需要低延遲、可擴充的方式,提供要傳遞至模型端點的輸入內容或特徵。您可以透過 Google Cloud上的多種資料庫服務,或使用 特徵儲存庫的線上提供 API。呼叫線上預測端點的用戶端可以先呼叫特徵供應解決方案,擷取特徵輸入內容,然後使用這些輸入內容呼叫預測端點。您可以將多個模型提供給同一個端點,例如逐步替換模型。或者,您也可以跨部署項目共用資源,將模型部署至多個端點,例如測試和正式環境。

串流擷取功能可讓您即時更新特徵值。如果優先考量的是線上提供最新可用資料,這個方法就很實用。舉例來說,您可以擷取串流事件資料,並在幾秒內透過 特徵儲存庫串流擷取,將該資料用於線上提供情境。

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

啟用自動調整資源配置功能

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

如要進一步瞭解資源調度選項,請參閱「調整機器學習預測資源」。

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

建議您根據基礎架構和整合需求,採用下列機器學習工作流程自動化調度管理最佳做法:

Google Cloud 提供全方位的機器學習工作流程自動化調度管理套件。對於複雜的端對端程序,如果涵蓋擷取、載入和轉換 (ELT) 等資料工程工作、機器學習訓練和外部業務系統,建議使用 Managed Airflow 做為企業自動化調度管理工具。如果工作流程完全在 Agent Platform 生態系統內執行,Agent Platform Pipelines 是全代管服務的無伺服器服務,可讓您視需要重新訓練模型。雖然重新訓練可讓模型適應變化並維持成效,但選擇最佳模型重新訓練頻率時,請考量資料的變化程度。

機器學習自動化調度管理工作流程最適合已設計及建構模型、將模型投入實際工作環境,並想自動化機器學習生命週期的客戶。實驗用的程式碼只要稍加修改,可能就能用於機器學習工作流程的其他部分。如要在 Agent Platform Pipelines 中使用容器原生機器學習工作流程,您必須精通 Python、瞭解容器等基本基礎架構,並具備機器學習知識。如需更廣泛的自動化調度管理,且不需為非機器學習工作管理自訂容器,Managed Airflow 提供超過 1,000 個預先建構的運算子,以及適合資料科學家使用的 YAML 設定架構。

使用 Managed Airflow 執行端對端企業 MLOps 工作流程

雖然您可以手動啟動各項資料處理程序、訓練、評估和部署作業,但如果架構跨越異質系統,建議使用 Managed Airflow 統籌整個流程。Managed Airflow 是以 Apache Airflow 為基礎建構而成。Managed Airflow 是統一的控制層,可讓您將 Google Cloud 服務 (例如 BigQuery 和 Dataflow) 與 Agent Platform 和第三方企業工具完美整合。

除了編寫複雜的 Airflow Python DAG 之外,您也可以使用 Orchestration Pipelines,以簡潔的 YAML 定義商業邏輯和依附元件。這種宣告式方法大幅降低了入門門檻,資料科學家不必具備深厚的 Apache Airflow 專業知識,就能順暢建構及部署多步驟管道。如要進一步瞭解 Orchestration Pipelines 的 MLOps,請參閱「從數週縮短至幾分鐘:資料管道的全新 AI 代理時代」。

使用 Gemini Enterprise Agent Platform 管道,在 Agent Platform 中建構無伺服器工作流程

如果工作流程完全以容器為基礎,且嚴格在 Agent Platform 生態系統中執行,建議您使用 Agent Platform Pipelines 安排流程。詳情請參閱「MLOps 等級 1:機器學習管道自動化」。Agent Platform Pipelines 為 Kubeflow 和 TensorFlow Extended (TFX) 產生的 DAG 提供無伺服器執行功能。

使用 Kubeflow Pipelines 彈性建構 pipeline

如果想為 Agent Platform Pipelines 編寫代管管道,建議多數使用者採用 Kubeflow Pipelines SDK。Kubeflow Pipelines 相當靈活,可讓您使用程式碼建構容器化管道。此外,它也提供 Google Cloud 管道元件,可讓您在管道中加入 AutoML 等 Agent Platform 功能。如要進一步瞭解 Kubeflow Pipelines,請參閱「Kubeflow Pipelines」和「Agent Platform Pipelines」。

使用 Ray on Gemini Enterprise Agent Platform 執行分散式機器學習工作流程

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

構件管理

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

構件是機器學習工作流程中各步驟產生的輸出內容。最佳做法是以標準化方式整理這些內容。

整理機器學習模型構件

將構件儲存在下列位置:

儲存位置 Artifacts
原始碼控管存放區
  • Gemini Enterprise Agent Platform Workbench 執行個體
  • 管道原始碼
  • 預先處理函式
  • 模型原始碼
  • 模型訓練套件
  • 提供函式
實驗和機器學習中繼資料
  • 實驗
  • 參數
  • 超參數
  • 中繼參數
  • 指標
  • 資料集構件
  • 模型構件
  • 管道中繼資料
Model Registry
  • 訓練過的模型
Artifact Registry
  • 管道容器
  • 自訂訓練環境
  • 自訂預測環境
Gemini Enterprise Agent Platform 推論功能
  • 部署的模型數

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

您可以使用原始碼控管功能,對機器學習管道和為這些管道建構的自訂元件進行版本管控。使用 Artifact Registry 儲存、管理及保護 Docker 容器映像檔,不公開顯示。

模型監控

將模型部署至正式環境後,您需要監控效能,確保模型正常運作。Gemini Enterprise Agent Platform 提供兩種監控機器學習模型的方法:

  • 偏差偵測:這種方法會找出模型訓練和實際工作環境資料之間的失真程度
  • 漂移偵測:這類監控作業會偵測正式環境資料是否發生漂移。當輸入內容和目標 (模型嘗試預測的目標) 的統計屬性,隨著時間以無法預料的方式變化時,就會發生偏移。這會造成問題,因為預測結果可能會隨著時間推移而變得不準確。

模型監控功能適用於結構化資料 (例如數值和類別特徵),但不適用於非結構化資料 (例如圖片)。詳情請參閱「監控模型是否發生特徵扭曲或偏移」。

使用偏誤和偏移偵測功能

請盡可能使用偏誤偵測功能,因為如果得知正式環境資料與訓練資料有偏差,就表示模型在正式環境中的表現不符合預期。如要偵測偏差,請設定模型監控工作,並提供指標,指向用於訓練模型的訓練資料。

如果您無法存取訓練資料,請啟用偏移偵測功能,以便瞭解輸入內容是否隨時間變化。

使用偏移偵測功能,監控實際工作環境資料是否隨著時間出現偏差。如要偵測偏移,請啟用要監控的特徵,並設定觸發快訊的相應門檻。

微調警告門檻

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

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

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

這項功能特別適合用於複雜的特徵類型,例如嵌入和時間序列,這些類型很難使用傳統的偏斜和偏移方法進行比較。在 Vertex Explainable AI 中,特徵歸因可指出模型效能何時會降低。

使用 BigQuery 支援模型監控

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

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

後續步驟