本頁說明可用的技術,協助您根據 AI/機器學習工作負載的需求,取得 GPU 或 TPU 等運算加速器。這些技術在 GKE 中稱為「加速器消耗選項」。瞭解不同的消耗選項有助於最佳化資源使用率,避免資源使用不足、提高取得資源的可能性,以及平衡成本和效能。
本頁內容適用於平台管理員和營運人員,他們會與機器學習 (ML) 工程師協調,取得部署 AI/ML 工作負載所需的資源。
如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。
瞭解用量方案
您可以選取下列任一選項,在 GKE 上使用加速器:
- 隨選:在 GKE 上使用 TPU 或 GPU,不必事先安排運算資源。提出資源要求前,您必須有足夠的隨選配額,才能使用特定類型和數量的加速器。「隨選」是最具彈性的用量選項,但無法保證有足夠的隨選資源可滿足您的要求。
- 預留:預留資源一段時間。預訂可以是下列任一值:
- 未來預留項目:您通常會預留資源較長一段時間,供日後特定時間使用。在該期間,您擁有預留資源的獨占存取權。如要預留未來項目,請與客戶技術顧問 (TAM) 聯絡。詳情請參閱 TPU 和 GPU 指南。
- 未來預留項目 (日曆模式,最多 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)、平台評估、應用程式開發或測試、正式上線或最佳化,請考量業務目標。
- 佈建時間:判斷工作負載是否需要立即執行,或是否可在日後執行。如果可以延後執行,請判斷開始時間的彈性程度。
- 兼顧成本與效能:評估工作負載的效能需求和預算限制,選取最具成本效益的加速器。請權衡加速器的成本和效能特性。請注意,新的加速器可能會提高成本效益比。
選擇使用選項
請參閱下表,選擇計費方案:
| 計費方案 | 佈建參數 | 支援的加速器 | 詳細資料 | 工作負載範例 |
|---|---|---|---|---|
| 隨需預留項目 |
|
|
|
|
| 未來預留項目 |
|
|
|
|
| 最多 90 天的未來預留項目 (日曆模式) |
|
|
|
|
| 彈性啟動佈建模式 |
|
|
|
|
| Spot VM |
|
|
|
|
| 隨選 (GPU 或 TPU) |
|
|
|
使用 ComputeClasses 最佳化成本和工作負載佈建
您可以透過 ComputeClasses 定義優先順序清單,列出備援設定,動態管理及自動化加速器用量策略。在擴充作業期間,GKE 會嘗試根據您設定的優先順序階層佈建節點。
下表說明 ComputeClass 提供的用量選項,以及如何設定這些選項。如需完整的 YAML 資訊清單,請參閱使用 ComputeClass 的消耗選項範例。
- 預留項目:您可以在 ComputeClass 的
reservations欄位中定義預留項目名稱。這可確保 GKE 會先嘗試使用預留容量,再改用其他容量。 - 彈性啟動佈建模式:使用 ComputeClass 中的
flexStart欄位啟用彈性佇列,並使用nodeRecycling欄位設定備援節點更換時間長度。 - Spot VM:將
spot欄位設為true,指示 GKE 在為該優先順序規則佈建節點時使用 Spot VM。 - 隨選容量搭配多區域位置政策:
在優先順序清單中宣告標準機器設定,並使用
location欄位設定備援位置策略。
ComputeClass 不支援未來預留項目 或未來預留項目 (最多 90 天,日曆模式)。
使用 ComputeClass 的計費模式示例
以下各節提供這些策略的設定範例。
設有備用設定的預留項目
這項設定最適合可容許中斷的工作負載,而非依賴永久資料或需要執行完畢的工作負載。
這項設定會透過下列步驟建立彈性遞補策略:
- 優先使用預留項目:GKE 會嘗試使用您預先購買的特定容量預留項目,佈建節點。
- 改用彈性啟動:如果預留容量已完全用盡,GKE 會改用短期折扣彈性啟動資源。
- 改用隨選資源:如果上述方法都無法使用,GKE 會改為佈建標準隨選資源。
遷移回預留項目:啟用主動遷移後,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
彈性啟動佈建模式搭配節點回收設定
這項設定會透過下列步驟,管理短期折扣容量,並確保持續正常運作:
- 要求彈性啟動 VM:GKE 會從彈性啟動佇列要求 VM 執行個體 (最多可不間斷執行七天)。
- 監控租約到期時間:GKE 會追蹤有效彈性啟動節點的剩餘時間。
- 觸發節點回收:在 VM 租約到期前 20 分鐘 (1200 秒),GKE 會自動佈建替代節點。
重新排定工作負載:工作負載會遷移至新節點,並繼續執行,不會造成服務中斷。
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
多區域分配政策設定
這項設定會透過下列步驟,略過單一區域的供應限制:
- 定義目標區域:您可以在優先順序規則中列出多個備份區域 (例如
us-central1-a、us-central1-b和us-central1-c)。 - 放寬目標參數:將位置政策設為
ANY。這項設定會指示叢集自動調度器在所有指定區域中搜尋要求的容量。 - 分析區域可用性:在擴充事件期間,GKE 會掃描指定區域。
在可用區域中佈建: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
後續步驟
- 進一步瞭解 GKE 中的 GPU。
- 進一步瞭解 GKE 中的 TPU。
- 進一步瞭解 GKE 的 AI/機器學習推論功能。