La génération d'images par intelligence artificielle a pris d'assaut le Web et les réseaux sociaux. Les solutions en ligne sont de plus en plus robustes et avancées, mais l'exécution locale de modèles présente deux avantages fondamentaux : sa gratuité et l'élimination des limites imposées par les plateformes en ligne. La meilleure option hors ligne reste Stable Diffusion, mais sa configuration standard recommande des cartes graphiques Nvidia. Heureusement, recommandation ne signifie pas obligation, et aujourd'hui nous allons explorer une façon de rediriger Stable Diffusion pour qu'il utilise le CPU…
Vous souhaitez vous mouiller les pieds dans les eaux de la génération d'images ? Le plus simple est de créer un compte sur DreamStudio ou d'utiliser Midjourney via Discord, mais aucune de ces options n'est gratuite, et vous devrez acheter des crédits une fois que vous aurez épuisé leurs essais de courtoisie. En alternative, la démo publique de Stable Diffusion n'est pas partie nulle part, et si vous êtes patient (je parle de la file d'attente, des erreurs spontanées et de «travailler» vos prompts) vous pouvez créer des images très intéressantes.
Cependant, il existe aussi la génération hors ligne, et si vous possédez une carte graphique Nvidia compatible, c'est de loin la meilleure façon d'obtenir des images. Pourquoi ? Vous pouvez explorer différents modèles partagés par la communauté, échapper aux (logiques) limites des éditions en ligne, et surtout, créer des images sans payer un seul centime. Mais que se passe-t-il si la carte vidéo n'est pas une option ? Dans ce cas, la solution est de convaincre Stable Diffusion d'utiliser le CPU.
Avant de commencer…
Vous devez modérer vos attentes. Le processus sacrifie du temps au profit de la compatibilité. Les performances exactes dépendent de chaque processeur et de la puissance de ses cœurs («cœurs» au pluriel, il vous faut définitivement une puce multicœur et 16 Go de RAM pour cela), mais en moyenne, vous devrez attendre environ cinq minutes par image configurée à 20 étapes. Certaines méthodes d'échantillonnage nécessitent entre 30 et 40 pour atteindre des résultats optimaux, il faut donc s'armer de patience.
Comment configurer Stable Diffusion sans carte graphique
- En substance, ce guide suit les mêmes étapes que le didacticiel d'installation de la version WebUI de Stable Diffusion développée par Automatic1111 sur GitHub. C'est l'une des plus populaires et des plus à jour du Web, mais elle ne fonctionnera pas avec des processeurs sans quelques modifications à la fin. C'est notre travail.
- Tout d'abord, vous devez installer Python 3.10.6 ou supérieur, en sélectionnant l'option «Add Python to PATH» lorsque l'installateur la présente.
- Ensuite, c'est au tour de Git pour Windows. Au moment d'écrire ces lignes, sa dernière build est la 2.38.0, compatible avec les systèmes 64 bits.
- Deux options ici : vous pouvez utiliser la commande git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git pour télécharger le dépôt complet, ou réaliser ce même téléchargement manuellement, en cliquant sur le bouton vert Code, puis en choisissant Download Zip. La première voie vous permet d'utiliser git pull pour le mettre à jour plus tard, et avec la seconde, vous devez télécharger le zip à chaque fois. De toute façon, l'installation de git est obligatoire.
- L'étape la plus compliquée : obtenir le modèle 1.4 de Stable Diffusion. C'est une brique de quatre gigaoctets, je recommande donc d'utiliser un lien magnet pour son téléchargement via BitTorrent. Une autre alternative est le téléchargement direct, mais croisez les doigts pour que votre connexion ne soit pas interrompue.
- Une fois le modèle téléchargé, vous devrez le renommer en model.ckpt et le placer dans stable-diffusion-webui-master\models\Stable-diffusion\. Les autres modèles se téléchargent automatiquement lors de la première exécution.
- Nous ne sommes pas sortis de la jungle. La clé pour que cela fonctionne est de forcer l'utilisation du CPU et, en même temps, d'indiquer qu'aucun périphérique CUDA n'est présent
- Pour y parvenir, vous devez éditer le fichier webui.bat et ajouter deux lignes comme le montre l'image ci-dessous : set CUDA_VISIBLE_DEVICES=-1, et set COMMANDLINE_ARGS=--precision full --no-half --use-cpu all --skip-torch-cuda-test --autolaunch. Enregistrez les modifications.
- Ouvrez une console avec des privilèges élevés et exécutez webui.bat. Cette élévation n'est pas strictement nécessaire, mais évite tout conflit potentiel avec Windows.
- Si WebUI a besoin d'autre chose, il est fort probable qu'il essaie de le télécharger automatiquement. C'est le comportement attendu. Si tout se passe bien, le WebUI de Stable Diffusion s'ouvrira dans l'onglet de votre navigateur par défaut, à l'adresse 127.0.0.1:7860.
- Saisissez un prompt et limitez le nombre d'étapes à 20 pour commencer. Tous les samplers ne fonctionnent pas en mode CPU (par exemple, DDIM), et ma suggestion est de rester sur Euler A ou LMS. Un clic sur Generate, puis attendez.
C'est tout ! Avec ces étapes, la génération d'images avec Stable Diffusion et un processeur deviendra réalité. Le reste est... patience. Personnellement, je peux créer 16 images sur GPU pour une sur CPU, nous avons donc une énorme différence de performances. Cependant, calibrer le nombre d'étapes et la résolution vous aidera à réduire le temps de traitement. Bonne chance !