使用 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 彈性啟動型 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:工作負載政策的名稱。