Vertex AI 管道簡介 (original) (raw)

Vertex AI Pipelines 可讓您以無伺服器的方式,透過機器學習管道自動調度管理機器學習工作流程,以便自動化處理、監控及管理機器學習系統。您可以使用 Kubeflow Pipelines 或 TensorFlow Extended (TFX) 框架,批次執行定義的機器學習管道。如要瞭解如何選擇定義機器學習管道的架構,請參閱「定義管道的介面」。

本頁面將概略說明以下內容:

什麼是機器學習管道?

機器學習管道是 MLOps 工作流程的可攜式且可擴充的說明,以一系列稱為管道工作的步驟呈現。每項工作都會執行工作流程中的特定步驟,以訓練和/或部署機器學習模型。

透過機器學習管道,您可以套用機器學習運作策略,自動化執行及監控機器學習實務中的可重複程序。舉例來說,您可以重複使用管道定義,根據最新的實際工作環境資料持續重新訓練模型。如要進一步瞭解 Vertex AI 中的機器學習運作,請參閱「Vertex AI 中的機器學習運作」。

機器學習管道的結構

機器學習管道是容器化管道工作的有向非循環圖 (DAG),這些工作會透過輸入/輸出依附元件相互連結。您可以使用 Python 編寫各項工作,也可以使用預先建構的容器映像檔。

您可以使用 Kubeflow Pipelines SDK 或 TFX SDK 將管道定義為 DAG,將其編譯為中介表示法的 YAML,然後執行管道。根據預設,管道工作會並行執行。您可以連結工作項目,以便依序執行。如要進一步瞭解管道工作,請參閱「管道工作」。如要進一步瞭解定義、編譯及執行管道的作業流程,請參閱「機器學習管道的生命週期」。

如需機器學習 pipeline 中工作之間輸入輸出依附元件的示例,請按這裡。

請考慮採用下列步驟的 ML 管道:

編譯機器學習管道時,您使用的管道 SDK (Kubeflow Pipelines 或 TFX) 會分析這些工作之間的資料依附元件,並建立下列工作流程 DAG:

執行機器學習管道時,Vertex AI Pipelines 會依照 DAG 所述的順序執行這些工作。

管道工作和元件

管道工作管道元件的例項化,並具有特定輸入內容。定義機器學習管道時,您可以將一個管道工作的輸出內容,路由至機器學習工作流程中下一個管道工作的輸入內容,藉此連結多個工作,形成 DAG。您也可以將 ML 管道的輸入內容用作管道工作輸入內容。

管道元件

管道元件是一組獨立的程式碼,用於執行機器學習工作流程的特定步驟,例如資料預先處理、模型訓練或模型部署。元件通常包含下列項目:

元件是定義機器學習管道中任務的基礎。如要定義管道工作,您可以使用預先定義的 Google Cloud Pipeline 元件,也可以自行建立自訂元件。

預先定義的元件

如果您想在管道中使用 Vertex AI 的功能 (例如 AutoML),請使用預先定義的 Google Cloud 管道元件。如要瞭解如何使用 Google Cloud 管道元件定義管道,請參閱「建構管道」。

自訂元件

您可以自行撰寫自訂元件,用於機器學習管道。如要進一步瞭解如何編寫自訂元件,請參閱「建構自己的管道元件」。

如要瞭解如何撰寫自訂 Kubeflow Pipelines 元件,請參閱 GitHub 上的 「以 Python 函式為基礎的輕量元件管道」 Jupyter 筆記本。如要瞭解如何撰寫自訂 TFX 元件,請參閱 TensorFlow Extended 正式版教學課程中的 TFX Python 函式元件教學課程

管道工作

管道工作是管道元件的例項化,並執行機器學習工作流程中的特定步驟。您可以使用 Python 或預先建構的容器映像檔編寫機器學習管道工作。

在工作中,您可以使用 Kubernetes 建構 Vertex AI 的隨選運算功能,以便可擴充執行程式碼,或是將工作負載委派給其他執行引擎,例如 BigQuery、Dataflow 或 Dataproc Serverless。

機器學習管道的生命週期

從定義到執行和監控,機器學習管道的生命週期包含下列高階階段:

  1. 定義:定義機器學習管道及其任務的程序也稱為建構管道。在這個階段中,您需要執行下列步驟:
    1. 選擇機器學習架構:Vertex AI Pipelines 支援使用 TFX 或 Kubeflow Pipelines 架構定義的機器學習管道。如要瞭解如何選擇建構管道的架構,請參閱「定義管道的介面」。
    2. 定義管道工作和設定管道:詳情請參閱「建構管道」。
  2. 編譯:在這個階段中,您需要執行下列步驟:
    1. 在已編譯的 YAML 檔案中產生機器學習管道定義,以便執行機器學習管道。
    2. 選用:您可以將編譯的 YAML 檔案上傳至存放區,做為管道範本使用,並重複利用該範本建立機器學習管道執行作業。
  3. 執行:使用已編譯的 YAML 檔案或管道範本,建立機器學習 (ML) 管道的執行例項。管道定義的執行例項稱為管道執行作業
    您可以建立管道執行作業的一次性事件,也可以使用 scheduler API,根據相同的機器學習管道定義建立週期性管道執行作業。您也可以複製現有的管道執行作業。如要瞭解如何選擇執行 ML 管道的介面,請參閱「執行管道的介面」。如要進一步瞭解如何建立管道執行作業,請參閱「執行管道」。
  4. 監控、視覺化及分析執行作業:建立管道執行作業後,您可以執行下列操作來監控管道執行作業的成效、狀態和成本:
  5. 選用:停止或刪除管道執行作業:您可以讓管道執行作業保持有效狀態,時間長短不受限制。您可以選擇執行下列操作:
    • 停止管道執行作業。
    • 暫停或繼續執行管道執行時間表。
    • 刪除現有的管道範本、管道執行作業或管道執行排程。

什麼是管道執行作業?

管道執行作業是機器學習管道定義的執行例項。每個管道執行作業都會以不重複的執行作業名稱標識。您可以使用 Vertex AI Pipelines 以下列方式建立機器學習管道執行作業:

如要進一步瞭解如何建立管道執行作業,請參閱「執行管道」。如要進一步瞭解如何透過管道範本建立管道執行作業,請參閱「建立、上傳及使用管道範本」。

如要瞭解如何使用 Vertex 機器學習中繼資料擷取及儲存管道執行中繼資料,請參閱「使用 Vertex 機器學習中繼資料追蹤機器學習構件的系譜」。

如要瞭解如何使用管道執行作業,透過 Vertex AI Experiments 對機器學習工作流程進行實驗,請參閱「將管道執行作業加入實驗」。

追蹤機器學習構件的歷程

管道執行作業包含多個構件和參數,包括管道中繼資料。如要瞭解機器學習系統的效能或準確度的變化,您需要分析機器學習管道執行作業的中繼資料和機器學習構件的沿革。ML 構件沿革包含所有導致構件建立的因素,以及與該構件相關的中繼資料和參照。

您可以透過歷程圖分析上游根本原因和下游影響。每個管道執行作業都會產生參數和構件沿革圖,這些參數和構件會輸入執行作業、在執行作業中實體化,並從執行作業輸出。構成這張系譜圖的中繼資料會儲存在 Vertex ML 中繼資料中。這類中繼資料也可以同步至 Dataplex 通用目錄。

如要進一步瞭解如何使用 Vertex ML 中繼資料和 Dataplex 通用目錄追蹤機器學習成果的沿革,請參閱「追蹤管道成果的沿革」。

如要進一步瞭解如何視覺化、分析及比較管道執行作業,請參閱「分析管道結果並予以視覺化呈現」。如需瞭解 Google Cloud 管道元件中定義的第一方構件類型清單,請參閱「機器學習中繼資料構件類型」。

在實驗中加入管道執行作業

Vertex AI Experiments 可讓您追蹤及分析各種模型架構、超參數和訓練環境,找出最適合機器學習用途的模型。建立機器學習管道執行作業後,您可以將該作業與實驗或實驗執行作業建立關聯。這樣一來,您就能嘗試不同的變數組合,例如超參數、訓練步驟數或疊代次數。

如要進一步瞭解如何使用 Vertex AI Experiments 進行機器學習工作流程實驗,請參閱「Vertex AI Experiments 簡介」。

後續步驟