將 Vertex 機器學習中繼資料與管道搭配使用

1. 總覽

在本研究室中,您將學習如何使用 Vertex 機器學習中繼資料,分析 Vertex Pipelines 中的資料。

課程內容

您將學習下列內容:

  • 使用 Kubeflow Pipelines SDK 建構機器學習管道,以便在 Vertex AI 中建立資料集,並針對該資料集訓練及部署自訂 Scikit-learn 模型
  • 撰寫可產生構件和中繼資料的自訂管線元件
  • 比較 Vertex Pipelines 的執行作業,包括透過 Cloud 控制台或以程式輔助方式執行
  • 追蹤管道產生的構件歷程
  • 查詢管道執行作業中繼資料

在 Google Cloud 中執行這個研究室的總費用約為 $2 美元。

2. Vertex AI 簡介

這個研究室使用 Google Cloud 最新的 AI 產品服務。Vertex AI 將 Google Cloud 中的機器學習產品整合到流暢的開發體驗中。先前使用 AutoML 訓練的模型和自訂模型,都能透過不同的服務存取。這項新產品會與其他新產品一起合併為一個 API。您也可以將現有專案遷移至 Vertex AI。

除了模型訓練和部署服務外,Vertex AI 也包含各種機器學習運作產品,包括 Vertex Pipelines、機器學習中繼資料、模型監控和特徵儲存庫等。所有 Vertex AI 產品項目均如下圖所示。

Vertex 產品總覽

本研究室著重於 Vertex PipelinesVertex 機器學習中繼資料

如有任何 Vertex AI 意見回饋,請參閱支援頁面

機器學習管道為何很實用?

在深入說明之前,讓我們先瞭解您想使用管道的原因。假設您要建構的機器學習工作流程包含處理資料、訓練模型、超參數調整、評估和模型部署。每個步驟都有不同的依附元件,如果您將整個工作流程視為單體,可能會變得不穩定。開始擴展機器學習程序時,可能會想與團隊中的其他人共用機器學習工作流程,以便他們執行及編寫程式碼。如果沒有可靠且能重現的程序,可能會變得困難。透過管道,機器學習程序中的每個步驟都是各自的容器。如此一來,您就能獨立開發步驟,並以可重現的方式追蹤每個步驟的輸入和輸出內容。您也可以根據 Cloud 環境中的其他事件,為管道執行作業排程或觸發執行作業,例如在有新訓練資料時開始執行管道。

重點摘要:管線可協助您自動執行重現機器學習工作流程。

3. Cloud 環境設定

您需要已啟用計費功能的 Google Cloud Platform 專案,才能執行這個程式碼研究室。如要建立專案,請按照這裡的操作說明進行。

啟動 Cloud Shell

在本研究室中,您將會透過 Cloud Shell 工作階段執行,也就是由在 Google 雲端環境中運作的虛擬機器託管的指令解譯器。您可以和在自己的電腦本機輕鬆執行這個部分,但只要使用 Cloud Shell,就能在一致的環境中提供可重現的體驗。完成研究室後,您可以使用自己的電腦再試一次。

授權 Cloud Shell

啟用 Cloud Shell

在 Cloud 控制台的右上方,按一下下列按鈕來「啟用 Cloud Shell」

啟用 Cloud Shell

如果您先前從未啟動 Cloud Shell,您會看見中繼畫面 (需捲動位置),說明螢幕內容。如果出現這種情況,請按一下「繼續」 (之後不會再顯示)。以下是單次畫面的外觀:

Cloud Shell 設定

佈建並連線至 Cloud Shell 只需幾分鐘的時間。

Cloud Shell 啟動

這個虛擬機器搭載您需要的所有開發工具。提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作,大幅提高網路效能和驗證能力。在本程式碼研究室中,您的大部分作業都可以透過瀏覽器或 Chromebook 完成。

連線至 Cloud Shell 後,您應會發現自己通過驗證,且專案已設為您的專案 ID。

在 Cloud Shell 中執行下列指令,確認您已通過驗證:

gcloud auth list

指令輸出

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

在 Cloud Shell 中執行下列指令,確認 gcloud 指令知道您的專案:

gcloud config list project

指令輸出

[core]
project = <PROJECT_ID>

如果尚未設定,請使用下列指令進行設定:

gcloud config set project <PROJECT_ID>

指令輸出

Updated property [core/project].

Cloud Shell 有數個環境變數,包括 GOOGLE_CLOUD_PROJECT,其中含有目前 Cloud 專案名稱。我們會在本研究室的各個不同地方使用這些內容。您可以執行以下指令來查看:

echo $GOOGLE_CLOUD_PROJECT

啟用 API

在後續步驟中,您會看到需要這些服務的位置和原因。目前請先執行下列指令,為專案授予 Compute Engine、Container Registry 和 Vertex AI 服務的存取權:

gcloud services enable compute.googleapis.com         \
                       containerregistry.googleapis.com  \
                       aiplatform.googleapis.com

這應該會產生類似下列內容的成功訊息:

Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully.

建立 Cloud Storage 值區

如要在 Vertex AI 執行訓練工作,我們需要一個儲存儲存的模型資產的儲存空間值區。值區必須是區域性值區。您在這裡使用的是 us-central,但您也可以使用其他區域 (請在本研究室中更換這個名稱)。如果您已有值區,可以略過這個步驟。

在 Cloud Shell 終端機中執行下列指令來建立值區:

BUCKET_NAME=gs://$GOOGLE_CLOUD_PROJECT-bucket
gsutil mb -l us-central1 $BUCKET_NAME

接著,我們會為運算服務帳戶授予這個值區的存取權。這麼做可以確保 Vertex Pipelines 具備將檔案寫入這個值區的必要權限。執行下列指令來新增這項權限:

gcloud projects describe $GOOGLE_CLOUD_PROJECT > project-info.txt
PROJECT_NUM=$(cat project-info.txt | sed -nre 's:.*projectNumber\: (.*):\1:p')
SVC_ACCOUNT="${PROJECT_NUM//\'/}-compute@developer.gserviceaccount.com"
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT --member serviceAccount:$SVC_ACCOUNT --role roles/storage.objectAdmin

建立 Vertex AI Workbench 執行個體

在 Cloud 控制台的 Vertex AI 專區中,按一下 Workbench:

Vertex AI 選單

接著在「使用者自行管理的筆記本」中,按一下「新增筆記本」

建立新的筆記本

接著選取「TensorFlow 企業版 2.3 (含 LTS)」執行個體類型,但「不含 GPU」

TFE 執行個體

使用預設選項,然後點選「建立」

開啟筆記本

執行個體建立完成後,請選取「Open JupyterLab」

開啟筆記本

4. Vertex Pipelines 設定

必須安裝下列程式庫,才能使用 Vertex Pipelines:

  • Kubeflow 管道:我們將使用這個 SDK 建構管道。Vertex Pipelines 支援執行使用 Kubeflow Pipelines 或 TFX 建構的管線。
  • Vertex AI SDK:這個 SDK 可將呼叫 Vertex AI API 的體驗最佳化。我們會使用這項工具在 Vertex AI 中執行管道。

建立 Python 筆記本並安裝程式庫

首先,在筆記本執行個體的啟動器選單中,選取「Python 3」來建立筆記本:

建立 Python3 筆記本

如要安裝本研究室將使用的兩項服務,請先在筆記本儲存格中設定使用者旗標:

USER_FLAG = "--user"

然後在筆記本中執行下列指令:

!pip3 install {USER_FLAG} google-cloud-aiplatform==1.7.0
!pip3 install {USER_FLAG} kfp==1.8.9

安裝這些套件後,您需要重新啟動核心:

import os

if not os.getenv("IS_TESTING"):
    # Automatically restart kernel after installs
    import IPython

    app = IPython.Application.instance()
    app.kernel.do_shutdown(True)

接下來,請確認您已正確安裝 KFP SDK 版本。應為 >=1.8:

!python3 -c "import kfp; print('KFP SDK version: {}'.format(kfp.__version__))"

接著,確認 Vertex AI SDK 版本為 1.6.2 以上版本:

!pip list | grep aiplatform

設定專案 ID 和值區

在這個研究室中,您會參照 Cloud 專案 ID 和先前建立的值區。接下來,我們要為每個項目建立變數。

如果不知道專案 ID,可以執行下列指令來取得專案 ID:

import os
PROJECT_ID = ""

# Get your Google Cloud project ID from gcloud
if not os.getenv("IS_TESTING"):
    shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
    PROJECT_ID = shell_output[0]
    print("Project ID: ", PROJECT_ID)

否則,請在此設定:

if PROJECT_ID == "" or PROJECT_ID is None:
    PROJECT_ID = "your-project-id"  # @param {type:"string"}

然後建立變數來儲存值區名稱。如果您是透過這個研究室建立叢集,就可以執行下列作業。否則,您就必須手動設定:

BUCKET_NAME="gs://" + PROJECT_ID + "-bucket"

匯入程式庫

新增以下內容,匯入要在本程式碼研究室中使用的程式庫:

import matplotlib.pyplot as plt
import pandas as pd

from kfp.v2 import compiler, dsl
from kfp.v2.dsl import pipeline, component, Artifact, Dataset, Input, Metrics, Model, Output, InputPath, OutputPath

from google.cloud import aiplatform

# We'll use this namespace for metadata querying
from google.cloud import aiplatform_v1

定義常數

在建立管道前,我們最後一個要做的就是定義一些常數變數。PIPELINE_ROOT 是要寫入管道建立的成果的 Cloud Storage 路徑。這裡使用 us-central1 做為區域,但如果您在建立值區時使用了其他區域,請更新下列程式碼中的 REGION 變數:

PATH=%env PATH
%env PATH={PATH}:/home/jupyter/.local/bin
REGION="us-central1"

PIPELINE_ROOT = f"{BUCKET_NAME}/pipeline_root/"
PIPELINE_ROOT

執行上述程式碼之後,畫面上應會顯示管道的根目錄。這是用來寫入管道構件的 Cloud Storage 位置。它的格式:gs://YOUR-BUCKET-NAME/pipeline_root/

5. 使用自訂元件建立 3 步驟管道

本研究室的重點在於瞭解管道執行作業的中繼資料。為此,我們需要在 Vertex Pipelines 中執行管道,首先我們會從這裡開始。這裡,我們使用下列自訂元件來定義 3 步驟管道:

  • get_dataframe:從 BigQuery 資料表擷取資料,並轉換為 Pandas DataFrame
  • train_sklearn_model:使用 Pandas DataFrame 訓練及匯出 Scikit 學習模型和部分指標
  • deploy_model:將匯出的 Scikit Learn 模型部署至 Vertex AI 中的端點

在這個管道中,我們會使用 UCI 機器學習 Dry beans 資料集,來源:KOKLU、M. 和 OZKAN, I.A.、(2020 年)《Multiclass Classification of ry Beans Using Computer Vision and Machine Learning Techniques》(使用電腦視覺和機器學習技術的多重分類分類)。DOI

這是表格式資料集。我們會在管道中使用該資料集訓練、評估及部署 Scikit-learn 模型,根據豆子的特性,將豆子分為 7 種類型。開始寫程式!

建立以 Python 函式為基礎的元件

使用 KFP SDK,我們就能根據 Python 函式建立元件。之後會用於這個管道的 3 個元件。

下載 BigQuery 資料並轉換成 CSV

首先,我們會建構 get_dataframe 元件:

@component(
    packages_to_install=["google-cloud-bigquery", "pandas", "pyarrow", "db-dtypes"],
    base_image="python:3.9",
    output_component_file="create_dataset.yaml"
)
def get_dataframe(
    bq_table: str,
    output_data_path: OutputPath("Dataset")
):
    from google.cloud import bigquery
    import pandas as pd
    import os

    project_number = os.environ["CLOUD_ML_PROJECT_ID"]
    bqclient = bigquery.Client(project=project_number)
    table = bigquery.TableReference.from_string(
        bq_table
    )
    rows = bqclient.list_rows(
        table
    )
    dataframe = rows.to_dataframe(
        create_bqstorage_client=True,
    )
    dataframe = dataframe.sample(frac=1, random_state=2)
    dataframe.to_csv(output_data_path)

讓我們進一步瞭解這個元件的進行情況:

  • @component 裝飾器會在管道執行時,將這個函式編譯為元件。每次編寫自訂元件時都會用到此方法。
  • base_image 參數會指定這個元件要使用的容器映像檔。
  • 此元件會使用我們透過 packages_to_install 參數指定的幾個 Python 程式庫。
  • output_component_file 為選用參數,可以指定要將編譯元件寫入哪個 yaml 檔案。執行儲存格之後,您應該會看到檔案已寫入筆記本執行個體。如果您想要與其他人共用此元件,可以傳送產生的 yaml 檔案給他們,並讓他們使用下列指令載入檔案:
# This is optional, it shows how to load a component from a yaml file
# dataset_component = kfp.components.load_component_from_file('./create_dataset.yaml')
  • 接著,這個元件會使用 BigQuery Python 用戶端程式庫,將 BigQuery 中的資料下載至 Pandas DataFrame,然後以 CSV 檔案格式建立資料的輸出構件。這會做為輸入內容傳遞至下一個元件

建立元件來訓練 Scikit-learn 模型

在這個元件中,我們會取得先前產生的 CSV,用來訓練 Scikit-learn 決策樹模型。這個元件會匯出產生的 Scikit 模型,以及 Metrics 構件,內含模型的準確率、架構和用於訓練的資料集大小:

@component(
    packages_to_install=["sklearn", "pandas", "joblib", "db-dtypes"],
    base_image="python:3.9",
    output_component_file="beans_model_component.yaml",
)
def sklearn_train(
    dataset: Input[Dataset],
    metrics: Output[Metrics],
    model: Output[Model]
):
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.metrics import roc_curve
    from sklearn.model_selection import train_test_split
    from joblib import dump

    import pandas as pd
    df = pd.read_csv(dataset.path)
    labels = df.pop("Class").tolist()
    data = df.values.tolist()
    x_train, x_test, y_train, y_test = train_test_split(data, labels)

    skmodel = DecisionTreeClassifier()
    skmodel.fit(x_train,y_train)
    score = skmodel.score(x_test,y_test)
    print('accuracy is:',score)

    metrics.log_metric("accuracy",(score * 100.0))
    metrics.log_metric("framework", "Scikit Learn")
    metrics.log_metric("dataset_size", len(df))
    dump(skmodel, model.path + ".joblib")

定義元件,將模型上傳至 Vertex AI

最後,我們的最後一個元件會使用您在上一個步驟中訓練過的模型,將模型上傳到 Vertex AI,然後部署至端點:

@component(
    packages_to_install=["google-cloud-aiplatform"],
    base_image="python:3.9",
    output_component_file="beans_deploy_component.yaml",
)
def deploy_model(
    model: Input[Model],
    project: str,
    region: str,
    vertex_endpoint: Output[Artifact],
    vertex_model: Output[Model]
):
    from google.cloud import aiplatform

    aiplatform.init(project=project, location=region)

    deployed_model = aiplatform.Model.upload(
        display_name="beans-model-pipeline",
        artifact_uri = model.uri.replace("model", ""),
        serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/sklearn-cpu.0-24:latest"
    )
    endpoint = deployed_model.deploy(machine_type="n1-standard-4")

    # Save data to the output params
    vertex_endpoint.uri = endpoint.resource_name
    vertex_model.uri = deployed_model.resource_name

這裡使用 Vertex AI SDK,使用預先建構的預測容器上傳模型。接著將模型部署至端點,並將 URI 傳回模型和端點資源。稍後在本程式碼研究室中,您將進一步瞭解將這些資料做為構件傳回代表什麼意義。

定義及編譯管道

現在我們已定義三個元件,接下來要建立管道定義。這說明瞭各步驟之間的輸入和輸出構件流動方式:

@pipeline(
    # Default pipeline root. You can override it when submitting the pipeline.
    pipeline_root=PIPELINE_ROOT,
    # A name for the pipeline.
    name="mlmd-pipeline",
)
def pipeline(
    bq_table: str = "",
    output_data_path: str = "data.csv",
    project: str = PROJECT_ID,
    region: str = REGION
):
    dataset_task = get_dataframe(bq_table)

    model_task = sklearn_train(
        dataset_task.output
    )

    deploy_task = deploy_model(
        model=model_task.outputs["model"],
        project=project,
        region=region
    )

以下指令會產生 JSON 檔案,供您用於執行管道:

compiler.Compiler().compile(
    pipeline_func=pipeline, package_path="mlmd_pipeline.json"
)

啟動兩項管道執行作業

接下來,我們要開始管道執行作業的兩次。首先,定義用於管道工作 ID 的時間戳記:

from datetime import datetime

TIMESTAMP = datetime.now().strftime("%Y%m%d%H%M%S")

請記住,我們的管道在執行時會使用一個參數:我們想要用於訓練資料的 bq_table。這項管道執行作業會使用較小版本的 beans 資料集:

run1 = aiplatform.PipelineJob(
    display_name="mlmd-pipeline",
    template_path="mlmd_pipeline.json",
    job_id="mlmd-pipeline-small-{0}".format(TIMESTAMP),
    parameter_values={"bq_table": "sara-vertex-demos.beans_demo.small_dataset"},
    enable_caching=True,
)

接著,使用同一個資料集的較大版本,建立另一個管道執行作業。

run2 = aiplatform.PipelineJob(
    display_name="mlmd-pipeline",
    template_path="mlmd_pipeline.json",
    job_id="mlmd-pipeline-large-{0}".format(TIMESTAMP),
    parameter_values={"bq_table": "sara-vertex-demos.beans_demo.large_dataset"},
    enable_caching=True,
)

最後,為兩次執行作業啟動管道執行作業。建議您在兩個不同的筆記本儲存格中執行這項操作,以便查看每次執行作業的輸出內容。

run1.submit()

然後開始第二次跑步:

run2.submit()

執行這個儲存格後,您會在 Vertex AI 控制台中看見各個管道的連結。開啟這個連結即可查看管道的詳細資料:

管道執行作業網址

執行完成後 (這個管道每次執行作業約需 10 至 15 分鐘),因此您看到的畫面會像這樣:

已完成的 Sklearn 管道

您現在已有兩個已完成的管道執行作業,現在可以進一步瞭解管道構件、指標和歷程。

6. 瞭解管道構件和歷程

在管道圖中,您會看到每個步驟之後的小方塊。這些是「成果」,或是管道步驟產生的輸出內容。構件有許多類型,在這個特定管道中,我們有資料集、指標、模型和端點構件,按一下使用者介面頂端的「Expand Artifacts」滑桿,查看各個項目的詳細資料:

展開構件

點選構件即可查看更多詳細資料,包括該構件的 URI。舉例來說,點選「vertex_endpoint」vertex_endpoint構件就會顯示 URI,您可以在 Vertex AI 控制台中找到該已部署的端點:

端點構件詳細資料

Metrics 構件可讓您傳遞與特定管道步驟相關聯的自訂指標。在管道的 sklearn_train 元件中,我們記錄了模型準確率、架構和資料集大小的指標。按一下指標構件即可查看詳細資料:

模型指標

每個構件都有「歷程」,用來說明其連結的其他構件。再次點選管道的 vertex_endpoint 構件,然後點選「View Lineage」按鈕:

顯示歷程

系統會開啟新分頁,當中會顯示所有連結至所選構件的構件。歷程圖表看起來會像這樣:

端點歷程圖

這裡會顯示與這個端點相關聯的模型、指標和資料集。這有什麼幫助?您可以將模型部署至多個端點,或者是想瞭解用於訓練模型的特定資料集,用於訓練已部署至該端點的模型。歷程圖可協助您瞭解各個機器學習系統的其他構件。您也可以透過程式輔助存取歷程,我們稍後會在本程式碼研究室中說明。

7. 比較管道執行作業

單一管道可能會多次執行,例如使用不同的輸入參數、新資料,或是由團隊成員執行。如要追蹤管線的執行作業,建議您針對各種指標來比較這些執行作業。在本節中,我們將介紹兩種比較跑步表現的方式。

在管道 UI 中比較執行作業

前往 Cloud 控制台中的「Pipelines 資訊主頁」。此頁面提供已執行的每個管道執行作業總覽。檢查最後兩次執行作業,然後按一下頂端的「比較」按鈕:

比較執行作業

系統會將您帶往另一個網頁,方便我們比較每個所選執行項目的輸入參數和指標。執行這兩項執行作業時,請留意不同的 BigQuery 資料表、資料集大小和準確率值:

比較指標

你可以使用這項 UI 功能比較兩次以上的執行作業,甚至透過不同管道執行。

比較 Vertex AI SDK 的執行作業

執行許多管道執行作業時,您可能需要透過程式輔助方式取得這些比較指標,以便深入分析指標詳細資料並建立圖表。

您可以使用 aiplatform.get_pipeline_df() 方法存取執行作業中繼資料。這裡,我們會取得同一個管道最後兩次執行的中繼資料,並將中繼資料載入 Pandas DataFrame。這裡的 pipeline 參數是指我們在管道定義中提供的管道名稱:

df = aiplatform.get_pipeline_df(pipeline="mlmd-pipeline")
df

輸出 DataFrame 時,您會看到類似下方的內容:

管道指標 DataFrame

我們在這裡僅執行了兩次管道,但您可以想像,執行較多時會取得多少指標。接下來,我們會使用 matchartlib 建立自訂圖表,查看模型準確率與訓練用資料量之間的關係。

在新筆記本儲存格中執行下列指令:

plt.plot(df["metric.dataset_size"], df["metric.accuracy"],label="Accuracy")
plt.title("Accuracy and dataset size")
plt.legend(loc=4)
plt.show()

畫面應如下所示:

MatDrawlib 中繼資料圖表

8. 查詢管道指標

除了取得所有管道指標的 DataFrame,您可能也想透過程式查詢在機器學習系統中建立的構件。您可以在此建立自訂資訊主頁,或讓貴機構的其他人取得特定構件的詳細資料。

取得所有模型構件

如要透過這種方式查詢構件,我們會建立 MetadataServiceClient

API_ENDPOINT = "{}-aiplatform.googleapis.com".format(REGION)
metadata_client = aiplatform_v1.MetadataServiceClient(
  client_options={
      "api_endpoint": API_ENDPOINT
  }
)

接下來,我們會向該端點發出 list_artifacts 要求,並傳遞篩選器,指出我們希望回應中的哪些構件。首先,讓我們取得專案中所有屬於「模型」的構件。為此,請在筆記本中執行下列指令:

MODEL_FILTER="schema_title = \"system.Model\""
artifact_request = aiplatform_v1.ListArtifactsRequest(
    parent="projects/{0}/locations/{1}/metadataStores/default".format(PROJECT_ID, REGION),
    filter=MODEL_FILTER
)
model_artifacts = metadata_client.list_artifacts(artifact_request)

產生的 model_artifacts 回應會包含專案中每個模型構件的疊代物件,以及每個模型的相關中繼資料。

在 DataFrame 中篩選物件及顯示物件

如果能以圖表方式輕鬆呈現產生的構件查詢,會很有幫助。接下來,我們要取得 2021 年 8 月 10 日後建立,狀態為 LIVE 的所有構件。執行此要求後,我們會在 Pandas DataFrame 中顯示結果。首先,請執行要求:

LIVE_FILTER = "create_time > \"2021-08-10T00:00:00-00:00\" AND state = LIVE"
artifact_req = {
    "parent": "projects/{0}/locations/{1}/metadataStores/default".format(PROJECT_ID, REGION),
    "filter": LIVE_FILTER
}
live_artifacts = metadata_client.list_artifacts(artifact_req)

接著在 DataFrame 中顯示結果:

data = {'uri': [], 'createTime': [], 'type': []}

for i in live_artifacts:
    data['uri'].append(i.uri)
    data['createTime'].append(i.create_time)
    data['type'].append(i.schema_title)

df = pd.DataFrame.from_dict(data)
df

畫面顯示的內容如下:

經過篩選的構件 DataFrame

也可以根據嘗試過的做法,根據其他條件篩選成果。

這表示您已完成研究室!

🎉 恭喜!🎉

您已瞭解如何使用 Vertex AI 執行下列作業:

  • 使用 Kubeflow Pipelines SDK 建構機器學習管道,以便在 Vertex AI 中建立資料集,並針對該資料集訓練及部署自訂 Scikit-learn 模型
  • 撰寫可產生構件和中繼資料的自訂管線元件
  • 比較 Vertex Pipelines 的執行作業,包括透過 Cloud 控制台或以程式輔助方式執行
  • 追蹤管道產生的構件歷程
  • 查詢管道執行作業中繼資料

如要進一步瞭解 Vertex 的其他部分,請參閱說明文件

9. 清除

因此,建議您刪除在本研究室中建立的資源,如此一來,系統就不會向您收費。

停止或刪除 Notebooks 執行個體

如果想繼續使用您在這個研究室中建立的筆記本,建議在不使用時將其關閉。在 Cloud 控制台的「Notebooks」(筆記本) UI 中,依序選取筆記本和「Stop」(停止)。如要將執行個體完全刪除,請選取 [Delete] (刪除)

停止執行個體

刪除 Vertex AI 端點

如要刪除您部署的端點,請前往 Vertex AI 控制台的「端點」部分,然後按一下「刪除」圖示:

刪除端點

刪除 Cloud Storage 值區

如要刪除 Storage 值區,請使用 Cloud 控制台中的導覽選單前往「Storage」(儲存空間)、選取值區,然後點選「Delete」(刪除):

刪除儲存空間