Agent Platform Pipelines 可讓您以無伺服器的方式,使用機器學習管道調度管理機器學習工作流程,藉此自動化、監控及管理機器學習系統。您可以批次執行使用 Kubeflow Pipelines 或 TensorFlow Extended (TFX) 架構定義的機器學習管道。如要瞭解如何選擇定義機器學習管道的框架,請參閱「定義管道的介面」。
本頁面提供下列項目的總覽:
什麼是機器學習管道?
機器學習管道是 MLOps 工作流程的可攜式擴充說明,以一系列稱為管道工作的步驟呈現。每項工作都會在工作流程中執行特定步驟,以訓練及部署機器學習模型。
透過機器學習管道,您可以套用機器學習運作策略,自動執行及監控機器學習實務中可重複執行的程序。舉例來說,您可以重複使用管道定義,根據最新的正式環境資料持續重新訓練模型。如要進一步瞭解 Gemini Enterprise 中的 MLOps,請參閱「Gemini Enterprise API 的 MLOps」。
機器學習管道的結構
機器學習管道是有向無環圖 (DAG),由透過輸入/輸出依附元件互連的容器化管道任務組成。您可以透過 Python 或預先建構的容器映像檔,撰寫各項任務。
您可以使用 Kubeflow Pipelines SDK 或 TFX SDK,將管道定義為 DAG,編譯成 YAML 以供中繼表示,然後執行管道。根據預設,管道工作會平行執行。您可以連結工作,依序執行。 如要進一步瞭解管道工作,請參閱「管道工作」。如要進一步瞭解定義、編譯及執行管道的工作流程,請參閱「機器學習管道的生命週期」。
管道工作和元件
管道工作是管道元件的例項,具有特定輸入內容。定義機器學習管道時,您可以將一個管道工作的輸出內容,傳送至機器學習工作流程中下一個管道工作的輸入內容,藉此互連多個工作,形成 DAG。您也可以將 ML 管道的輸入內容做為管道工作的輸入內容。
管道元件
管道元件是一組獨立的程式碼,用於執行機器學習工作流程的特定步驟,例如資料預先處理、模型訓練或模型部署。元件通常包含下列項目:
輸入:元件可能有一或多個輸入參數和構件。
輸出:每個元件都有一或多個輸出參數或構件。
邏輯:這是元件的可執行程式碼。如果是容器化元件,邏輯也會包含環境或容器映像檔的定義,元件會在其中執行。
元件是定義機器學習管道中工作項目的基礎。如要定義管道工作,您可以使用預先定義的 Google Cloud 管道元件,也可以建立自己的自訂元件。
預先定義的元件
如要在管道中使用 Gemini Enterprise API 的功能 (例如 AutoML),請使用預先定義的 Google Cloud 管道元件。如要瞭解如何使用 Google Cloud 管道元件定義管道,請參閱「建構管道」。
自訂元件
您可以編寫自己的自訂元件,用於機器學習管道。如要進一步瞭解如何編寫自訂元件,請參閱「建構自己的管道元件」。
如要瞭解如何編寫自訂 Kubeflow Pipelines 元件,請參閱 GitHub 上的「Pipelines with lightweight components based on Python functions」(管道與以 Python 函式為基礎的輕量元件) 教學課程筆記本。如要瞭解如何編寫自訂 TFX 元件,請參閱 TensorFlow Extended in Production 教學課程中的 TFX Python 函式元件教學課程。
管道工作
管道工作是管道元件的例項,可執行機器學習工作流程中的特定步驟。您可以透過 Python 或預先建構的容器映像檔,撰寫機器學習管道工作。
在工作內,您可以運用 Kubernetes,以 Gemini Enterprise Agent Platform 的隨選運算功能為基礎,大規模執行程式碼,也可以將工作負載委派給其他執行引擎,例如 BigQuery、Dataflow 或 Managed Service for Apache Spark。
機器學習管道的生命週期
從定義到執行和監控,機器學習管道的生命週期包含下列基本階段:
定義:定義機器學習管道及其工作的程序也稱為建構管道。在這個階段,您需要執行下列步驟:
編譯:在這個階段,您需要執行下列步驟:
在編譯的 YAML 檔案中產生 ML 管道定義,以供中繼表示法使用,您可以用來執行 ML 管道。
選用:您可以將編譯後的 YAML 檔案上傳至存放區,做為管道範本,並重複使用該範本建立 ML 管道執行作業。
執行:使用已編譯的 YAML 檔案或管道範本,建立機器學習管道的執行個體。管道定義的執行個體稱為「管道執行作業」。
您可以建立管道執行作業的一次性事件,也可以使用排程器 API,從相同的機器學習管道定義建立週期性管道執行作業。您也可以複製現有的管道執行作業。如要瞭解如何選擇介面來執行機器學習管道,請參閱「執行管道的介面」。如要進一步瞭解如何建立管道執行作業,請參閱「執行管道」。
監控、視覺化及分析執行作業:建立管道執行作業後,您可以執行下列操作,監控管道執行作業的效能、狀態和費用:
設定管道失敗的電子郵件通知。詳情請參閱「設定電子郵件通知」。
使用 Cloud Logging 建立記錄項目,監控事件。詳情請參閱「查看管道工作記錄」。
以視覺化方式呈現、分析及比較管道執行作業。詳情請參閱「分析管道結果並予以視覺化呈現」。
使用 Cloud Billing 匯出至 BigQuery 功能,分析管道執行費用。詳情請參閱「瞭解管道執行費用」。
選用:停止或刪除管道執行作業:管道執行作業的有效時間沒有限制。您可以視需要執行下列操作:
停止管道執行作業。
暫停或繼續執行管道執行時間表。
刪除現有的管道範本、管道執行作業或管道執行作業排程。
什麼是管道執行作業?
管道執行是機器學習管道定義的執行例項。每個管道執行作業都會以專屬的執行名稱識別。使用 Agent Platform Pipelines 時,您可以透過下列方式建立機器學習管道執行作業:
使用管道的已編譯 YAML 定義
使用範本庫中的管道範本
如要進一步瞭解如何建立管道執行作業,請參閱「執行管道」。如要進一步瞭解如何從管道範本建立管道執行作業,請參閱「建立、上傳及使用管道範本」。
如要瞭解如何使用 Agent Platform ML Metadata 擷取及儲存管道執行中繼資料,請參閱「使用 Agent Platform ML Metadata 追蹤 ML 構件的沿革」。
如要瞭解如何使用 Gemini Enterprise Agent Platform Experiments,透過管道執行來實驗 ML 工作流程,請參閱「將管道執行新增至實驗」。
追蹤機器學習構件的歷程
管道執行作業包含多項構件和參數,包括管道中繼資料。如要瞭解機器學習系統的效能或準確度變化,您需要分析機器學習管道執行作業的中繼資料和機器學習構件沿襲。機器學習 Artifact 的沿襲包括促成其建立的所有因素,以及中繼資料和衍生 Artifact 的參照。
歷程圖可協助您分析上游根本原因和下游影響。每次管道執行都會產生參數和構件的沿襲圖,這些參數和構件會輸入執行作業、在執行作業中具體化,以及從執行作業輸出。構成這個沿襲圖的中繼資料會儲存在 Agent Platform 機器學習中繼資料中。 這項中繼資料也可以同步至 Knowledge Catalog。
使用 Agent Platform 機器學習中繼資料追蹤管道構件歷程
使用 Agent Platform Pipelines 執行管道時,管道使用及產生的所有參數和構件中繼資料,都會儲存在 Agent Platform 機器學習中繼資料中。Agent Platform ML Metadata 是 TensorFlow 中 ML Metadata 程式庫的代管實作方式,支援註冊及編寫自訂中繼資料結構定義。在 Agent Platform Pipelines 中建立管道執行作業時,管道執行作業的中繼資料會儲存在執行管道的專案和區域預設中繼資料存放區。
使用 Knowledge Catalog 追蹤管道構件的歷程
Knowledge Catalog 是全球通用的跨專案資料網狀架構,整合了 Google Cloud內的多個系統,例如 Agent Platform、BigQuery 和 Managed Service for Apache Airflow。 在 Knowledge Catalog 中,您可以搜尋管道構件並查看其歷程圖。請注意,為避免構件衝突,Knowledge Catalog 中編目的任何資源都會以完整名稱 (FQN) 識別。
如要進一步瞭解如何使用 Agent Platform ML Metadata 和 Knowledge Catalog 追蹤機器學習構件的歷程,請參閱「追蹤管道構件的歷程」。
如要進一步瞭解如何視覺化、分析及比較管道執行作業,請參閱「視覺化及分析管道結果」。如需 Google Cloud Pipeline Components 中定義的第一方構件類型清單,請參閱「機器學習中繼資料構件類型」。
在實驗中新增管道執行作業
透過 Agent Platform Experiments,您可以追蹤及分析各種模型架構、超參數和訓練環境,找出最適合機器學習用途的模型。建立機器學習管道執行作業後,您可以將其與實驗或實驗執行作業建立關聯。這樣一來,您就能實驗不同的變數組合,例如超參數、訓練步驟數或疊代次數。
如要進一步瞭解如何使用 Agent Platform Experiments 實驗機器學習工作流程,請參閱「Agent Platform Experiments 簡介」。