API Tutorial

Tutoriel Stable Diffusion : Créer une API Stable Diffusion sur GCP VM

Creating Stable Diffusion API on GCP VM instance

Qu'est-ce que Stable Diffusion ?

Stable Diffusion est un modèle d'apprentissage profond de pointe, text-to-image, qui a été publié en 2022. Ce modèle innovant est principalement conçu pour générer des images détaillées et de haute qualité à partir de descriptions textuelles. Cependant, sa polyvalence permet diverses applications, y compris des tâches telles que l'inpainting (remplissage des parties manquantes d'une image), l'outpainting (expansion des images au-delà de leurs frontières originales) et les traductions d'image à image guidées par des invites textuelles spécifiques. Pour plus d'informations sur ses capacités, vous pouvez visiter Stability.ai.

Création d'un compte Google Cloud Platform (GCP)

Pour utiliser la puissance de Stable Diffusion, vous devez d'abord créer un compte GCP. Rendez-vous sur Google Cloud Platform pour vous inscrire. Il est essentiel de créer un compte de facturation, car les ressources GPU ne peuvent pas être utilisées dans le cadre de l'offre gratuite. De plus, il est conseillé de définir un budget avec des alertes, car l'utilisation des GPU peut devenir assez coûteuse.

Demande d'accès GPU

Une fois votre compte GCP établi, accédez à la page APIs & Services pour activer l'API Compute Engine. Recherchez l'API Compute Engine et cliquez sur Activer. Ensuite, vous devez demander la possibilité de créer des machines virtuelles nécessitant des capacités GPU. Cela peut être fait en allant à la section Quotas et en filtrant pour les GPU dans toutes les régions. Demandez une augmentation de 0 à 1, en fournissant une raison telle que "Utilisation d'un modèle ML nécessitant un GPU". Veuillez être patient, car l'approbation peut prendre un jour ou deux. Pour plus de détails, visitez Google Cloud Compute Quotas.

Création d'une instance VM

Ensuite, vous devrez créer une instance de machine virtuelle (VM). Rendez-vous sur Google Cloud Console et cliquez sur Créer une instance. Attribuez un nom à votre instance ; nous utiliserons stable-diffusion-instance pour cet exemple. Sélectionnez une région qui prend en charge le GPU — vous devrez peut-être essayer plusieurs options. Sous la configuration de la machine, sélectionnez l'option pour le GPU. Si vous recherchez des performances élevées et pouvez supporter les coûts, le GPU A100 est la meilleure option, tandis que le T4 est un choix plus abordable, coûtant environ 300 $/mois s'il est utilisé en continu.

Pour le type de machine, sélectionnez n1-standard-4, qui fournit 15 Go de mémoire — suffisant pour la plupart des tâches, bien que plus puisse être préférable en fonction de vos besoins spécifiques. Assurez-vous d'ajuster les paramètres de disque de démarrage ; sélectionnez Changer sous Disque de démarrage et optez pour l'option Deep Learning VM basée sur Debian 10. Vous voudrez peut-être ajuster la taille du disque de démarrage (50 Go est le minimum). Sous Pare-feu, cochez les options Autoriser le trafic HTTP et Autoriser le trafic HTTPS.

Dans les options avancées sous Réseau, ajoutez une étiquette de réseau telle que stable-diffusion-tag pour identifier cette instance plus tard.

Création d'une règle de pare-feu

Pour accéder rapidement à votre instance, visitez la page des règles de pare-feu et cliquez sur Créer une règle de pare-feu. Nommez cette règle stable-diffusion-rule, et pour les cibles, sélectionnez Étiquettes (entrez l'étiquette stable-diffusion-tag). Pour Plages d'IP source, entrez 0.0.0.0/0, et sous Protocoles et ports, ajoutez tcp:5000 avant de cliquer sur Créer.

Accès à l'instance de calcul

La méthode la plus simple pour accéder à votre instance est via SSH directement à partir de la console. Accédez à la liste des instances de calcul et cliquez sur celle que vous venez de créer pour vous connecter.

Configuration de Stable Diffusion sur l'instance

Lors de votre première connexion à votre instance, vous serez invité à installer le pilote Nvidia — répondez simplement par 'Y'. Notez qu'à chaque fois que vous arrêtez et redémarrez la VM, vous devrez réinstaller ces pilotes.

La prochaine étape consiste à cloner les dépôts nécessaires et à installer Cog, qui fournit un moyen efficace de gérer et de déployer des modèles d'apprentissage automatique sur cette VM sans installations supplémentaires, car Docker est pré-installé. Exécutez les commandes nécessaires pour établir votre environnement.

Création de l'image Docker

Pour exécuter le modèle, téléchargez les poids depuis Hugging Face. Vous devrez créer un compte et générer un jeton d'authentification si ce n'est pas déjà fait. Une fois que vous avez votre jeton, utilisez-le pour télécharger les poids avec votre script. Après l'installation, vous pouvez commencer à tester si le modèle fonctionne.

Une fois que tout fonctionne correctement, vous devriez trouver une image générée, output-1.png, qui peut être téléchargée via le terminal. Utilisez la commande pwd pour déterminer votre répertoire de travail, qui retourne généralement un chemin comme /home//cog-stable-diffusion. Ce chemin sera essentiel pour être défini comme un volume lors du démarrage de l'image Docker de diffusion stable pour faciliter l'accès à vos poids Hugging Face.

Comment tester l'API ?

Lors de la phase de test de l'API, soyez conscient que le payload de réponse sera encodé en base64. Pour le décoder, vous pouvez utiliser un outil en ligne tel que Code Beautify Base64 Decoder.

Explorer des fonctionnalités supplémentaires

Pour les utilisateurs intéressés par la création de courtes vidéos, explorez Deforum, qui a un modèle robuste pour la génération de vidéos utilisant des méthodes similaires. Découvrez-le sur Deforum sur Replicate. Pour l'utiliser, il vous suffit d'arrêter le conteneur actuel et de suivre les étapes requises.

Conclusion

Merci d'avoir lu ce tutoriel complet sur la mise en place de Stable Diffusion. Si vous avez trouvé ce guide utile, vous pouvez découvrir d'autres tutoriels et ressources sur notre page de tutoriels dédiée. Restez à l'écoute pour plus d'informations et d'innovations dans le domaine de l'IA !

En lire plus

Tutorial for integrating Google Vertex PaLM API in monday.com using PaLM2 model
An example of InPainting using Stable Diffusion technology.

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés.

Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.