使用 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 版本和可用區:
使用 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.v1roles/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:最長運作時間 (例如
7d7 天)。 - 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:最長運作時間 (例如
7d7 天)。 - 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:工作負載政策的名稱。