透過 MaxDiffusion 在 GKE 上使用 TPU 提供 Stable Diffusion XL (SDXL)

本教學課程說明如何使用 MaxDiffusion,在 Google Kubernetes Engine (GKE) 上透過張量處理單元 (TPU) 服務 SDXL 圖像生成模型。在本教學課程中,您會從 Hugging Face 下載模型,並使用執行 MaxDiffusion 的容器,將模型部署至 Autopilot標準叢集。

如果您在部署及提供 AI/機器學習工作負載時,需要代管型 Kubernetes 的精細控管、自訂、可擴充性、復原能力、可攜性和成本效益,這份指南就是您的最佳起點。如果您需要統一管理的 AI 平台,以便快速建構及提供機器學習模型,同時兼顧成本效益,建議您試用 Vertex AI 部署解決方案。

背景

透過 MaxDiffusion 在 GKE 上使用 TPU 提供 SDXL,即可建構可用於正式環境的穩固服務解決方案,同時享有代管型 Kubernetes 的所有優點,包括成本效益、擴充性和高可用性。本節說明本教學課程中使用的主要技術。

Stable Diffusion XL (SDXL)

Stable Diffusion XL (SDXL) 是 MaxDiffusion 支援用於推論的潛在擴散模型 (LDM)。生成式 AI 方面,您可以使用 LDM 根據文字描述生成高品質圖片。LDM 適用於圖片搜尋和圖片說明文字等應用程式。

SDXL 支援單一或多主機推論,並提供分片註解。 這項功能可讓 SDXL 在多部機器上訓練及執行,進而提升效率。

詳情請參閱 Stability AI 存放區的生成模型SDXL 文件。

TPU

TPU 是 Google 開發的客製化特殊應用積體電路 (ASIC),用於加速機器學習和 AI 模型,這些模型是使用 TensorFlowPyTorchJAX 等架構建構而成。

在 GKE 中使用 TPU 之前,建議您先完成下列學習路徑:

  1. 如要瞭解目前可用的 TPU 版本,請參閱 Cloud TPU 系統架構
  2. 瞭解 GKE 中的 TPU

本教學課程涵蓋 SDXL 模型服務。GKE 會在單一主機 TPU v5e 節點上部署模型,並根據模型需求設定 TPU 拓撲,以低延遲提供提示。在本指南中,模型會使用 TPU v5e 晶片和 1x1 拓撲。

MaxDiffusion

MaxDiffusion 是一系列參考實作項目,以 Python 和 Jax 撰寫,適用於各種潛在擴散模型,可在 XLA 裝置 (包括 TPU 和 GPU) 上執行。MaxDiffusion 是研究和生產的 Diffusion 專案起點。

詳情請參閱 MaxDiffusion 存放區