Gestisci Stable Diffusion XL (SDXL) utilizzando le TPU su GKE con MaxDiffusion

Questo tutorial mostra come pubblicare un modello di generazione di immagini SDXL utilizzando le Tensor Processing Unit (TPU) su Google Kubernetes Engine (GKE) con MaxDiffusion. In questo tutorial scaricherai il modello da Hugging Face ed eseguirai il deployment su un cluster Autopilot o Standard utilizzando un container che esegue MaxDiffusion.

Questa guida è un buon punto di partenza se hai bisogno del controllo granulare, della personalizzazione, della scalabilità, della resilienza, della portabilità e dell'economicità di Kubernetes gestito durante il deployment e la gestione dei tuoi carichi di lavoro AI/ML. Se hai bisogno di una piattaforma di AI gestita unificata per creare e pubblicare rapidamente modelli ML in modo economico, ti consigliamo di provare la nostra soluzione di deployment Vertex AI.

Sfondo

Se utilizzi SDXL con le TPU su GKE con MaxDiffusion, puoi creare una soluzione di gestione solida e pronta per la produzione con tutti i vantaggi di Kubernetes gestito, tra cui efficienza dei costi, scalabilità e maggiore disponibilità. Questa sezione descrive le tecnologie chiave utilizzate in questo tutorial.

Stable Diffusion XL (SDXL)

Stable Diffusion XL (SDXL) è un tipo di modello di diffusione latente (LDM) supportato da MaxDiffusion per l'inferenza. Per l'AI generativa, puoi utilizzare i modelli LDM per generare immagini di alta qualità a partire da descrizioni testuali. I modelli LDM sono utili per applicazioni come la ricerca di immagini e la creazione di didascalie per le immagini.

SDXL supporta l'inferenza su uno o più host con annotazioni di sharding. In questo modo, SDXL può essere addestrato ed eseguito su più macchine, il che può migliorare l'efficienza.

Per saperne di più, consulta il repository Generative Models di Stability AI e l'articolo SDXL.

TPU

Le TPU sono circuiti integrati specifici per le applicazioni (ASIC) sviluppati da Google e utilizzati per accelerare i modelli di machine learning e AI creati utilizzando framework come TensorFlow, PyTorch e JAX.

Prima di utilizzare le TPU in GKE, ti consigliamo di completare il seguente percorso di apprendimento:

  1. Scopri di più sulla disponibilità della versione attuale della TPU con l'architettura di sistema di Cloud TPU.
  2. Scopri di più sulle TPU in GKE.

Questo tutorial illustra l'erogazione del modello SDXL. GKE esegue il deployment del modello su nodi TPU v5e a singolo host con topologie TPU configurate in base ai requisiti del modello per la gestione dei prompt con bassa latenza. In questa guida, il modello utilizza un chip TPU v5e con una topologia 1x1.

MaxDiffusion

MaxDiffusion è una raccolta di implementazioni di riferimento, scritte in Python e Jax, di vari modelli di diffusione latente che vengono eseguiti su dispositivi XLA, tra cui TPU e GPU. MaxDiffusion è un punto di partenza per i progetti di diffusione sia per la ricerca che per la produzione.

Per saperne di più, consulta il repository MaxDiffusion.