本文說明如何建立代管執行個體群組 (MIG),以形成單一主機 TPU 節點。單主機 TPU 節點會對應至一個 TPU 虛擬機器 (VM) 執行個體。
您也可以建立單一主機 TPU 配量,做為獨立 TPU 執行個體。詳情請參閱「建立 TPU VM 執行個體」。
事前準備
- 請參閱限制,瞭解如何使用 TPU 執行個體建立 MIG。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
- 設定預設地區和區域。
-
必要條件
繼續建立單一主機 TPU 配量前,請先完成下列事項:
選擇 TPU 版本:選取適合工作負載的 TPU 版本。如需依工作負載類型列出的 TPU 版本,請參閱「依工作負載類型建議的 TPU 版本」。
驗證偏好位置的 TPU 可用性:TPU 僅在特定 Google Cloud 區域提供。如要使用 TPU 版本,請確認該版本在偏好區域是否可用。如需 TPU 位置清單,請參閱 TPU 可用性。
確認專案有足夠的 TPU 配額:如果您要使用隨選或 Spot VM 建立單一主機 TPU 節點,您必須在要使用的區域中,擁有足夠的可用 TPU 配額。建立耗用 TPU 預留項目的單一主機 TPU 配量時,不需要任何 TPU 配額,因為配額是在建立預留項目時使用。如需 TPU 配額名稱清單,請參閱「TPU 配額」;如需查看配額的操作說明,請參閱「查看及管理配額」。
選擇 TPU 計費方案:選取最符合工作負載、工作負載時間長度和費用需求的計費方案。如需各 TPU 版本適用的用量方案清單,請參閱 TPU 用量方案。
選擇拓撲:選取所選 TPU 版本支援的拓撲。如需各個 TPU 版本適用的拓撲清單,請參閱「TPU 拓撲」。
建立含有多個單一主機 TPU 配量的 MIG
如要在 MIG 中建立多個獨立的 TPU VM,請按照下列步驟操作:
- 建立執行個體範本。
- 建立 MIG。
建立執行個體範本
執行個體範本設定會因您使用的計費選項而異:以量計價、Spot、預留或彈性啟動。如要進一步瞭解消費選項,請參閱「關於 VM 佈建模式」一文。
為隨選 TPU VM 建立執行個體範本
下列指令會建立使用隨選消耗選項的執行個體範本:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替換下列預留位置:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:TPU VM 的機型 (例如ct6e-standard-8t)。IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用--image旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為ubuntu-os-accelerator-images。
建立 TPU Spot VM 的執行個體範本
下列指令會建立使用預先中斷消耗選項的執行個體範本:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=STOP \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替換下列預留位置:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:TPU VM 的機型 (例如ct6e-standard-8t)。IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用--image旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為ubuntu-os-accelerator-images。
為繫結 TPU 預留項目的 VM 建立執行個體範本
下列指令會建立使用 reservation-bound 消耗選項的執行個體範本:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--reservation-affinity=specific \
--provisioning-model=reservation-bound \
--reservation=RESERVATION_NAME \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替換下列預留位置:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:TPU VM 的機型 (例如ct6e-standard-8t)。RESERVATION_NAME:要使用的特定預訂名稱。IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用--image旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為ubuntu-os-accelerator-images。
為 TPU 彈性啟動型 VM 建立執行個體範本
下列指令會建立使用「彈性啟動」消耗選項的執行個體範本:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--provisioning-model=FLEX_START \
--max-run-duration=DURATION \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替換下列預留位置:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:TPU VM 的機型 (例如ct6e-standard-8t)。DURATION:TPU VM 的最長執行時間 (例如1h)。IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用--image旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為ubuntu-os-accelerator-images。
建立 MIG
使用 gcloud compute instance-groups managed create 指令建立可用區或區域性 MIG,如下所示:
如要建立包含單一主機 TPU 配量的可用區 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE如要建立包含單一主機 TPU 配量的區域性 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --target-distribution-shape=ANY_SINGLE_ZONE \ --instance-redistribution-type=none
替換下列預留位置:
MIG_NAME:MIG 的名稱。MIG_SIZE:MIG 中的 VM 數量。INSTANCE_TEMPLATE_URL:您要用於在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 如果是全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
ZONE:要佈建 MIG 的可用區。REGION:要佈建 MIG 的區域。
在 MIG 中使用自訂名稱建立 VM
您可以為每個 VM 指定自訂名稱,在 MIG 中建立 VM。這有助於偵錯,並確保執行個體是以特定順序建立。
gcloud
使用 create-instance 指令建立具有自訂名稱的 VM,並指定 --instance 旗標。如要建立多個 VM,請針對每個 VM 重複執行指令。否則,請使用 REST API 方法,在單一要求中指定多部 VM。
如果是區域 MIG,請使用下列指令:
gcloud compute instance-groups managed create-instance MIG_NAME \ --zone=ZONE \ --instance=INSTANCE_NAME如果是地區 MIG,請使用下列指令:
gcloud compute instance-groups managed create-instance MIG_NAME \ --region=REGION \ --instance=INSTANCE_NAME
替換下列預留位置:
REST
使用下列其中一種 REST API 方法,建立具有自訂名稱的 VM:
如果是區域 MIG,請使用
instanceGroupManagers.createInstances。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }如果是區域 MIG,請使用
regionInstanceGroupManagers.createInstances。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }
替換下列預留位置: