要求使用 TPU 彈性啟動 VM

TPU 彈性啟動 VM 採用動態工作負載排程器,可彈性且經濟實惠地存取 TPU 資源,執行 AI 工作負載。彈性啟動 VM 可讓您視需要動態佈建 TPU,最多可使用 7 天,無須長期預訂或進行複雜的配額管理。使用 TPU Flex-start VM 時,您提交的 TPU 佈建要求會持續存在,直到容量可用為止。TPU VM 可用後,就會在您要求中指定的時間長度內執行。

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

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

限制

TPU Flex-start VM 有下列限制:

  • 您可以要求 TPU 彈性啟動 VM,最長可達 7 天。
  • 您可以要求下列 Cloud TPU 版本和可用區:
  • 您必須使用佇列資源 API,才能使用 TPU 彈性啟動 VM。

事前準備

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

  • 安裝 Google Cloud CLI
  • 建立 Google Cloud 專案
  • 啟用 Cloud TPU API

詳情請參閱「設定 Cloud TPU 環境」。

此外,請確認您有足夠的先占配額,可以使用 TPU Flex-start VM。如果需要的 TPU 核心數超過預設配額,請申請提高配額。如要進一步瞭解預設值和如何要求更多配額,請參閱「Cloud TPU 配額」。

要求使用 TPU 彈性啟動 VM

TPU Flex-start VM 會使用佇列資源 API,按照佇列順序要求 TPU 資源。當要求的資源可用時,系統會將其指派給您的 Google Cloud 專案,供您立即專屬使用。在要求的執行時間過後,系統會刪除 TPU VM,並將佇列中的資源移至 SUSPENDED 狀態。如要進一步瞭解排入佇列的資源,請參閱「管理排入佇列的資源」。

如要要求 TPU 彈性啟動 VM,請使用 gcloud alpha compute tpus queued-resources create 指令,並將 --provisioning-model 旗標設為 flex-start,以及將 --max-run-duration 旗標設為 TPU 的執行時間。

gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --runtime-version=RUNTIME_VERSION \
    --node-id=NODE_ID \
    --provisioning-model=flex-start \
    --max-run-duration=RUN_DURATION

替換下列預留位置:

  • QUEUED_RESOURCE_ID:使用者為已加入佇列的資源要求指派的 ID。
  • ZONE:要建立 TPU VM 的可用區
  • ACCELERATOR_TYPE:指定要建立的 Cloud TPU 版本和大小。如要進一步瞭解各個 TPU 版本支援的加速器類型,請參閱「TPU 版本」。
  • RUNTIME_VERSION:Cloud TPU 軟體版本
  • NODE_ID:在分配排隊資源要求時建立的 TPU 使用者指派 ID。
  • RUN_DURATION:TPU 的執行時間長度。將時間長度格式化為天數、時數、分鐘數和秒數,並分別加上 dhms。舉例來說,如要指定 72 小時的時長,請輸入 72h;如要指定 1 天 2 小時 3 分 4 秒的時長,請輸入 1d2h3m4s。最長不得超過 7 天。

您可以使用其他標記,進一步自訂排隊資源要求,在特定時間執行:

  • --valid-after-duration:TPU 不得佈建的時長。
  • --valid-after-time:TPU 必須在此時間前完成佈建。
  • --valid-until-duration:要求的有效時間。如果要求未在期限內完成,就會過期並進入 FAILED 狀態。
  • --valid-until-time:要求的有效時間。如果要求未在此時間前完成,要求就會過期並進入 FAILED 狀態。

如要進一步瞭解選用旗標,請參閱 gcloud alpha compute tpus queued-resources create 說明文件。

取得 TPU Flex-start VM 的要求狀態

如要監控 TPU Flex-start VM 的要求狀態,請使用佇列資源 API,透過 gcloud alpha compute tpus queued-resources describe 指令取得佇列資源要求的狀態:

gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \
    --zone ZONE

已加入佇列的資源可能處於下列其中一種狀態:

  • WAITING_FOR_RESOURCES:要求已通過初步驗證,並已加入佇列。
  • PROVISIONING:要求已從佇列中選取,系統正在建立 TPU VM。
  • ACTIVE:要求已完成,TPU VM 已準備就緒。
  • FAILED:無法完成要求。如需更多詳細資料,請使用 describe 指令。
  • SUSPENDING:與要求相關聯的資源正在刪除。
  • SUSPENDED:與要求相關聯的資源已刪除。

詳情請參閱「擷取已加入佇列的資源要求的狀態和診斷資訊」。

監控 TPU 彈性啟動 VM 的執行時間

您可以查看 TPU 的終止時間戳記,監控 TPU 彈性啟動 VM 的執行時間:

  1. 取得佇列中資源要求的詳細資料
  2. 請根據是否已建立 TPU,選擇下列其中一個選項:

    • 如果排入佇列的資源正在等待資源:請查看輸出內容中的 maxRunDuration 欄位。這個欄位可指定 TPU 建立後的運作時長。

    • 如果已建立與排入佇列資源相關聯的 TPU: 在輸出內容中,查看排入佇列資源中每個節點列出的 terminationTimestamp 欄位。這個欄位會指定 TPU 的終止時間。

刪除排入佇列的資源

您可以刪除排入佇列的資源要求,並將 --force 旗標傳遞至 queued-resources delete 指令,藉此刪除與要求相關聯的 TPU:

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --force

如果使用 gcloud compute tpus tpu-vm delete 指令直接刪除 TPU,您也需要刪除佇列資源,如下列範例所示。刪除 TPU 後,排入佇列的資源要求會轉換為 SUSPENDED 狀態,之後您就可以刪除排入佇列的資源要求。

如要刪除 TPU,請使用 gcloud compute tpus tpu-vm delete 指令:

gcloud compute tpus tpu-vm delete NODE_ID \
    --zone ZONE

接著,如要刪除已加入佇列的資源,請使用 gcloud alpha compute tpus queued-resources delete 指令:

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --zone ZONE

詳情請參閱「刪除已加入佇列的資源要求」。