訓練及部署模型

在本教學課程的先前步驟中,您已準備好訓練資料,並建立 Gemini Enterprise Agent Platform 用於訓練模型的指令碼。您現在可以使用 Agent Platform SDK for Python 建立 CustomTrainingJob

建立 CustomTrainingJob 時,系統會在背景定義訓練管道。Gemini Enterprise Agent Platform 會使用訓練管道和 Python 訓練指令碼中的程式碼,訓練及建立模型。詳情請參閱「建立訓練管道」。

定義訓練管道

如要建立訓練管道,請建立 CustomTrainingJob 物件。在下一個步驟中,您會使用 CustomTrainingJob's run 指令建立及訓練模型。如要建立 CustomTrainingJob,請將下列參數傳遞至其建構函式:

  • display_name:您在定義 Python 訓練指令的指令列引數時建立的 JOB_NAME 變數。

  • script_path - 您稍早在本教學課程中建立的 Python 訓練指令碼路徑。

  • container_url - 用於訓練模型的 Docker 容器映像檔 URI。

  • requirements - 指令碼的 Python 套件依附元件清單。

  • model_serving_container_image_uri:Docker 容器映像檔的 URI,用於提供模型預測。這個容器可以是預先建構的容器,也可以是您自己的自訂映像檔。本教學課程使用預先建構的容器。

執行下列程式碼,建立訓練管道。CustomTrainingJob 方法會使用 task.py 檔案中的 Python 訓練指令碼,建構 CustomTrainingJob

job = aiplatform.CustomTrainingJob(
    display_name=JOB_NAME,
    script_path="task.py",
    container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
    requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
    model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)

建立及訓練模型

在上一個步驟中,您建立了名為 jobCustomTrainingJob。如要建立及訓練模型,請在 CustomTrainingJob 物件上呼叫 run 方法,並傳遞下列參數:

  • dataset您在本教學課程中稍早建立的表格資料集。這個參數可以是表格、圖片、影片或文字資料集。

  • model_display_name:模型的名稱。

  • bigquery_destination - 字串,用於指定 BigQuery 資料集的位置。

  • args:傳遞至 Python 訓練指令碼的指令列引數。

如要開始訓練資料並建立模型,請在筆記本中執行下列程式碼:

MODEL_DISPLAY_NAME = "penguins_model_unique"

# Start the training and create your model
model = job.run(
    dataset=dataset,
    model_display_name=MODEL_DISPLAY_NAME,
    bigquery_destination=f"bq://{project_id}",
    args=CMDARGS,
)

繼續進行下一個步驟前,請確認 job.run 指令的輸出內容中顯示下列項目,以驗證作業是否完成:

CustomTrainingJob run completed

訓練作業完成後,即可部署模型。

部署模型

部署模型時,您也會建立用於預測的 Endpoint 資源。如要部署模型並建立端點,請在筆記本中執行下列程式碼:

DEPLOYED_NAME = "penguins_deployed_unique"

endpoint = model.deploy(deployed_model_display_name=DEPLOYED_NAME)

請等待模型部署完成,再繼續進行下一個步驟。模型部署完成後,輸出內容會包含 Endpoint model deployed 文字。

如要在 Google Cloud 控制台中查看部署狀態,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Endpoints」(端點) 頁面。

    前往「Endpoints」(端點) 頁面

  2. 監控「模型」下的值。端點建立後,模型部署前,該值為 0。模型部署後,該值會更新為 1

    下圖顯示端點建立後,模型部署至端點前的狀態。

    未部署模型的端點。

    下圖顯示建立端點後,以及將模型部署至端點後的狀態。

    未部署模型的端點。