El Pal de Artista en tu Bolsillo SnapFusion es un Enfoque de IA que Lleva el Poder de los Modelos de Difusión a Dispositivos Móviles.

SnapFusion es una aplicación de inteligencia artificial que permite llevar modelos de difusión a dispositivos móviles.

Modelos de difusión. Este es un término que has escuchado mucho si has estado prestando atención a los avances en el campo de la IA. Fueron la clave que permitió la revolución en los métodos de IA generativa. Ahora tenemos modelos que pueden generar imágenes fotorrealistas utilizando indicaciones de texto en cuestión de segundos. Han revolucionado la generación de contenido, la edición de imágenes, la superresolución, la síntesis de video y la generación de activos 3D.

Aunque este impresionante rendimiento no es barato. Los modelos de difusión son extremadamente exigentes en términos de requerimientos de computación. Eso significa que necesitas GPUs de alta gama para aprovecharlos al máximo. Sí, también hay intentos de hacerlos funcionar en tus computadoras locales; pero incluso entonces, necesitas una de alta gama. Por otro lado, utilizar un proveedor de nube puede ser una solución alternativa, pero entonces podrías arriesgar tu privacidad en ese caso.

Luego, también está el aspecto de utilizarlo sobre la marcha que debemos tener en cuenta. Para la mayoría de las personas, pasan más tiempo en sus teléfonos que en sus computadoras. Si quieres utilizar modelos de difusión en tu dispositivo móvil, bueno, buena suerte con eso, ya que será demasiado exigente para la limitada potencia de hardware del propio dispositivo.

Los modelos de difusión son la próxima gran cosa, pero necesitamos abordar su complejidad antes de aplicarlos en aplicaciones prácticas. Ha habido varios intentos que se han centrado en acelerar la inferencia en dispositivos móviles, pero no han logrado una experiencia de usuario perfecta o evaluado cuantitativamente la calidad de generación. Bueno, esa era la historia hasta ahora porque tenemos un nuevo jugador en el campo, y se llama SnapFusion.

SnapFusion es el primer modelo de difusión de texto a imagen que genera imágenes en dispositivos móviles en menos de 2 segundos. Optimiza la arquitectura UNet y reduce el número de pasos de eliminación de ruido para mejorar la velocidad de inferencia. Además, utiliza un marco de entrenamiento evolutivo, introduce tuberías de destilación de datos y mejora el objetivo de aprendizaje durante la destilación de pasos.

Visión general de SnapFusion. Fuente: https://arxiv.org/pdf/2306.00980.pdf

Antes de hacer cambios en la estructura, los autores de SnapFusion investigaron primero la redundancia de arquitectura de SD-v1.5 para obtener redes neuronales eficientes. Sin embargo, aplicar técnicas convencionales de poda o búsqueda de arquitectura a SD fue un desafío debido al alto costo de entrenamiento. Cualquier cambio en la arquitectura puede resultar en un rendimiento degradado, requiriendo un extenso ajuste fino con recursos computacionales significativos. Así que ese camino estaba bloqueado, y tuvieron que desarrollar soluciones alternativas que puedan preservar el rendimiento del modelo UNet pre-entrenado mientras mejoran gradualmente su eficacia.

Para aumentar la velocidad de inferencia, SnapFusion se enfoca en optimizar la arquitectura UNet, que es un cuello de botella en el modelo de difusión condicional. Los trabajos existentes se centran principalmente en optimizaciones posteriores al entrenamiento, pero SnapFusion identifica redundancias de arquitectura y propone un marco de entrenamiento evolutivo que supera al modelo de difusión estable original mientras mejora significativamente la velocidad. También introduce una tubería de destilación de datos para comprimir y acelerar el decodificador de imagen.

SnapFusion incluye una sólida fase de entrenamiento, donde se aplica una propagación hacia adelante estocástica para ejecutar cada bloque de atención cruzada y ResNet con cierta probabilidad. Esta robusta augmentación de entrenamiento garantiza que la red sea tolerante a permutaciones de arquitectura, lo que permite una evaluación precisa de cada bloque y una evolución arquitectónica estable.

El decodificador de imagen eficiente se logra a través de una tubería de destilación que utiliza datos sintéticos para entrenar el decodificador obtenido mediante reducción de canal. Este decodificador comprimido tiene significativamente menos parámetros y es más rápido que el de SD-v1.5. El proceso de destilación implica generar dos imágenes, una del decodificador eficiente y la otra de SD-v1.5, utilizando indicaciones de texto para obtener la representación latente del UNet de SD-v1.5.

El enfoque propuesto de destilación por pasos incluye un objetivo de pérdida de destilación simple, que tiene como objetivo minimizar la discrepancia entre la predicción de la UNet estudiantil y la representación latente ruidosa de la UNet maestra. Además, se introduce un objetivo de pérdida de destilación consciente de CFG para mejorar la puntuación CLIP. Las predicciones guiadas por CFG se utilizan en los modelos tanto de la maestra como del estudiante, donde la escala CFG se muestrea aleatoriamente para proporcionar un equilibrio entre las puntuaciones FID y CLIP durante el entrenamiento.

Imágenes de muestra generadas por SnapFusion. Fuente: https://arxiv.org/pdf/2306.00980.pdf

Gracias a la mejora de la destilación por pasos y al desarrollo de la arquitectura de la red, SnapFusion puede generar imágenes de 512 × 512 a partir de indicaciones de texto en dispositivos móviles en menos de 2 segundos. Las imágenes generadas presentan una calidad similar al modelo de difusión estable de última generación.