設定 Vertex AI TensorBoard

如要設定 Vertex AI TensorBoard,必須符合下列條件:

  1. 建立具備必要權限的服務帳戶。
  2. 建立 Cloud Storage bucket,用於儲存 Vertex AI TensorBoard 記錄。
  3. 建立 Vertex AI TensorBoard 執行個體。

建立具備必要權限的服務帳戶

如要將 Vertex AI TensorBoard 與自訂訓練整合,必須連結服務帳戶。

  1. 建立服務帳戶:

    gcloud --project=PROJECT_ID iam service-accounts create USER_SA_NAME
    

    更改下列內容:

    • PROJECT_ID:您要建立服務帳戶的專案 ID。

    • USER_SA_NAME:您要建立的服務帳戶專屬名稱。

  2. Gemini Enterprise Agent Platform Training Service 會使用新的服務帳戶,存取 Google Cloud 服務和資源。如有需要,請使用下列指令授予這些角色:

    SA_EMAIL="USER_SA_NAME@PROJECT_ID.iam.gserviceaccount.com"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/storage.admin"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/aiplatform.user"
    

建立 Cloud Storage bucket 來儲存 Vertex AI TensorBoard 記錄

您必須提供 Cloud Storage bucket,才能儲存訓練指令碼產生的 Vertex AI TensorBoard 記錄。bucket 必須是區域性,也就是非多區域或雙區域,且下列資源必須位於相同區域:

  • Cloud Storage bucket
  • Gemini Enterprise Agent Platform 訓練工作
  • Vertex AI TensorBoard 執行個體

您可以使用現有 bucket,不必按照這裡所述的 bucket 建立步驟操作。如果使用現有 bucket,bucket 的位置必須與建立 Vertex AI TensorBoard 執行個體的位置相同。

UNIQUE_SUFFIX=$(python3 -c "import uuid; print(uuid.uuid4().hex[:8])")
GCS_BUCKET_NAME="PROJECT_ID-tb-logs-LOCATION_ID-${UNIQUE_SUFFIX}"
gcloud storage buckets create "gs://${GCS_BUCKET_NAME}" --location=LOCATION_ID

更改下列內容:

  • LOCATION_ID:建立 Vertex AI TensorBoard 執行個體的位置,例如 us-central1。

GCS_BUCKET_NAME 是用來透過 REST 建立自訂訓練工作。

建立 Vertex AI TensorBoard 執行個體

您必須先建立 Vertex AI TensorBoard 執行個體 (用於儲存 Vertex AI TensorBoard 實驗的區域化資源),才能以圖表呈現實驗。有兩種選項可供選擇。您可以使用預設執行個體,也可以手動建立。您可以在專案和區域中建立多個執行個體,但大多數使用者只需要一個執行個體。

使用預設的 Vertex AI TensorBoard 執行個體

初始化 Gemini Enterprise Agent Platform 實驗時,系統會自動建立預設 TensorBoard 執行個體。這個支援 TensorBoard 與 Gemini Enterprise Agent Platform 實驗相關聯,並會用於所有後續的 Gemini Enterprise Agent Platform 實驗執行作業。tensorboard_resource_name 可直接從實驗中擷取。這是開始使用 Vertex AI TensorBoard 最簡單的方法,應能滿足大多數使用者的需求。

Agent Platform SDK for Python

使用 Agent Platform SDK for Python,建立具有預設執行個體的 Vertex AI TensorBoard 實驗。從實驗中擷取 tensorboard_resource_name。請參閱 Agent Platform SDK 參考文件中的 init 和 Experiment。

Python

from google.cloud import aiplatform


def create_experiment_default_tensorboard_sample(
    experiment_name: str,
    experiment_description: str,
    project: str,
    location: str,
):
    aiplatform.init(
        experiment=experiment_name,
        experiment_description=experiment_description,
        project=project,
        location=location,
    )

    tensorboard = aiplatform.Experiment(experiment_name).get_backing_tensorboard_resource()
    print(f"Tensorboard resource name: {tensorboard.name}")

experiment_name: str, experiment_description: str, project: str, location: str,
  • experiment_name:實驗名稱。
  • experiment_description:實驗說明。
  • project:要建立 TensorBoard 執行個體的專案 PROJECT_ID。
  • location:建立 TensorBoard 執行個體的位置。Vertex AI TensorBoard 位置為區域性。請務必選取支援 Vertex AI TensorBoard 的區域。

手動建立 Vertex AI TensorBoard 執行個體

您可以手動建立 Vertex AI TensorBoard。這項功能適用於較熟悉 Google Cloud 控制台的使用者、需要啟用 CMEK 的 TensorBoard (請參閱「CMEK」),或想使用多個 TensorBoard 的使用者。接著,您可以在初始化 Gemini Enterprise Agent Platform 實驗、啟動實驗執行作業或設定訓練程式碼時,直接指定這個執行個體。

Agent Platform SDK for Python

使用 Agent Platform SDK for Python 建立 Vertex AI TensorBoard 執行個體。

Python

def create_tensorboard_sample(
    project: str,
    location: str,
    display_name: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard.create(
        display_name=display_name,
        project=project,
        location=location,
    )

    aiplatform.init(
        project=project,
        location=location,
        experiment_tensorboard=tensorboard
    )

    return tensorboard

  • project:要建立 TensorBoard 執行個體的專案 PROJECT_ID。
  • display_name:Vertex AI TensorBoard 執行個體的說明名稱。
  • location:建立 TensorBoard 執行個體的位置。Vertex AI TensorBoard 位置為區域性。請務必選取支援 Vertex AI TensorBoard 的區域

Google Cloud CLI

使用 Google Cloud CLI 建立 Vertex AI TensorBoard 執行個體。

  1. 安裝 gcloud CLI
  2. 執行 gcloud init,初始化 Google Cloud CLI。
  3. 如要確認安裝,請查看指令。
     gcloud ai tensorboards --help 

    指令包括 create、describe、list、update 和 delete。如有需要,請按照這些步驟為專案和位置設定預設值,然後再繼續操作。
  4. 向 gcloud CLI 驗證身分。
    gcloud auth application-default login
  5. 提供專案名稱和顯示名稱,建立 Vertex AI TensorBoard 執行個體。如果是首次在專案中執行這個步驟,可能需要幾分鐘才能完成。記下下列指令結尾處顯示的 Vertex AI TensorBoard 執行個體名稱 (例如 projects/123/locations/us-central1/tensorboards/456)。後續步驟會用到。
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    替換下列項目:
    • PROJECT_NAME:要在其中建立 TensorBoard 執行個體的專案。
    • DISPLAY_NAME:TensorBoard 執行個體的說明名稱。

Google Cloud 控制台

如要加密 Vertex AI TensorBoard 資料,請務必在建立執行個體時啟用 CMEK 金鑰。

請按照下列步驟,使用 Google Cloud 控制台建立已啟用 CMEK 的 Vertex AI TensorBoard 執行個體。

  1. 如果您是第一次使用 Gemini Enterprise Agent Platform,或要啟動新專案,請設定專案和開發環境。
  2. 前往 Google Cloud 控制台 Gemini Enterprise Agent Platform 專區的「Experiments」(實驗) 頁面。

    前往「實驗」頁面
  3. 前往「TensorBoard Instances」(TensorBoard 執行個體) 分頁。
  4. 按一下頁面頂端的「建立」。
  5. 從「Region」(區域) 下拉式選單中選取位置。
  6. (選用) 新增說明。
  7. (選用) 在「Encryption」(加密) 下方,選取「Customer-managed encryption key (CMEK)」(客戶自行管理的加密金鑰 (CMEK)),然後選取客戶自行管理的金鑰。
  8. 按一下「建立」,建立 TensorBoard 執行個體。

建立 TensorBoard 執行個體

Terraform

下列範例使用 google_vertex_ai_tensorboard Terraform 資源,建立未加密的 Vertex AI TensorBoard 執行個體。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

Terraform

resource "google_vertex_ai_tensorboard" "default" {
  display_name = "vertex-ai-tensorboard-sample-name"
  region       = "us-central1"
}

刪除 TensorBoard 執行個體

刪除 TensorBoard 執行個體後,該 TensorBoard 和所有相關聯的 TensorBoard 實驗和 TensorBoard 執行作業都會刪除。與執行個體相關聯的 Vertex AI Experiments 不會刪除。

如要刪除 Vertex AI Experiments 和相關聯的 Vertex AI TensorBoard 實驗,請參閱「刪除實驗」。

Agent Platform SDK for Python

使用 Agent Platform SDK for Python 刪除 Vertex AI TensorBoard 執行個體。

Python

def delete_tensorboard_instance_sample(
    tensorboard_resource_name: str,
    project: str,
    location: str,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard(
        tensorboard_name=tensorboard_resource_name
    )

    tensorboard.delete()

  • tensorboard_resource_name:提供 TensorBoard 資源名稱。
  • project:TensorBoard 執行個體所在的PROJECT_ID。
  • location:TensorBoard 執行個體所在的位置。

Google Cloud 控制台

請按照下列步驟,使用 Google Cloud 控制台刪除 Vertex AI TensorBoard 執行個體。

  1. 前往 Google Cloud 控制台 Gemini Enterprise Agent Platform 專區的「Experiments」(實驗) 頁面。

    前往「實驗」頁面
  2. 選取「TensorBoard Instances」(TensorBoard 執行個體) 分頁標籤。畫面上會顯示 TensorBoard 執行個體清單。
  3. 選取 ,然後按一下「刪除」

刪除 TensorBoard 執行個體

相關字詞

「TensorBoard 資源名稱」和「TensorBoard 執行個體 ID」這兩個詞彙在許多範例中都會用到。

TensorBoard 資源名稱

TensorBoard 資源名稱用於完整識別 Vertex AI TensorBoard 執行個體。格式如下:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

使用 gcloud CLI 或 Vertex AI SDK 建立 TensorBoard 資源時,記錄訊息會顯示資源名稱。您也可以為預留位置提供適當的值,建立 TensorBoard 資源。

Agent Platform SDK for Python

您可以使用 Vertex AI SDK,從 Vertex AI Experiments 擷取 TensorBoard 資源名稱。

Python

from google.cloud import aiplatform


def get_experiment_backing_tensorboard_sample(
    experiment_name: str,
    project: str,
    location: str,
):
    backing_tensorboard = aiplatform.Experiment(
        project=project,
        location=location,
        experiment_name=experiment_name
    ).get_backing_tensorboard_resource()

    return backing_tensorboard.name

  • experiment_name:實驗名稱。
  • project:實驗的PROJECT_ID。
  • location:實驗所在位置。

TensorBoard 執行個體 ID

TensorBoard 執行個體 ID 是與 TensorBoard 執行個體相關聯的生成 ID 值。如要尋找 TENSORBOARD_INSTANCE_ID,請前往 Google Cloud 控制台的「Experiments」(實驗) 頁面「Gemini Enterprise Agent Platform」部分,然後選取「TensorBoard Instances」(TensorBoard 執行個體) 分頁標籤。

您也可以從 TensorBoard 資源名稱擷取執行個體 ID。TensorBoard ID