Diffuser Stable Diffusion XL (SDXL) à l'aide de TPU sur GKE avec MaxDiffusion

Ce tutoriel vous montre comment diffuser un modèle de génération d'images SDXL à l'aide des TPU (Tensor Processing Unit) sur Google Kubernetes Engine (GKE) avec MaxDiffusion. Dans ce tutoriel, vous allez télécharger le modèle depuis Hugging Face et le déployer sur un cluster Autopilot ou Standard à l'aide d'un conteneur exécutant MaxDiffusion.

Ce guide est un bon point de départ si vous avez besoin du contrôle précis, de la personnalisation, de l'évolutivité, de la résilience, de la portabilité et de la rentabilité des services Kubernetes gérés lors du déploiement et de la diffusion de vos charges de travail d'IA/de ML. Si vous avez besoin d'une plate-forme d'IA gérée unifiée pour créer et diffuser rapidement des modèles de ML à moindre coût, nous vous recommandons d'essayer notre solution de déploiement Vertex AI.

Contexte

En diffusant SDXL à l'aide de TPU sur GKE avec MaxDiffusion, vous pouvez créer une solution de diffusion robuste et prête pour la production avec tous les avantages de la plate-forme Kubernetes gérée, y compris la rentabilité, l'évolutivité et la plus grande disponibilité. Cette section décrit les principales technologies utilisées dans ce tutoriel.

Stable Diffusion XL (SDXL)

Stable Diffusion XL (SDXL) est un type de modèle de diffusion latente (LDM) compatible avec MaxDiffusion pour l'inférence. Pour l'IA générative, vous pouvez utiliser des LDM pour générer des images de haute qualité à partir de descriptions textuelles. Les LDM sont utiles pour des applications telles que la recherche d'images et le sous-titrage d'images.

SDXL est compatible avec l'inférence à hôte unique ou multi-hôtes avec des annotations de partitionnement. Cela permet d'entraîner et d'exécuter SDXL sur plusieurs machines, ce qui peut améliorer l'efficacité.

Pour en savoir plus, consultez le dépôt de modèles génératifs de Stability AI et le SDXL.

TPU

Les TPU sont des circuits intégrés propres aux applications (Application-Specific Integrated Circuit ou ASIC), développés spécifiquement par Google et permettant d'accélérer le machine learning et les modèles d'IA créés à l'aide de frameworks tels que TensorFlow, PyTorch et JAX.

Avant d'utiliser des TPU dans GKE, nous vous recommandons de suivre le parcours de formation suivant :

  1. Découvrez la disponibilité actuelle des versions de TPU avec l'architecture système de Cloud TPU.
  2. Apprenez-en plus sur les TPU dans GKE.

Ce tutoriel explique comment diffuser le modèle SDXL. GKE déploie le modèle sur des nœuds TPU v5e à hôte unique avec des topologies TPU configurées en fonction des exigences du modèle pour diffuser des requêtes avec une faible latence. Dans ce guide, le modèle utilise une puce TPU v5e avec une topologie 1x1.

MaxDiffusion

MaxDiffusion est une collection d'implémentations de référence, écrites en Python et Jax, de divers modèles de diffusion latente qui s'exécutent sur des appareils XLA, y compris les TPU et les GPU. MaxDiffusion est un point de départ pour les projets de diffusion, à la fois pour la recherche et la production.

Pour en savoir plus, consultez le dépôt MaxDiffusion.