Développer avec l’IA

Flux.3 Image Klein arrive dans Diffusers avec une architecture modulaire

Black Forest Labs publie Flux.3 Image Klein sur Hugging Face Diffusers, intégrant un transformateur à deux étapes et la prise en charge des images de référence pour un montage précis.

Un cube en verre avec des couches de circuits flottant au-dessus de tirages photo.
Illustration générée pour cet article

Traduit automatiquement depuis l'original anglais.

Black Forest Labs a publié le modèle Flux.3 Image Klein au sein de la bibliothèque Hugging Face Diffusers, marquant une mise à jour significative des outils open source de génération d'images. Cette version introduit une nouvelle architecture de pipeline modulaire conçue pour gérer l'édition complexe basée sur des instructions et la génération guidée par des références. La mise à jour fournit aux développeurs des benchmarks détaillés et des scripts d'entraînement pour intégrer ces capacités dans leurs applications.

Ce qui s'est passé

Le cœur de cette publication est l'intégration du checkpoint Flux.3 Image Klein dans l'écosystème standard de Diffusers. Cela permet aux ingénieurs de charger et d'exécuter le modèle via des interfaces Python familières tout en accédant à de nouvelles fonctionnalités telles que le déchargement automatique sur CPU et la gestion spécifique du dtype par composant. La version inclut des pipelines text-to-image et image-to-image, permettant aux utilisateurs de générer des images à partir de prompts ou de modifier des images existantes selon des instructions textuelles et des visuels de référence.

En plus du code d'inférence, l'équipe a publié des ressources complètes pour personnaliser le modèle. Celles-ci incluent des scripts DreamBooth prenant en charge l'entraînement Low-Rank Adaptation (LoRA) avec diverses stratégies d'optimisation. Les développeurs peuvent expérimenter des techniques telles que le gradient checkpointing pour réduire l'utilisation de la mémoire vidéo, la mise en cache des latents pour accélérer le traitement, et l'utilisation d'optimiseurs Adam 8 bits pour diminuer la surcharge mémoire lors du fine-tuning. Des adaptateurs pré-entraînés pour des styles spécifiques, comme la conception de cartes de tarot, sont déjà disponibles sur le Hugging Face Hub.

La documentation détaille également comment entraîner des modèles pour l'édition basée sur des instructions. Cela implique l'utilisation de triplets composés d'images de référence, d'images cibles et d'instructions textuelles. Le système traite les images de référence dans le prompt via des tokens spéciaux, permettant au modèle d'apprendre des transformations spécifiques. Cette approche offre un contrôle précis sur les changements de mise en page et de style, rendant le modèle adapté aux applications nécessitant une manipulation d'image haute fidélité plutôt qu'une simple génération à partir de zéro.

Comment cela fonctionne

Flux.3 opère comme un modèle de correspondance de flux dans l'espace latent, ce qui signifie qu'il génère des images en prédisant le vecteur de vitesse qui déplace le bruit aléatoire vers une image propre au fil d'une série d'étapes. L'architecture traite trois types de tokens : texte, latents d'image bruités et images de référence optionnelles. Un Variational Autoencoder (VAE) compresse les images d'entrée en latents, où chaque token représente une patch de 16x16 pixels. Cet emballage efficace permet de représenter une image de 1024x1024 pixels par une grille de 64x64 tokens.

Le transformateur utilise un mécanisme d'attention unique à deux étapes. Dans la première étape, les flux de texte, d'image et de référence sont traités séparément à travers cinq blocs avec des poids indépendants. Cela garantit que chaque modalité est affinée selon ses propres termes avant toute interaction. Dans la deuxième étape, tous les flux sont concaténés et traités à travers 28 blocs conjoints où chaque token interagit avec tous les autres. Cette séparation permet au modèle de comprendre profondément le contexte avant de fusionner les informations, contrairement aux versions précédentes qui autorisaient l'attention croisée dès le départ.

L'encodage positionnel dans Flux.3 utilise quatre dimensions : timestep, hauteur, largeur et longueur de séquence. Cet encodage rotatif positionnel (RoPE) à quatre dimensions aide le modèle à distinguer précisément entre les tokens de texte, les pixels d'image et les emplacements de référence. Les tokens de texte sont alignés le long de l'axe de la longueur de séquence, tandis que les tokens d'image et de référence utilisent les coordonnées de hauteur et de largeur. Cette structure permet au modèle de comprendre les relations spatiales, comme la cartographie d'une région spécifique dans une image de référence vers une zone correspondante dans la sortie générée.

Détails clés

  • Le modèle utilise Qwen3-VL comme encodeur de texte, extrayant les états cachés de huit couches différentes pour créer des vecteurs de texte riches de 20 480 dimensions.
  • L'utilisation de la mémoire varie selon la précision, avec nvfp4 sur une RTX6000 atteignant un pic de 15,3 GiB et bf16 sur une H100 atteignant 20,72 GiB après l'inférence.
  • La génération text-to-image pour une sortie de 1024x1024 prend environ 1,93 seconde sur un GPU NVIDIA H100 unique utilisant le checkpoint distillé.
  • Les tâches image-to-image doublent approximativement le temps de génération à 3,87 secondes car les tokens de référence ajoutent 4 096 tokens supplémentaires à la séquence du transformateur.
  • Le scheduler utilise un grand décalage temporel de 6,93, maintenant le niveau de bruit élevé pendant la majeure partie du processus de génération de 50 étapes pour améliorer la stabilité.
  • Les scripts d'entraînement prennent en charge le gradient checkpointing, la mise en cache des latents et l'optimisation Adam 8 bits pour s'adapter aux contraintes matérielles.

Pourquoi c'est important

Pour les ingénieurs logiciels développant des fonctionnalités de génération d'images, la conception modulaire de Flux.3 dans Diffusers offre une plus grande flexibilité dans la gestion des contraintes de ressources. La capacité de charger des composants avec différents types de données et d'activer le déchargement automatique sur CPU signifie que les développeurs peuvent déployer des modèles puissants sur du matériel disposant d'une mémoire vidéo limitée. Cela abaisse la barrière à l'entrée pour exécuter des modèles d'image de pointe localement ou sur des instances cloud économiques.

L'architecture à deux étapes et les embeddings positionnels à quatre dimensions fournissent une base technique pour un montage d'images plus précis et contrôlable. En séparant initialement les modalités puis en les fusionnant, le modèle réduit les interférences entre les prompts textuels et les références visuelles. Il en résulte une fidélité supérieure lors de tâches telles que l'édition de mise en page ou le transfert de style, essentielles pour les outils créatifs professionnels et les workflows de design automatisés.

De plus, la disponibilité de scripts d'entraînement détaillés et de LoRAs pré-entraînés accélère le développement de solutions personnalisées. Les équipes peuvent affiner le modèle pour des domaines spécifiques sans repartir de zéro, en tirant parti des techniques d'optimisation fournies pour gérer les coûts d'entraînement. Ce soutien écosystémique encourage l'expérimentation rapide et le déploiement de capacités spécialisées de génération d'images dans des environnements de production.

Ce que vous pouvez faire

  • Installez la dernière version de Diffusers et chargez le pipeline Flux.3 Image Klein en utilisant la classe ModularPipeline fournie.
  • Expérimentez avec le déchargement automatique sur CPU en initialisant un ComponentsManager et en l'activant pour votre appareil afin de réduire l'utilisation de VRAM.
  • Utilisez le checkpoint distillé pour une inférence plus rapide, notant qu'il ne nécessite que 16 étapes contre les 50 étapes standard.
  • Essayez l'édition basée sur des instructions en préparant des triplets d'images de référence, d'images cibles et de descriptions textuelles pour l'entraînement DreamBooth.
  • Optimisez la mémoire d'entraînement en activant le gradient checkpointing et en utilisant des optimiseurs Adam 8 bits dans vos scripts de fine-tuning.
  • Explorez le LoRA de style tarot pré-entraîné sur le Hugging Face Hub pour comprendre comment les adaptateurs de rang faible affectent la qualité de la sortie.

Outils de la Boutique Bytechap

$89

DocBento

Gestion documentaire auto-hébergée qui analyse chaque scan et répond avec des citations de pages.

Démo en ligne

Continuer la lecture

Tous les articles