使用 Compute Engine 建立 TPU Flex-start VM

TPU 彈性啟動型 VM 採用 Dynamic Workload Scheduler,可讓您以經濟實惠的彈性方式存取 TPU 資源,執行 AI 工作負載最多 7 天,且不需長期預留。要求 TPU 彈性啟動 VM 時,要求會保留在佇列中,直到有可用容量為止。佈建完成後,TPU VM 會按照您指定的時間長度運作。

TPU 彈性啟動 VM 非常適合用於快速實驗、小規模測試、動態佈建 TPU 來執行推論工作負載、微調模型,以及執行時間少於 7 天的工作負載。如要進一步瞭解其他 TPU 用量方案,請參閱 Cloud TPU 用量方案

您隨時可以刪除 TPU 資源,停止計費。如要進一步瞭解 TPU 定價,請參閱 Cloud TPU 定價

限制

TPU Flex-start VM 有下列限制:

  • 您可以要求 TPU 彈性啟動 VM,最長可達 7 天。
  • 您可以要求下列 Cloud TPU 版本和可用區:
    • TPU7xus-central1-c
    • TPU v6easia-northeast1-bus-east5-aus-south1-ai1b
    • TPU v5pus-east5-a

使用 TPU 的 MIG 有下列限制:

  • 生命週期作業:您無法停止、啟動、繼續或暫停 TPU 執行個體。如要變更需要重新啟動的設定,或停止產生費用,請刪除執行個體。

  • 區域性 MIG 可用區分配:您必須將目標分配型態設為 ANY_SINGLE_ZONE

  • MIG 中的設定更新

    • 由於定義的加速器拓撲,您無法更新構成多主機 TPU 節點的 MIG。
    • 您可以透過自動或選擇性方法,更新構成單一主機 TPU 節點的 MIG。不過,單一主機 TPU 節點的更新作業不支援重新啟動 (RESTART) 動作。如果必須重新啟動,且允許的最大干擾動作是取代 (REPLACE),更新程式就會取代執行個體;否則,更新嘗試會失敗並顯示錯誤訊息。

  • 如果 MIG 構成多主機 TPU 配量,也會受到下列限制:

    • 目標大小政策:您必須將目標大小政策模式設為 BULK。設定這個模式後,就無法變更。

    • 目標大小:在大量模式中,您可以將目標大小設為 0,或是形成加速器拓撲所需的執行個體數量。

    • 工作負載政策:您必須指定工作負載政策,其中定義了加速器拓撲。設定工作負載政策後,您就無法變更或從 MIG 移除政策。

  • 不支援的功能:使用 TPU 的 MIG 不支援下列功能:

事前準備

要求 TPU Flex-start VM 前,請務必完成下列事項:

  • 安裝 Google Cloud CLI
  • 建立 Google Cloud 專案
  • 啟用 Compute Engine API (compute.googleapis.com)
  • 確認您具備必要權限:
    • roles/compute.instanceAdmin.v1
    • roles/iam.serviceAccountUser

詳情請參閱「設定 TPU 專案」。 Google Cloud

請確認您有足夠的先占配額,可使用 TPU Flex-start VM。如果工作負載需要的核心數超過目前分配到的數量,您可以申請增加配額。詳情請參閱「Cloud TPU 配額」。

使用 MIG 建立 TPU 彈性啟動 VM

如要使用 TPU 彈性啟動 VM,請建立代管執行個體群組 (MIG),並採用特定的執行個體範本設定。

如需建立彈性啟動 VM 的一般操作說明,請參閱「建立彈性啟動 VM」。

建立具有多主機配量的 TPU 彈性啟動 VM

建立執行個體範本

建立執行個體範本,指定 FLEX_START 佈建模式和所選執行時間長度。

gcloud compute instance-templates create TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --provisioning-model=FLEX_START \
    --instance-termination-action=DELETE \
    --max-run-duration=DURATION \
    --region=REGION \
    --maintenance-policy=TERMINATE

替換下列預留位置:

  • TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:TPU VM 的機型 (例如 ct6e-standard-8t)。
  • IMAGE_FAMILY:TPU VM 的 OS 映像檔系列 (例如 ubuntu-accelerator-2204-amd64-with-tpu-v6e)
  • IMAGE_PROJECT:TPU VM 的 OS 映像檔專案 (例如 ubuntu-os-accelerator-images)
  • DURATION:最長運作時間 (例如 7d 7 天)。
  • REGION:要建立執行個體範本的區域

建立工作負載政策

下列指令會建立工作負載政策,單一主機切片可省略這項設定。

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --accelerator-topology=TOPOLOGY

替換下列預留位置:

  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。
  • TOPOLOGY:TPU VM 的拓撲,例如 4x4x8

建立 MIG

依據範本建立 MIG。

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=TEMPLATE_NAME \
    --size=SIZE \
    --workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME \
    --target-size-policy-mode=bulk

替換下列預留位置:

  • MIG_NAME:MIG 的名稱。
  • ZONE:MIG 的可用區。
  • TEMPLATE_NAME:執行個體範本的名稱。
  • SIZE:要建立的執行個體數量。
  • PROJECT_ID:專案的 ID。 Google Cloud
  • WORKLOAD_POLICY_REGION:定義工作負載政策的區域
  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。

使用單一主機配量建立 TPU 彈性啟動 VM

建立執行個體範本

建立執行個體範本,指定 FLEX_START 佈建模式和所選執行時間長度。

gcloud compute instance-templates create TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --provisioning-model=FLEX_START \
    --instance-termination-action=DELETE \
    --max-run-duration=DURATION \
    --region=REGION \
    --maintenance-policy=TERMINATE

替換下列預留位置:

  • TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:TPU VM 的機型 (例如 ct6e-standard-8t)。
  • IMAGE_FAMILY:TPU VM 的 OS 映像檔系列 (例如 ubuntu-accelerator-2204-amd64-with-tpu-v6e)
  • IMAGE_PROJECT:TPU VM 的 OS 映像檔專案 (例如 ubuntu-os-accelerator-images)
  • DURATION:最長運作時間 (例如 7d 7 天)。
  • REGION:要在哪個區域建立執行個體範本。

建立工作負載政策

下列指令會建立工作負載政策,單一主機切片可省略這項設定。

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput

替換下列預留位置:

  • WORKLOAD_POLICY_NAME:Workload 政策的名稱。

建立 MIG

依據範本建立 MIG。

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=TEMPLATE_NAME \
    --size=SIZE \
    --workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME

替換下列預留位置:

  • MIG_NAME:MIG 的名稱。
  • ZONE:MIG 的可用區。
  • TEMPLATE_NAME:執行個體範本的名稱。
  • SIZE:要建立的執行個體數量。
  • PROJECT_ID:專案的 ID。 Google Cloud
  • WORKLOAD_POLICY_REGION:定義工作負載政策的區域
  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。