本頁面說明可用的技術,協助您根據 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 會嘗試根據您設定的優先順序階層佈建節點。
下表說明 ComputeClasses 提供的用量選項,以及如何設定這些選項。如需完整的 YAML 資訊清單,請參閱「ComputeClasses 的用量選項範例」。
- 預留項目:您可以在 ComputeClass 的
reservations欄位中定義預留項目名稱。這可確保 GKE 會先嘗試使用預留容量,再改用其他容量。 - 彈性啟動佈建模式:使用 ComputeClass 中的
flexStart欄位啟用彈性佇列,並使用nodeRecycling欄位設定備用節點替換時間長度。 - Spot VM:將
spot欄位設為true,指示 GKE 在為該優先順序規則佈建節點時使用 Spot VM。 - 隨選容量搭配多可用區位置政策:在優先順序清單中宣告標準機器設定,並使用
location欄位設定備用位置策略。
ComputeClasses 不支援未來預留項目或未來預留項目 (最長 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/機器學習推論功能。