J’aime bien vous parler ici d’intelligence artificielle et cet article est l’occasion de continuer sur cette lancée. Dans ce tutoriel, nous allons voir comment générer des images via l’intelligence artificielle en local avec le logiciel ComfyUI et le modèle FLUX. C’est totalement gratuit et tout ce que vous avez besoin, c’est d’une carte graphique avec un minimum de performance. Si vous trouvez les cartes graphiques trop chère, et notamment du côté de NVIDIA qui sont les plus utilisées pour faire de l’IA en local, je vous conseille d’aller voir du côté des ventes de carte graphique d’occasion.
Si vous n’êtes pas sur du modèle de votre carte graphique, je vous conseille d’utiliser CPU-X / GPU-Z ou encore d’utiliser la commande nvidia-smi. Ce qu’il faut retenir, c’est qu’il une carte graphique NVIDIA relativement récente et qui possède au moins 8 Go de mémoire vive. 12 Go, c’est encore mieux et avec 16 Go vous commencez à être confortable. Il est bien évidemment possible d’avoir plus, mais le prix grimpe aussi très vite.
Installer ComfyUI sur Linux
Je ne vous conseillerai jamais assez d’utiliser une distribution Linux pour faire tout ce qui va suivre. C’est plutôt rare de voir de nos jours de voir une carte graphique NVIDIA chez Apple et ses MacBook, mais sachez néanmoins que ComfyUI fonctionne sur un macOS récent et une machine qui possède au moins la puce M1 et supérieur. C’est utilisable à condition d’avoir suffisamment de mémoire vive unifiée avec votre puce Apple Silicon. ComfyUI est aussi compatible avec Windows. Pour ces deux premiers système d’exploitation, je vous conseille d’aller voir directement le GitHub de ComfyUI pour voir les modalités d’installation.
Ce qui nous intéresse ici, c’est de le faire tourner sur un bon vieux Linux Ubuntu à jour. Vous allez voir, ce n’est pas très compliqué d’utiliser ComfyUI et vous allez très facilement pouvoir générer des images avec l’intelligence artificielle. Pour commencer, il va falloir récupérer ComfyUI via l’archive ZIP ou mieux directement avec GIT :
git clone https://github.com/comfyanonymous/ComfyUI.git
Rendez-vous directement dans le dossier de ComfyUI pour continuer à l’aide d’un simple :
cd ComfyUI/
Normalement, Python devrait déjà être installé sur votre système, mais PIP peut être pas. Cet outil de gestion des dépendances s’installe avec la commande :
sudo apt install python3-pip
Avant de passer à la suite et d’attaquer la partie Python, je vous conseille vivement de créer un environnement virtuel venv. Ceci afin d’éviter tout problème de dépendances Python et PIP avec votre système d’exploitation. Je pense notamment à l’erreur externally-managed-environment que vous pourriez avoir si vous débutez avec ce genre de choses. Une fois que vous avez fait votre environnement virtuel Python, on peut passer sereinement à la suite avec cette suite de commandes pour finir l’installation de ComfyUI.
pip install torch torchvision torchaudio
pip install -r requirements.txt
Si vous ne rencontrez pas d’erreur, c’est que tout s’est bien passé avec l’installation des dépendances de ComfyUI et vous allez pouvoir lancer le logiciel.
Télécharger les modèles FLUX pour créer des images avec ComfyUI
Dans un premier temps, il va falloir récupérer un modèle pour pouvoir générer des images avec FLUX et ComfyUI. Attention, comme je le disais dans mon article sur les meilleurs logiciels pour utiliser les LLM IA en local, ça prend un peu de place. Rien de bien fou avec les espaces de stockage pas cher que nous avons aujourd’hui. Cependant, il faut tout de même garder cette information en tête si vous commencez à accumuler les modèles pour faire des tests. C’est mon cas et ça monte vite. J’espère aussi que vous avez une bonne connexion, mais la fibre optique se généralise rapidement chez nous en France.
Il est temps de récupérer les 2 modèles FLUX pour générer des images par IA en local mais attention il y a une petite nuance au niveau du résultat attendu et surtout sur les licences. Les modèles Flux.1-Dev et Flux.1-Schnell diffèrent tant par leur utilisation que par leurs licences.
Flux.1-Dev est conçu pour produire des images de haute qualité et de réalisme, ce qui le rend idéal pour des projets nécessitant une grande fidélité visuelle. Cependant, son utilisation est limitée aux applications non commerciales, telles que la recherche et le développement, en raison de sa licence restreinte. En revanche, Flux.1-Schnell est optimisé pour la rapidité, générant des images plus rapidement, bien que la qualité puisse être légèrement inférieure. Il est distribué sous la licence open source Apache 2.0, qui autorise explicitement une utilisation commerciale.
Le choix entre ces deux modèles dépend de ce que voulez faire. Flux.1-Dev pour une qualité supérieure dans un cadre non commercial, ou Flux.1-Schnell pour une génération plus rapide avec possibilité d’exploitation commerciale.
Pour commencer et rester simple, je vous conseille de récupérer les modèles dans leur version 1 fichier en fp8. Vous pouvez faire vos recherches et si j’ai des questions à ce sujet, je ne manquerai pas d’y répondre ou éventuellement d’en refaire un autre article. Ici, je veux rester le plus simple possible pour que ce soit accessible pour tout le monde. Voici les 2 liens Hugging Face officiels pour télécharger les modèles en version 1 fichier fp8 :
Vous pouvez utiliser le direct download, mais le mieux est plutôt d’utiliser Git LFS qui vous évitera peut-être des problèmes pour récupérer les modèles IA sur votre ordinateur en local.
Utiliser ComfyUI pour générer des images IA en local
Bravo vous êtes arrivés jusqu’ici et vous avez réussi à récupérer le modèle de votre choix ou les deux pour tester. Vous pouvez prendre ce fichier et aller le ranger dans le bon dossier de ComfyUI qui est : ComfyUI/models/checkpoints/ICI. Je vous met une image pour que ce soit parlant avec le modèle FLUX.1-dev :
C’est presque fini on va bientot pouvoir générer des images. Normalement, dans votre terminal vous êtres toujours dans le dossier de ComfyUI. Vous pouvez alors lancer ComfyUI à l’iader de la commande toute simple :
python3 main.py
Si tout se passe bien vous devriez avoir un message qui vous indique la quantité de mémoire VRAM sur votre carte graphique et sur votre carte mère. Dans la version actuelle, ça ressemble à quelque chose comme ça :
Si c’est que vous obtenez, c’est que vous êtes vraiment sur la bonne voie pour générer des images avec l’intelligence artificielle en local ! Rendez-vous sur le serveur qui vient de se lancer pour accéder à l’interface graphique de l’outil ComfyUI. Par défaut chez moi, c’est :
http://127.0.0.1:8188
Allez dans votre navigateur et il va maintenant vous rester une dernière étape pour que tout fonctionne bien. Dans mon image d’introduction, vous avez sûrement vu les menus tout à droite. Il va falloir charger un workflow pour que vous puissiez générer une image car par défaut cela ne fonctionnera pas. N’hésitez pas à récupérer ce workflow pour utiliser FLUX dans ComfyUI. Une fois téléchargé sur votre machine, chargez ce JSON en cliquant sur LOAD du petit menu à droite de l’interface.
Une fois que c’est fait, dans un premier temps et pour un premier essai, ne touchez à rien. Sauf éventuellement réorganiser les blocs pour une meilleure compréhension future qui sera là aussi l’objet d’un futur article si celui rencontre de l’audience. Après une rapide réorganisation chez moi, cela s’organise comme ceci :
Pour ce que j’ai connu par le passé cela me fait tellement penser à la logique du moteur graphique Unreal Engine. Pour certains morceaux d’un jeu, c’était exactement la même chose avec les blueprints. Il est temps de finir ce tutoriel. Dans la partie violette #27 nommée EmptySD3LatentImage vous pouvez gérer la taille de votre image. Pour votre prompt de qualité, cela se passe dans la partie verte CLIP Text Encode #6. Quand vous cliquez sur Queue Prompt lorsque vous avez renseigné le vôtre, vos images se sauvegardent alors dans :
ComfyUI/output
N’hésitez pas à me dire si vous n’avez pas bien compris certains points ou si vous voulez d’autres tutoriels sur le sujet de la génération des images en local. Ce n’est d’ailleurs pas le premier que je fais et bien je vous parlerai plus amplement des prompts pour créer de belles images avec l’IA !