本頁說明如何為 Google Kubernetes Engine (GKE) 上的 AI/機器學習模型推論工作負載,選擇合適的負載平衡策略。
本頁面適用於下列對象:
- 有興趣使用 Kubernetes 容器自動化調度管理功能,提供 AI/機器學習工作負載服務的機器學習工程師、平台管理員和營運人員,以及資料和 AI 專家。
- 與 Kubernetes 網路互動的雲端架構師和網路專員。
如要進一步瞭解我們在內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。 Google Cloud
閱讀本頁面之前,請先熟悉下列概念:
在 Google Kubernetes Engine (GKE) 上部署 AI/機器學習模型推論工作負載時,請選擇適當的負載平衡策略,以提升效能、擴充性和成本效益。 Google Cloud 提供下列不同的解決方案:
- GKE Inference Gateway:專為進階 AI/機器學習路徑建立的解決方案。 詳情請參閱 GKE Inference Gateway 說明文件。
- GKE Gateway 搭配自訂指標:這項解決方案使用應用程式負載平衡器,提供一般用途的控制項,可與應用程式負載平衡器搭配使用。
結合負載平衡解決方案
在某些架構中,您可以同時使用 GKE Inference Gateway 和 GKE Gateway,以及自訂指標。在這些架構中,應用程式負載平衡器會與 GKE 閘道搭配使用,並採用自訂指標。舉例來說,全域外部應用程式負載平衡器會根據地理位置和健康狀態檢查等因素,將流量導向適當的區域。詳情請參閱「應用程式負載平衡器」。流量抵達特定區域後,GKE Inference Gateway 會執行細緻的 AI 感知負載平衡,將要求路由至最佳模型伺服器。詳情請參閱 GKE Inference Gateway 說明文件。
如要選擇最適合 GKE 推論應用程式的 Google Cloud 負載平衡解決方案,請考量工作負載特性、效能需求和作業模式。
為將流量導向最合適且負載最少的模型伺服器副本,GKE Inference Gateway 的 Endpoint Picker 擴充功能會監控重要的 AI 專屬指標。這些指標包括模型伺服器 KV 快取使用率、待處理要求佇列長度、GPU 或 TPU 整體負載、LoRA 配接器可用性,以及個別要求的運算成本。除了複雜的路由功能,GKE 推論閘道還提供要求優先順序和模型伺服器最佳化自動調度功能。
使用自訂指標的 GKE Gateway 總覽
應用程式負載平衡器 (例如全域外部應用程式負載平衡器和區域外部應用程式負載平衡器) 是通用型負載平衡器,可根據後端服務回報的自訂指標分配流量。這項功能可根據應用程式專屬的效能指標,精細控管負載分配。
GKE Gateway 可做為 Kubernetes 原生介面,用於佈建及管理 Application Load Balancer。基本上,在 GKE 叢集中定義 Gateway 資源時,GKE Gateway 控制器會自動設定基礎應用程式負載平衡器,提供簡化的方式,直接從 Kubernetes 管理傳送至 GKE 服務的外部 HTTP/HTTPS 流量,同時使用 Google Cloud的負載平衡基礎架構。
比較負載平衡解決方案
下表比較 GKE Inference Gateway 和 GKE Gateway (含自訂指標) 的功能。
功能 | 推論閘道 | GKE Gateway (搭配應用程式負載平衡器) 和自訂指標 |
---|---|---|
主要應用實例 | 在 Kubernetes 上最佳化生成式 AI/機器學習推論工作負載,例如提供大型語言模型 (LLM)。適合在單一模型上提供多種用途,確保模型資源的存取權公平分配,並針對延遲時間敏感的 GPU/TPU 型 LLM 工作負載進行最佳化。 | 為需要根據自訂應用程式回報指標(負載信號) 準確分配流量的工作負載,提供一般用途的 HTTP (S) 負載平衡。適用於對延遲時間較為敏感的服務,例如回報自訂使用率資料的即時遊戲伺服器或高頻交易平台。 |
基本轉送 | 支援依主機和路徑進行標準 HTTP(S) 路由,擴充 GKE Gateway API。 | 支援依主機和路徑進行標準 HTTP(S) 路由,並使用 GKE Gateway API 的標準資源進行設定。 |
進階轉送邏輯 | 執行模型感知路徑 (例如以主體為準的模型名稱)、流量分割、鏡像,並套用優先順序和重要程度。 | 使用開放式請求費用匯總 (ORCA) 標準,根據應用程式回報的自訂指標平衡流量。這項功能可啟用政策,例如區域內端點權重的 WEIGHTED_ROUND_ROBIN 。 |
支援的指標 | 使用一系列內建的 AI 專屬信號,例如 GPU/TPU 使用率、`KV 快取命中次數` 和 `要求佇列長度`。您也可以設定使用透過標準化 HTTP 標頭機制傳送的應用程式回報指標。 | 使用標準化 HTTP 標頭機制 (此機制稱為「ORCA 負載回報」),依據應用程式回報的指標。這個格式可回報標準指標 (例如 CPU 和記憶體),或應用程式專屬受限資源的自訂命名指標。 |
處理要求 | 降低非一致性要求成本,這在 LLM 中很常見。支援要求 [重要程度](/kubernetes-engine/docs/concepts/about-gke-inference-gateway#traffic-distribution)。 | 要求成本相對一致,不含內建要求優先順序。 |
支援 LoRa 轉接器 | 提供原生、基於親和性的路由,將流量導向適當的 LoRa 設備後端。 | 不提供原生支援。 |
自動調度資源整合 | 根據 `KV 快取點擊次數` 等 AI 專屬指標,最佳化模型伺服器的資源調度。 | 水平 Pod 自動調度器 (HPA) 可以使用自訂指標,但設定是根據應用程式負載平衡器回報的指標而定。 |
設定與配置 | 使用 GKE Gateway API 進行設定。透過專用的 InferencePool 和 InferenceModel 自訂資源定義 (CRD) 擴充標準 API,啟用 AI 感知功能。 |
使用 GKE Gateway API 的標準資源進行設定。應用程式必須實作以 HTTP 標頭為基礎的機制,才能回報自訂指標。 |
安全性 | 在閘道使用 Model Armor 篩選 AI 內容。運用 TLS、IAM、角色型存取權控管 (RBAC) 和命名空間等基礎 GKE 安全防護功能。 | 使用標準應用程式負載平衡器安全堆疊,包括 Model Armor、TLS 終止和 IAM。您也可以將 Model Armor 整合為服務擴充功能,藉此支援這項功能。 |
觀測能力 | 內建 AI 專屬指標的觀測功能,包括 GPU 或 TPU 使用率、`KV cache hits`、`request queue length` 和模型延遲時間。 | 可觀測性取決於應用程式設定要回報的任何自訂指標。您可以在 Cloud Monitoring 中查看這些指標。包括標準或自訂名稱的指標。 |
擴充性 | 以可擴充的開放原始碼基礎架構為基礎,支援使用者管理的端點選擇器演算法。透過專用的自訂資源定義 (InferencePool 、InferenceModel ) 擴充 GKE Gateway API,簡化常見的 AI/機器學習用途。 |
這項功能具有彈性,可讓您使用 ORCA 標準,透過應用程式回報的任何自訂指標 (負載信號) 擴充負載平衡。 |
推出階段 | 預覽 | GA |
使用 GKE Inference Gateway 的時機
使用 GKE Inference Gateway 最佳化 GKE 上複雜的 AI/機器學習推論工作負載,特別是 LLM。
在下列情況下,請選擇 GKE Inference Gateway:
- 模型感知轉送:根據 LLM 特定狀態 (例如 KV 快取命中或要求佇列長度) 或特定 LoRA 配接器,直接轉送流量。
- 考量成本的負載平衡:有效處理推論要求,並依重要性層級 (重要、標準或可捨棄) 排定優先順序,處理成本會有所不同。
- AI 專屬自動調度資源:根據相關 AI 指標動態調度模型伺服器,達到最佳資源使用率。
- 內建 AI 安全和可觀測性:使用原生 Model Armor 整合功能進行 AI 安全檢查,並取得 GPU/TPU 使用率、KV 快取命中率和要求佇列長度等即時洞察資訊。
- 簡化生成式 AI 部署作業:運用專為擴充性設計的解決方案,簡化 GKE 上常見的生成式 AI 部署模式,同時透過 GKE Gateway API 基礎架構提供自訂功能。
何時使用 GKE Gateway 搭配自訂指標
搭配自訂指標使用 GKE Gateway,即可進行彈性的一般用途負載平衡,並根據應用程式的獨特效能指標 (包括部分推論情境) 進行調整。
需要執行下列操作時,請選擇使用自訂指標的 GKE Gateway:
- 以相對一致的請求成本處理大量流量。
- 使用 ORCA 負載回報,根據應用程式回報的自訂指標分配負載。
- 避免使用 GKE Inference Gateway 提供的 AI/LLM 專屬路由智慧功能。
- 優先考量與現有應用程式負載平衡器部署作業的一致性,以符合推論服務的需求。
後續步驟
- 如需詳細部署和設定操作說明,請參閱「關於 GKE Inference Gateway」。
- 瞭解應用程式負載平衡器。
- 在 GKE AI Labs 中,探索如何運用 GKE 加速 AI/機器學習計畫的實驗範例。