關於 GKE 中 AI/機器學習工作負載的加速器用量選項

本頁說明可用的技術,協助您根據 AI/機器學習工作負載的需求,取得 GPUTPU 等運算加速器。這些技術在 GKE 中稱為「加速器消耗選項」。瞭解不同的消耗選項有助於最佳化資源使用率,避免資源使用不足、提高取得資源的可能性,以及平衡成本和效能。

本頁內容適用於平台管理員和營運人員,他們會與機器學習 (ML) 工程師協調,取得部署 AI/ML 工作負載所需的資源。

如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。

瞭解用量方案

您可以選取下列任一選項,在 GKE 上使用加速器:

  • 隨選:在 GKE 上使用 TPU 或 GPU,不必事先安排運算資源。提出資源要求前,您必須有足夠的隨選配額,才能使用特定類型和數量的加速器。「隨選」是最具彈性的用量選項,但無法保證有足夠的隨選資源可滿足您的要求。
  • 預留:預留資源一段時間。預訂可以是下列任一值:
    • 未來預留項目:您通常會預留資源較長一段時間,供日後特定時間使用。在該期間,您擁有預留資源的獨占存取權。如要預留未來項目,請與客戶技術顧問 (TAM) 聯絡。詳情請參閱 TPUGPU 指南。
    • 未來預留項目 (日曆模式,最多 90 天):您要求特定時間範圍的容量,日曆顧問會建議可用的日期。預訂未來 90 天內的行程 (日曆模式),可更靈活地預訂較短的行程,並自行搜尋容量。詳情請參閱「日曆模式的未來預留項目要求」。
    • 隨需預留項目:您可以要求在容量可用時佈建隨需預留項目,這與隨需選項類似。預留項目生效期間,無論是否使用資源,您都必須支付費用。
  • 彈性啟動:您可為短期工作負載確保密集分配的資源,不必預留。您要求特定數量的 GPU 或 TPU,Compute Engine 會在容量可用時佈建這些資源。GPU 或 TPU 最多可連續運作七天。詳情請參閱彈性啟動佈建
  • Spot:您可佈建 Spot VM,大幅節省費用,但 Spot VM 可能隨時遭到先占,且系統只會發出 30 秒警告。詳情請參閱Spot VM

如要在運算資源受限的情況下提高佈建成功率,可以使用 ComputeClasses 協調這些選項。

瞭解 GKE 中的加速器配額

配額和系統限制會限制資源用量,確保所有使用者都能使用資源。 Google Cloud Google Cloud 配額有預設值,但通常可以申請調整。系統限制是固定值,無法變更。根據預設,專案通常不會有大量加速器配額。您必須要求並獲得特定加速器類型和區域的配額核准。

管理工作負載所需的配額時,請考量下列特性:

  • 您必須為每個用量選項申請所需配額。如要瞭解各個用量選項所需的配額,請參閱選擇用量選項表格中列出的相應「配額」參數。如果配額不足,嘗試建立叢集、節點集區或部署需要加速器的作業時,會失敗並顯示 Quota exceeded 錯誤。

  • 在 Autopilot 中使用自訂 ComputeClass 時,必須要求配額。為符合 ComputeClass 需求而佈建的節點,仍會耗用專案的指定加速器配額。

  • Google Cloud 免費試用帳戶無法要求增加 GPU 和 TPU 等高價值資源的配額。如要使用加速器配額,請升級為付費帳戶。

如要查看及申請配額,請前往 Google Cloud 控制台的「配額」頁面。您可以篩選加速器配額,並要求增加配額。

找出合適的計費方案

請根據下列考量事項,為 AI/機器學習工作負載選擇最合適的用量選項:

  • 工作負載類型:請考慮要實作的工作負載類型。 如果您執行的是訓練或推論工作負載,GKE 需求會有所不同:
    • 訓練:需要高效能資源和大量記憶體。訓練工作負載通常有明確的生命週期。這類工作負載通常較容易規劃,因為資源消耗量較不容易突然暴增。
    • 推論:通常需要經過最佳化,可擴充性高且成本較低的加速器。資源用量突然激增時,推論工作負載可能需要大量加速器記憶體。
  • 根據導入階段設定生命週期:如果您要執行概念驗證 (POC)、平台評估、應用程式開發或測試、正式上線或最佳化,請考量業務目標。
  • 佈建時間:判斷工作負載是否需要立即執行,或是否可在日後執行。如果可以延後執行,請判斷開始時間的彈性程度。
  • 兼顧成本與效能:評估工作負載的效能需求和預算限制,選取最具成本效益的加速器。請權衡加速器的成本和效能特性。請注意,新的加速器可能會提高成本效益比。

選擇使用選項

請參閱下表,選擇計費方案:

計費方案 佈建參數 支援的加速器 詳細資料 工作負載範例
隨需預留項目
  • 佈建時間:立即 (預訂獲准)
  • 生命週期:長期 (每項預留項目)
  • 任何 GPU (A4X、A4 或 A3 Ultra 除外)
  • 任何 TPU
  • 費用:系統會收取整個預訂期間的費用。
  • 配額:系統會在提供容量前自動增加配額。
  • 長時間執行的大規模工作負載,例如預先訓練基礎模型或多主機推論。
  • 正式環境工作負載。
未來預留項目
  • 佈建時間:立即 (預訂獲准)
  • 生命週期:長期 (每項預留項目)
  • G2
  • A2
  • 配備 8 個 GPU 的 A3 High
  • A3 Mega
  • A3 Edge
  • 費用:系統會收取整個預訂期間的費用。
  • 配額:系統會在提供容量前自動增加配額。
  • 長時間執行的大規模工作負載,例如預先訓練基礎模型或多主機推論。
  • 正式環境工作負載。
最多 90 天的未來預留項目 (日曆模式)
  • 佈建時間:立即 (預訂獲准)
  • 效期:最多 90 天
  • A4
  • A3 Ultra
  • A3 Mega
  • 配備 8 個 GPU 的 A3 High
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • 費用:折扣價 (最多可省下 53%)。系統會向您收取預訂期間的費用。
  • 配額:不會收取配額費用。
  • 需要精確啟動時間的短期分散式工作負載,例如模型微調、模擬或批次推論。
  • 用於平台評估、基準化或最佳化測試的工作負載。
彈性啟動佈建模式
  • 佈建時間:隨需 (視供應情形而定)
  • 使用期限:每次分配最多 7 天
  • A4X 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 批次工作負載,例如小型模型訓練、微調或可擴充的推論,且開始時間彈性。
  • 概念驗證或整合測試的工作負載。
Spot VM
  • 佈建時間:隨需 (視供應情形而定)
  • 生命週期:不固定,可透過 30 秒的警告訊息搶先中斷
  • A4X 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 容錯工作負載,例如 CI/CD、資料分析或高效能運算 (HPC),但優先順序較低。
  • 高度可中斷的工作負載。
隨選 (GPUTPU)
  • 佈建時間:立即 (視供應情形而定)
  • 生命週期:無限制
  • A4X、A4 或 A3 Ultra 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 費用:即付即用。
  • 配額:系統會收取 GPUTPU 隨選配額的費用。
  • 需要立即執行的一般用途工作負載。

使用 ComputeClasses 最佳化成本和工作負載佈建

您可以透過 ComputeClasses 定義優先順序清單,列出備援設定,動態管理及自動化加速器用量策略。在擴充作業期間,GKE 會嘗試根據您設定的優先順序階層佈建節點。

下表說明 ComputeClass 提供的用量選項,以及如何設定這些選項。如需完整的 YAML 資訊清單,請參閱使用 ComputeClass 的消耗選項範例

  • 預留項目:您可以在 ComputeClass 的 reservations 欄位中定義預留項目名稱。這可確保 GKE 會先嘗試使用預留容量,再改用其他容量。
  • 彈性啟動佈建模式:使用 ComputeClass 中的 flexStart 欄位啟用彈性佇列,並使用 nodeRecycling 欄位設定備援節點更換時間長度。
  • Spot VM:將 spot 欄位設為 true,指示 GKE 在為該優先順序規則佈建節點時使用 Spot VM。
  • 隨選容量搭配多區域位置政策: 在優先順序清單中宣告標準機器設定,並使用 location 欄位設定備援位置策略。

ComputeClass 不支援未來預留項目未來預留項目 (最多 90 天,日曆模式)

使用 ComputeClass 的計費模式示例

以下各節提供這些策略的設定範例。

設有備用設定的預留項目

這項設定最適合可容許中斷的工作負載,而非依賴永久資料或需要執行完畢的工作負載。

這項設定會透過下列步驟建立彈性遞補策略:

  1. 優先使用預留項目:GKE 會嘗試使用您預先購買的特定容量預留項目,佈建節點。
  2. 改用彈性啟動:如果預留容量已完全用盡,GKE 會改用短期折扣彈性啟動資源。
  3. 改用隨選資源:如果上述方法都無法使用,GKE 會改為佈建標準隨選資源。
  4. 遷移回預留項目:啟用主動遷移後,GKE 會在容量可用時,自動將工作負載整合並遷移回優先順序較高的預留節點。這項遷移作業可能會造成中斷。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: ha-gpu-fallback
    spec:
      activeMigration:
        optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases
      priorities:
      # Priority 1: Consume specific corporate reservation first
      - gpu:
          type: nvidia-l4
          count: 1
        reservations:
          affinity: Specific
          specific:
          - name: reserved-l4-pool
            project: my-project
            zones: [us-central1-a]
      # Priority 2: Fallback to Flex Start (short-duration allocation)
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
      # Priority 3: Fallback to On-demand resources
      - gpu:
          type: nvidia-l4
          count: 1
    

彈性啟動佈建模式搭配節點回收設定

這項設定會透過下列步驟,管理短期折扣容量,並確保持續正常運作:

  1. 要求彈性啟動 VM:GKE 會從彈性啟動佇列要求 VM 執行個體 (最多可不間斷執行七天)。
  2. 監控租約到期時間:GKE 會追蹤有效彈性啟動節點的剩餘時間。
  3. 觸發節點回收:在 VM 租約到期前 20 分鐘 (1200 秒),GKE 會自動佈建替代節點。
  4. 重新排定工作負載:工作負載會遷移至新節點,並繼續執行,不會造成服務中斷。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: flex-node-recycling
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
          nodeRecycling:
            leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
    

多區域分配政策設定

這項設定會透過下列步驟,略過單一區域的供應限制:

  1. 定義目標區域:您可以在優先順序規則中列出多個備份區域 (例如 us-central1-aus-central1-bus-central1-c)。
  2. 放寬目標參數:位置政策設為 ANY。這項設定會指示叢集自動調度器在所有指定區域中搜尋要求的容量。
  3. 分析區域可用性:在擴充事件期間,GKE 會掃描指定區域。
  4. 在可用區域中佈建:GKE 會立即在具有相符容量的目標區域中,佈建所要求的工作負載節點。這項策略可避免分配佇列發生阻滯。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: broad-zonal-serving
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        location:
          zones: [us-central1-a, us-central1-b, us-central1-c]
          locationPolicy: ANY # Provision accelerator in any target zone with supply
    

後續步驟