如要建立 AI 應用程式,請先佈建安全且私有的 Google Kubernetes Engine (GKE) 叢集,並針對 AI 工作負載進行最佳化,然後使用 Helm 圖表部署工作負載。本指南將說明下列範本,您可以自訂這些範本來部署 AI 應用程式:
AI 預先訓練的推論 GKE 叢集:建立高效能模型服務所需的基礎架構。這個範本會設定經過最佳化調整的 AI 推論專用安全私人 GKE 叢集。
AI 預先訓練的推論 GKE 工作負載 (預先發布版):部署包含 AI 工作負載設定的 Helm 圖表。使用 Helm 圖表,透過 vLLM 服務引擎部署預先訓練的 Gemma 模型。這項工作負載已設定為有效率地要求 GPU 資源,並使用 Horizontal Pod Autoscaler (HPA) 根據 GPU 快取用量進行擴充。
舉例來說,您可以部署叢集和工作負載範本,滿足下列業務需求:
| 範例 | 業務需求 | 實作 |
|---|---|---|
| 即時影片分析 | 某家安全公司需要處理數百部攝影機的影片串流,即時偵測異常狀況或特定物件。 | 在啟用 GPU 的節點集區中部署影片處理模型。GPU 可處理並行影片串流的高輸送量和低延遲需求。 |
| 專門文件處理 | 保險公司每天會收到數千份理賠申請表,這些表單的版面配置和手寫字體各不相同,因此需要自動擷取資訊。 | 使用 GKE 叢集代管自訂模型,並確保資料在處理期間不會離開安全環境。 |
| 高用量推薦引擎 | 電子商務平台需要在節慶購物旺季期間,為使用者提供個人化產品推薦內容。 | 使用 Google Kubernetes Engine Gateway API,將大量使用者流量轉送至建議模型。Gateway API 可因應突發的流量高峰,不會造成延遲時間變長。 |
架構
下圖顯示範本中的元件和連線:
以下說明這個範本中的元件設定:
GKE Standard 叢集:安全且私人叢集,可執行 AI 工作負載。
下表說明這個範本中的叢集設定:
設定 目的 node_locations設為["us-central1-a", "us-central1-b", "us-central1-c"]。將叢集節點分散到 us-central1區域的三個可用區,確保高可用性和彈性。enable_intranode_visibility設為true。在虛擬私有雲流量記錄中,掌握同一節點的 Pod 對 Pod 流量情況。這項資訊有助於進行網路監控、疑難排解和安全性分析。 「 gateway_api_config」已透過「{"channel":"CHANNEL_STANDARD"}」啟用。GKE 推論閘道 API 可協助您管理 Kubernetes 服務的連入流量。您可以使用這個 API 設定精細的路由、進階負載平衡和集中式政策附件。 private_cluster_config.enable_private_endpoint已設為false。private_cluster_config.enable_private_nodes已true。control_plane_endpoints_config.dns_endpoint_config.allow_external_traffic目前設為true。確保執行 AI 模型的節點具有私人 IP 位址,將節點與公開網際網路隔離開來。GKE 控制層已設定為可公開存取,方便您在虛擬私有雲 (VPC) 網路外管理叢集。 release_channel設為{"channel":"REGULAR"}。確保 GKE 叢集收到穩定且可預測的更新,在全新功能和可靠性之間取得平衡。 GKE 節點集區:執行應用程式容器的工作站節點群組。
下表說明這個範本中的節點集區設定:
設定 目的 autoscaling.min_node_count已設為0。autoscaling.max_node_count設為3(預設為100)。如果沒有執行 AI 工作負載,節點集區可以完全縮減,進而降低閒置期間的成本。設定上限有助於控管費用和資源用量。 系統會新增 node_config.guest_accelerator參數。gpu_driver_installation_config.gpu_driver_version:已設為"LATEST"。「gpu_sharing_config」已啟用「TIME_SHARING」。max_shared_clients_per_gpu:目前設為2。指定使用 NVIDIA L4 GPU 執行 AI 推論工作。系統會自動安裝必要的 GPU 驅動程式。多個較小的工作負載可以共用單一 GPU。 node_config.machine_type已變更為"g2-standard-8"。這個機型專為搭配 L4 GPU 而設計。vCPU (8 個) 和記憶體 (32 GB) 專為支援 GPU 和執行 AI 推論應用程式而建立。 node_config.oauth_scopes包含https://www.googleapis.com/auth/cloud-platform。節點的服務帳戶可廣泛存取 Google Cloud 服務,因此能透過 API 執行記錄、監控及提取容器映像檔等工作。 node_config.shielded_instance_config.enable_secure_boot設為true。安全啟動功能會在執行開機載入程式和核心之前,驗證兩者的加密簽章,協助保護節點免於啟動層級的惡意軟體攻擊。
Helm 資訊套件設定
下表列出 Helm 資訊主圖設定,這些設定已自訂,可用於在 GKE 上部署及擴充 AI 推論服務。
| 設定 | 目的 |
|---|---|
replicaCount: 1 |
建立單一初始副本。 |
image.repository: vllm/vllm-openai |
使用 vLLM 映像檔,這是經過最佳化的大型語言模型 (LLM) 推論程式庫,透過與 OpenAI 相容的 API 公開。 |
model.id: google/gemma-7b-it |
將 Gemma 7B 指令微調模型定義為要提供的模型。 |
model.hfSecret: hf-secret |
表示模型需要使用 Kubernetes 密鑰進行驗證,才能安全地管理憑證。 |
resources.limits 和 requests (nvidia.com/gpu: "1") |
確保每個 Pod 都能獲得專屬 GPU。 |
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 |
確保 AI 模型 Pod 僅排定在配備 NVIDIA L4 GPU 的 GKE Standard 節點上,這類節點非常適合用於經濟實惠的高效能推論。 |
hpa.enabled: true |
啟用水平 Pod 自動配置器,讓應用程式根據 targetCPUUtilizationPercentage: 80% 自動調整 Pod 數量 (介於 minReplicas: 1 和 maxReplicas: 10 之間)。確保尖峰負載期間的效能,以及低用量期間的成本效益。 |
tensorParallelSize: 1 |
表示模型不會在單一 Pod 內跨多個 GPU 分割。 |
maxModelLen: 512 |
控制 Gemma 7B 模型可處理的序列長度上限。 |
service.type: ClusterIP |
這項服務已設定為在叢集內進行內部存取。 |
pdb.enabled: true 和 minAvailable: 1 |
已啟用 Pod disruption budget,確保高可用性。在節點維護等自願性中斷期間,至少會有一份 AI 模型副本可供使用。 |
建立 AI 應用程式
使用 AI 預先訓練推論 GKE 叢集和工作負載範本,部署 AI 應用程式。
部署 AI 基礎架構
設定及部署 AI 預先訓練推論 GKE 叢集範本,建立 AI 工作負載執行的基礎架構。
複製並部署 AI 預先訓練推論 GKE 叢集範本做為應用程式。
系統會在您選擇的部署專案中建立 GKE 叢集。
設定元件。如要瞭解詳情,請參考下列資源:
按一下「Deploy」(部署)。應用程式會在幾分鐘後部署完成。
在「應用程式詳細資料」面板中,按一下「輸出」分頁標籤。
找出應用程式的 cluster_id。部署 Helm 圖表時,您會使用這項資訊。
部署 AI 工作負載
使用 AI 預先訓練的推論 GKE 工作負載範本,將 AI 工作負載部署到您建立的叢集。您將部署包含 AI 工作負載設定的 Helm 圖表。
在「Google catalog」(Google 目錄) 頁面,點選「AI Pre-trained Inference GKE workload」(AI 預先訓練推論 GKE 工作負載) 範本上的「Create new application」(建立新應用程式)。
在「Name」(名稱) 欄位中,輸入應用程式的專屬名稱。
在「GKE Deployment Target」(GKE 部署目標) 區域中,執行下列操作:
從「專案清單」中,選取您從「AI Pre-trained Inference GKE cluster」(AI 預先訓練的推論 GKE 叢集) 應用程式部署 GKE 叢集的專案。
從「Region」(區域) 清單中,選取部署 GKE 叢集的區域。
從「Clusters」(叢集) 清單中,選取已部署的 GKE 叢集。
從「命名空間」清單中,輸入您部署 GKE 叢集的命名空間。如果沒有變更名稱,請輸入
default。按一下「建立應用程式」。
應用程式建立完成後,畫面會顯示設定檔。
在「Helm chart」(Helm 資訊套件) 面板中,執行下列操作:
幾分鐘後,系統會將 Helm 資訊圖表設定部署至 GKE 叢集。
後續步驟
- 依據 Google 範本建構內容,複製及自訂這個範本。
- 您可以設計應用程式範本,自行定義設定。
- 透過 Google Cloud Architecture Framework 找出一般架構最佳做法。