La tecnología de generación de imágenes con IA está avanzando rápidamente, pero el tamaño de los modelos está creciendo cada vez más, lo que hace que el entrenamiento y el uso sean muy costosos para el usuario promedio. Ahora, un nuevo marco de texto a imagen llamado "Sana" ha irrumpido en escena, capaz de generar imágenes de ultra alta definición de hasta 4096×4096 píxeles de forma eficiente y rápida, incluso en la GPU de un portátil.
El diseño central de Sana incluye:
Autocodificador de compresión profunda: A diferencia de los autocodificadores tradicionales que solo comprimen imágenes 8 veces, el autocodificador de Sana comprime imágenes 32 veces, reduciendo eficazmente la cantidad de tokens latentes. Esto es crucial para el entrenamiento eficiente y la generación de imágenes de ultra alta resolución.
DiT lineal: Sana reemplaza todos los mecanismos de atención tradicionales en DiT con atención lineal, lo que mejora la eficiencia del procesamiento de imágenes de alta resolución sin sacrificar la calidad. La atención lineal reduce la complejidad computacional de O(N²) a O(N). Además, Sana utiliza Mix-FFN, integrando una convolución profunda de 3x3 en MLP para agregar información local de los tokens, eliminando la necesidad de codificación posicional.
Codificador de texto de tipo decodificador: Sana utiliza los últimos LLM pequeños de tipo decodificador (como Gemma) como codificador de texto, en lugar de los CLIP o T5 comúnmente usados. Este método mejora la capacidad del modelo para comprender e inferir las indicaciones del usuario, y mejora la alineación texto-imagen a través del aprendizaje complejo de instrucciones y contexto artificiales.
Estrategias de entrenamiento y muestreo eficientes: Sana utiliza Flow-DPM-Solver para reducir los pasos de muestreo y emplea métodos eficientes de anotación y selección de títulos para acelerar la convergencia del modelo. El modelo Sana-0.6B es 20 veces más pequeño y más de 100 veces más rápido que los grandes modelos de difusión (como Flux-12B).
La innovación de Sana radica en cómo reduce significativamente la latencia de inferencia:
Optimización colaborativa de algoritmos y sistemas: Mediante diversas técnicas de optimización, Sana reduce el tiempo de generación de imágenes de 4096x4096 de 469 segundos a 9.6 segundos, 106 veces más rápido que el modelo más avanzado actual, Flux.
Autocodificador de compresión profunda: Sana utiliza la estructura AE-F32C32P1, comprimiendo imágenes 32 veces, reduciendo significativamente la cantidad de tokens y acelerando el entrenamiento y la inferencia.
Atención lineal: Reemplaza el mecanismo de autoatención tradicional con atención lineal, mejorando la eficiencia del procesamiento de imágenes de alta resolución.
Aceleración de Triton: Utiliza Triton para fusionar los núcleos del proceso de avance y retroceso del módulo de atención lineal, acelerando aún más el entrenamiento y la inferencia.
Flow-DPM-Solver: Reduce los pasos de muestreo de inferencia de 28-50 a 14-20 pasos, al tiempo que obtiene mejores resultados de generación.
Sana presenta un rendimiento excepcional. Con una resolución de 1024x1024, el modelo Sana-0.6B tiene solo 590 millones de parámetros, pero logra un rendimiento general de 0.64 GenEval, comparable a muchos modelos más grandes. Además, Sana-0.6B se puede implementar en una GPU de portátil de 16 GB, generando imágenes de 1024×1024 en menos de un segundo. Para la generación de imágenes 4K, el rendimiento de Sana-0.6B es más de 100 veces más rápido que el método más avanzado (FLUX). Sana no solo ha logrado un gran avance en velocidad, sino que también es competitivo en calidad de imagen, ofreciendo resultados satisfactorios incluso en escenas complejas, como la representación de texto y los detalles de los objetos.
Además, Sana tiene una potente capacidad de transferencia de lenguaje de cero muestra. Incluso entrenado solo con datos en inglés, Sana puede entender indicaciones en chino y emojis y generar imágenes correspondientes.
La aparición de Sana reduce el umbral para la generación de imágenes de alta calidad, proporcionando una poderosa herramienta de creación de contenido para profesionales y usuarios comunes. El código y el modelo de Sana se publicarán públicamente.
Dirección de prueba: https://nv-sana.mit.edu/
Dirección del artículo: https://arxiv.org/pdf/2410.10629
Github: https://github.com/NVlabs/Sana