本頁說明如何為 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 Inference Gateway 會監控重要的 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/ML 推論工作負載選擇合適的負載平衡解決方案。
| 功能 | 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 標頭機制,具體來說是待處理要求成本匯總 (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) 負載回報標準),可有效管理負載分配。
- 負載平衡需求與 GenAI 或 LLM 專屬功能無關。
- 您的運算模型不需要 GKE Inference Gateway 提供的 AI 專屬智慧功能,可避免不必要的架構複雜度。
- 我們優先考量與現有應用程式負載平衡器部署作業保持一致,而這些部署作業符合推論服務的負載平衡需求。
後續步驟
- 瞭解 GKE Inference Gateway。
- 瞭解應用程式負載平衡器。
- 在 GKE AI Labs 中探索實驗性範例,瞭解如何運用 GKE 加速 AI/機器學習計畫。