本頁說明如何為 Google Kubernetes Engine (GKE) 上的 AI/機器學習模型推論工作負載,選擇合適的負載平衡策略。
本頁面適用於下列對象:
- 有興趣使用 Kubernetes 容器自動化調度管理功能,提供 AI/機器學習工作負載服務的機器學習工程師、平台管理員和營運人員,以及資料和 AI 專家。
- 與 Kubernetes 網路互動的雲端架構師和網路專員。
如要進一步瞭解我們在Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。
閱讀本頁面之前,請先熟悉下列概念:
在 GKE 上部署 AI/機器學習模型推論工作負載時,請選擇合適的負載平衡策略,以最佳化效能、擴充性和成本效益:
- 選擇 GKE Inference Gateway,為 AI/機器學習工作負載提供最佳化路徑和負載平衡。
- 選擇「GKE Gateway with custom metrics」(GKE 閘道搭配自訂指標),這會使用 應用程式負載平衡器。 這個選項提供一般用途的控制項,可讓您根據應用程式或基礎架構需求的特定指標,設定流量分配。
GKE Inference Gateway 總覽
GKE Inference Gateway 可管理及最佳化要求嚴苛的生成式 AI (GenAI) 和複雜的大型語言模型 (LLM) 推論工作負載。這項功能擴充了 GKE Gateway API,並提供多項主要優勢:
智慧型 AI 感知路徑:GKE 推論閘道會監控重要的 AI 專屬指標,包括:
- 模型伺服器 KV 快取使用率
- 待處理的要求佇列長度
- 整體 GPU/TPU 使用率
- LoRA 適應器適用情形
- 個別要求的運算成本。根據這些指標,閘道會將流量智慧地分配給最合適且負載最少的模型伺服器副本。
要求優先順序:閘道提供要求優先順序機制。
最佳化自動調度資源:閘道提供模型伺服器的最佳化自動調度資源機制。
GKE Gateway with Custom Metrics 總覽
Google Cloud 提供應用程式負載平衡器資源,支援全域外部和區域外部等範圍。這些一般用途負載平衡器會根據後端服務回報的自訂指標分配流量。這種做法可精細控管負載分配,讓您根據應用程式專屬的效能指標進行分配。
比較 GKE Inference Gateway 和 GKE Gateway 與自訂指標
請參閱下表,比較 GKE Inference Gateway 和 GKE Gateway with Custom Metrics 的功能,並為 GKE 上的 AI/機器學習推論工作負載選擇合適的負載平衡解決方案。
| 功能 | GKE Inference 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 標頭機制,特別是 Open Request Cost Aggregation (ORCA) 負載回報。這項機制支援 CPU 和記憶體等標準指標,以及應用程式專用受限資源的自訂命名指標。 |
| 處理要求 | 專為處理要求成本不一致的工作負載而設計,這類工作負載在 LLM 中很常見,因為提示詞複雜度不一。支援要求重要性等級,可優先處理不同類型的推論要求。 | 最適合個別要求的處理成本相對一致的工作負載。這個解決方案不包含原生要求優先順序功能。 |
| 支援 LoRa 轉接器 | 提供以親和性為基礎的後端原生路由,確保要求導向配備特定 LoRa 轉接器的後端,並轉送至適當的資源。 | 不提供 LoRa 介面卡的原生支援,也不提供以 LoRa 設定為依據的親和性轉送。 |
| 自動調度資源整合 | 運用 KV 快取使用率等 AI 專屬指標,做出更明智的資源調度決策,進而為模型伺服器最佳化自動調度。 | 使用自訂指標與水平 Pod 自動調度資源 (HPA) 整合。這些指標會回報給應用程式負載平衡器,並根據回報的負載信號,以一般方式用於調整規模。 |
| 設定與配置 | 使用 GKE Gateway API 進行設定。透過專用的 InferencePool 和 InferenceModel 自訂資源定義 (CRD) 擴充標準 API,啟用 AI 感知功能。 |
您可以使用 GKE Gateway API 的標準資源設定這項解決方案。應用程式必須實作以 HTTP 標頭為基礎的機制,例如開放式要求費用匯總 (ORCA),才能回報負載平衡的自訂指標。 |
| 安全性 | 這項解決方案包含在閘道層級使用 Model Armor 進行 AI 內容篩選。此外,還運用了基礎 GKE 安全功能,例如 TLS、Identity and Access Management (IAM)、角色型存取控管 (RBAC) 和命名空間。 | 這個解決方案使用標準的應用程式負載平衡器安全堆疊,包括 Google Cloud Armor、TLS 終止和 IAM。如要啟用 AI 內容篩選功能,您可以將 Google Cloud Armor 整合為服務擴充功能。 |
| 觀測能力 | 提供 AI 專屬指標的內建可觀測性,包括 GPU 或 TPU 使用率、KV 快取命中次數、要求佇列長度和模型延遲時間。 | 可觀測性取決於應用程式設定要回報的任何自訂指標。您可以在 Cloud Monitoring 中查看這些指標。包括標準或自訂名稱的指標。 |
| 擴充性 | 以可擴充的開放原始碼為基礎,可讓使用者管理端點選擇器演算法。它會使用專門的 [自訂資源定義 (CRD)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway),例如 InferencePool 和 InferenceModel,擴充 GKE Gateway API,簡化常見的 AI 用途。 |
這項功能具有彈性,可讓您使用應用程式透過 ORCA 標準回報的任何 [自訂指標 (負載訊號)](/load-balancing/docs/https/applb-custom-metrics),擴充負載平衡功能。 |
| 發布階段 | 正式發布 | 正式發布 |
使用 GKE Inference Gateway 的時機
選擇 GKE Inference Gateway,在 GKE 上最佳化複雜的 AI 和機器學習推論工作負載,特別是大型語言模型 (LLM)。建議在下列情況使用這項解決方案:
- 提供 LLM:使用 vLLM 等模型伺服器時,您需要根據 LLM 特定狀態 (例如 KV 快取利用率或要求佇列長度) 做出轉送決策。
- 使用 LoRa 適應器部署模型:您需要智慧型、以親和性為準的路由,將要求轉送至配備正確且可用 LoRa 適應器的後端。
- 處理處理成本差異極大的推論要求:舉例來說,動態提示大小或複雜度需要具備成本意識的負載平衡器。
- 實作要求優先順序:您需要為不同類別的推論流量設定優先順序,例如重要、標準或可捨棄的要求。
- 最佳化自動調度資源:您希望自動調度資源機制與生成式 AI (GenAI) 模型伺服器的特定效能指標 (例如 KV 快取使用率) 緊密結合,以便做出更明智的調度資源決策。
- 使用 Model Armor 整合功能:您需要在閘道層級使用 Model Armor 進行 AI 安全檢查。
- 取得開箱即用的可觀測性:您需要針對重要的 AI 專屬指標 (包括 GPU 或 TPU 使用率、KV 快取命中次數和要求佇列長度) 內建可觀測性。
- 簡化生成式 AI 部署作業:您偏好專為簡化 GKE 上常見生成式 AI 部署模式而設計的解決方案,同時保留透過可擴充的 GKE Gateway API 基礎進行未來自訂的選項。
何時使用 GKE Gateway 搭配自訂指標
如要根據應用程式的獨特效能指標,達成彈性的一般用途負載平衡,請搭配使用 GKE Gateway 和自訂指標。這個方法可根據應用程式定義的專屬效能指標 (包括特定推論情境) 分散負載。建議在下列情況下使用這項功能:
- 工作負載的流量很高,且每個要求的處理成本相對一致。
- 應用程式回報的一或兩項特定自訂指標 (通常是透過 HTTP 回應標頭,並使用開放式要求成本匯總 (ORCA) 負載回報標準),可有效管理負載分配。
- 負載平衡需求與生成式 AI 或 LLM 特定功能無關。
- 您的運作模型不需要 GKE Inference Gateway 提供的 AI 專用智慧功能,可避免不必要的架構複雜度。
- 我們優先考量維持與現有應用程式負載平衡器部署作業的一致性,而這些部署作業符合推論服務的負載平衡需求。
後續步驟
- 瞭解 GKE Inference Gateway。
- 瞭解應用程式負載平衡器。
- 在 GKE AI Labs 中探索實驗性範例,瞭解如何運用 GKE 加速 AI/機器學習計畫。