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