Ces dernières années, la technologie de génération d’images IA a progressé rapidement, mais les coûts informatiques élevés ont limité sa popularité. Cet article présente un nouveau framework de conversion texte-image appelé Sana, qui se distingue par ses capacités efficaces de génération d'images et ses faibles coûts de fonctionnement. Sana est capable de générer des images ultra haute définition avec une résolution allant jusqu'à 4 096 × 4 096 sur un GPU d'ordinateur portable classique, bien plus rapidement que la technologie existante. L'innovation principale de ce framework réside dans la combinaison d'auto-encodeurs à compression profonde, de DiT linéaire, d'encodeurs de texte de type décodeur et de stratégies efficaces de formation et d'échantillonnage.
La technologie de génération d'images IA se développe rapidement, mais la taille du modèle devient de plus en plus grande et les coûts de formation et d'utilisation sont très élevés pour les utilisateurs ordinaires. Aujourd'hui, un nouveau framework de conversion texte-image appelé « Sana » est apparu. Il peut générer efficacement des images ultra haute définition avec des résolutions allant jusqu'à 4 096 × 4 096, et il est si rapide qu'il peut même fonctionner sur le GPU d'un ordinateur. ordinateur portable.
Les conceptions principales de Sana incluent :
Encodeurs automatiques à compression profonde : contrairement aux encodeurs automatiques traditionnels qui ne compressent les images que 8 fois, les encodeurs automatiques utilisés par Sana peuvent compresser les images 32 fois, réduisant ainsi le nombre de jetons potentiels. Ceci est crucial pour une formation efficace et la génération d’images à ultra haute résolution.
DiT linéaire : Sana remplace tous les mécanismes d'attention traditionnels du DiT par une attention linéaire, ce qui améliore l'efficacité du traitement des images haute résolution sans sacrifier la qualité. L'attention linéaire réduit la complexité de calcul de O(N²) à O(N). De plus, Sana utilise également Mix-FFN pour intégrer une convolution de profondeur 3x3 dans MLP afin d'agréger les informations locales des jetons et ne nécessite plus de codage de position.
Encodeur de texte de style décodeur : Sana utilise le dernier petit LLM de style décodeur (tel que Gemma) comme encodeur de texte, remplaçant le CLIP ou T5 couramment utilisé. Cette approche améliore la capacité du modèle à comprendre et à raisonner sur les signaux de l'utilisateur, et améliore l'alignement image-texte grâce à des instructions humaines complexes et à un apprentissage contextuel.
Stratégie de formation et d'échantillonnage efficace : Sana adopte Flow-DPM-Solver pour réduire les étapes d'échantillonnage et utilise des méthodes efficaces d'annotation de titre et de sélection pour accélérer la convergence du modèle. Le modèle Sana-0.6B est 20 fois plus petit et plus de 100 fois plus rapide que les modèles à grande diffusion tels que Flux-12B.
Sana est innovant dans la mesure où il réduit considérablement la latence d'inférence en :
Optimisation collaborative des algorithmes et des systèmes : grâce à plusieurs méthodes d'optimisation, Sana réduit le temps de génération des images 4096x4096 de 469 secondes à 9,6 secondes, soit 106 fois plus rapide que le modèle Flux le plus avancé actuel.
Encodeur automatique à compression profonde : Sana utilise la structure AE-F32C32P1 pour compresser les images 32 fois, réduisant considérablement le nombre de jetons et accélérant la formation et l'inférence.
Attention linéaire : l'utilisation de l'attention linéaire pour remplacer le mécanisme traditionnel d'auto-attention améliore l'efficacité du traitement des images haute résolution.
Accélération Triton : utilisez Triton pour fusionner les noyaux des processus avant et arrière du module d'attention linéaire afin d'accélérer davantage la formation et l'inférence.
Flow-DPM-Solver : réduit les étapes d'échantillonnage d'inférence de 28 à 50 étapes à 14 à 20 étapes tout en obtenant de meilleurs résultats de génération.
La performance de Sana est exceptionnelle. Avec une résolution de 1024x1024, les paramètres du modèle Sana-0.6B ne sont que de 590 millions, mais les performances globales atteignent 0,64GenEval, ce qui est comparable à de nombreux modèles plus grands. De plus, Sana-0.6B peut être déployé sur un GPU d'ordinateur portable de 16 Go et génère des images de résolution 1024×1024 en moins d'une seconde. Pour la génération d'images 4K, Sana-0.6B atteint un débit plus de 100 fois plus rapide que la méthode de pointe (FLUX). Sana réalise non seulement une percée en termes de vitesse, mais est également compétitif en termes de qualité d'image. Même dans des scènes complexes telles que le rendu du texte et les détails des objets, les performances de Sana sont satisfaisantes.
En outre, Sana dispose également de puissantes capacités de migration linguistique sans échantillon. Même lorsqu'elle est formée uniquement sur des données anglaises, Sana peut comprendre les signaux chinois et emoji et générer les images correspondantes.
L'émergence de Sana abaisse le seuil de génération d'images de haute qualité et fournit de puissants outils de création de contenu pour les professionnels et les utilisateurs ordinaires. Le code et les modèles de Sana seront rendus publics.
Adresse de l'expérience : https://nv-sana.mit.edu/
Adresse papier : https://arxiv.org/pdf/2410.10629
Github :https://github.com/NVlabs/Sana
Dans l'ensemble, Sana a réalisé des progrès révolutionnaires dans le domaine de la génération d'images grâce à son algorithme efficace et à la conception optimisée de son système, offrant aux utilisateurs une commodité sans précédent et une expérience de génération d'images de haute qualité. Sa fonctionnalité open source a également contribué de manière significative au développement de la technologie de génération d’images IA.