Enchufes de difusión en el dispositivo para la generación condicionada de texto a imagen

'Broadcast plugs on the device for conditioned text-to-image generation'

Publicado por Yang Zhao y Tingbo Hou, Ingenieros de Software, Core ML

En los últimos años, los modelos de difusión han mostrado un gran éxito en la generación de texto a imagen, logrando una alta calidad de imagen, un rendimiento de inferencia mejorado y expandiendo nuestra inspiración creativa. Sin embargo, sigue siendo un desafío controlar eficientemente la generación, especialmente con condiciones que son difíciles de describir con texto.

Hoy anunciamos los complementos de difusión de MediaPipe, que permiten ejecutar la generación de texto a imagen controlable en el dispositivo. Ampliando nuestro trabajo previo en inferencia de GPU para modelos generativos grandes en el dispositivo, presentamos nuevas soluciones de bajo costo para la generación de texto a imagen controlable que se pueden integrar en modelos de difusión existentes y sus variantes de adaptación de rango bajo (LoRA).

Generación de texto a imagen con complementos de control ejecutándose en el dispositivo.

Antecedentes

Con los modelos de difusión, la generación de imágenes se modela como un proceso iterativo de eliminación de ruido. Partiendo de una imagen de ruido, en cada paso, el modelo de difusión elimina gradualmente el ruido de la imagen para revelar una imagen del concepto objetivo. La investigación muestra que aprovechar la comprensión del lenguaje a través de indicaciones de texto puede mejorar en gran medida la generación de imágenes. Para la generación de texto a imagen, la incrustación de texto se conecta al modelo a través de capas de atención cruzada. Sin embargo, alguna información es difícil de describir mediante indicaciones de texto, por ejemplo, la posición y la pose de un objeto. Para abordar este problema, los investigadores añaden modelos adicionales a la difusión para inyectar información de control desde una imagen de condición.

Los enfoques comunes para la generación controlada de texto a imagen incluyen Plug-and-Play, ControlNet y T2I Adapter. Plug-and-Play aplica un enfoque de inversión de modelo de difusión de desenfoque implícito ampliamente utilizado (DDIM) que revierte el proceso de generación a partir de una imagen de entrada para derivar una entrada de ruido inicial, y luego utiliza una copia del modelo de difusión (860M parámetros para Stable Diffusion 1.5) para codificar la condición a partir de una imagen de entrada. Plug-and-Play extrae características espaciales con autoatención de la difusión copiada y las inyecta en la difusión de texto a imagen. ControlNet crea una copia entrenable del codificador de un modelo de difusión, que se conecta a través de una capa de convolución con parámetros inicializados en cero para codificar información de condicionamiento que se transmite a las capas del decodificador. Sin embargo, como resultado, el tamaño es grande, la mitad del modelo de difusión (430M parámetros para Stable Diffusion 1.5). T2I Adapter es una red más pequeña (77M parámetros) y logra efectos similares en la generación controlable. T2I Adapter solo toma la imagen de condición como entrada y su salida se comparte en todas las iteraciones de difusión. Sin embargo, el modelo de adaptador no está diseñado para dispositivos portátiles.

Los complementos de difusión de MediaPipe

Para hacer que la generación condicionada sea eficiente, personalizable y escalable, diseñamos el complemento de difusión de MediaPipe como una red separada que es:

  • Enchufable: Se puede conectar fácilmente a un modelo base pre-entrenado.
  • Entrenado desde cero: No utiliza pesos pre-entrenados del modelo base.
  • Portátil: Se ejecuta fuera del modelo base en dispositivos móviles, con un costo insignificante en comparación con la inferencia del modelo base.
Método Tamaño de Parámetros Enchufable Desde Cero Portátil
Plug-and-Play 860M* ✔️
ControlNet 430M* ✔️
T2I Adapter 77M ✔️ ✔️
Complemento de MediaPipe 6M ✔️ ✔️ ✔️
Comparación de Plug-and-Play, ControlNet, Adaptador T2I y el complemento de difusión de MediaPipe. * El número varía dependiendo de los detalles del modelo de difusión.

El complemento de difusión de MediaPipe es un modelo portátil en el dispositivo para la generación de texto a imagen. Extrae características de múltiples escalas de una imagen de condicionamiento, las cuales se agregan al codificador de un modelo de difusión en niveles correspondientes. Al conectarse a un modelo de difusión de texto a imagen, el modelo del complemento puede proporcionar una señal de condicionamiento adicional para la generación de imágenes. Diseñamos la red del complemento para que sea un modelo liviano con solo 6M de parámetros. Utiliza convoluciones de profundidad y cuellos de botella invertidos de MobileNetv2 para una inferencia rápida en dispositivos móviles.

Visión general del complemento del modelo de difusión de MediaPipe. El complemento es una red separada, cuya salida se puede conectar a un modelo pre-entrenado de generación de texto a imagen. Las características extraídas por el complemento se aplican a la capa de muestreo descendente asociada del modelo de difusión (azul).

A diferencia de ControlNet, inyectamos las mismas características de control en todas las iteraciones de difusión. Es decir, solo ejecutamos el complemento una vez para una generación de imagen, lo que ahorra cálculos. Ilustramos algunos resultados intermedios de un proceso de difusión a continuación. El control es efectivo en cada paso de difusión y permite una generación controlada incluso en los primeros pasos. Más iteraciones mejoran la alineación de la imagen con la indicación de texto y generan más detalles.

Ilustración del proceso de generación utilizando el complemento de difusión de MediaPipe.

Ejemplos

En este trabajo, desarrollamos complementos para un modelo de generación de texto a imagen basado en difusión con MediaPipe Face Landmark , MediaPipe Holistic Landmark , mapas de profundidad y bordes de Canny . Para cada tarea, seleccionamos alrededor de 100K imágenes de un conjunto de datos de imágenes y texto a escala web , y calculamos señales de control utilizando soluciones de MediaPipe correspondientes. Utilizamos descripciones refinadas de PaLI para entrenar los complementos.

Face Landmark

La tarea de MediaPipe Face Landmarker calcula 478 landmarks (con atención) de un rostro humano. Utilizamos las utilidades de dibujo en MediaPipe para renderizar un rostro, incluyendo el contorno del rostro, boca, ojos, cejas e iris, con diferentes colores. La siguiente tabla muestra muestras generadas aleatoriamente condicionadas por la malla facial y las indicaciones. Como comparación, tanto ControlNet como el complemento pueden controlar la generación de texto a imagen con condiciones dadas.

Complemento de landmarks faciales para la generación de texto a imagen, comparado con ControlNet.

Marcador Holístico

La tarea de Marcador Holístico de MediaPipe incluye puntos de referencia de la postura corporal, las manos y la malla facial. A continuación, generamos diversas imágenes estilizadas condicionadas a las características holísticas.

Plugin de marcador holístico para generación de texto a imagen.

Profundidad

Plugin de profundidad para generación de texto a imagen.

Borde Canny

Plugin de borde Canny para generación de texto a imagen.

Evaluación

Realizamos un estudio cuantitativo del plugin de marcador facial para demostrar el rendimiento del modelo. El conjunto de datos de evaluación contiene 5K imágenes humanas. Comparamos la calidad de generación medida por las métricas ampliamente utilizadas, Distancia de Inception Fréchet (FID) y puntuaciones CLIP. El modelo base es un modelo de difusión pre-entrenado de texto a imagen. Aquí utilizamos Stable Diffusion v1.5.

Como se muestra en la siguiente tabla, tanto ControlNet como el plugin de difusión MediaPipe producen una calidad de muestra mucho mejor que el modelo base, en términos de FID y puntuaciones CLIP. A diferencia de ControlNet, que debe ejecutarse en cada paso de difusión, el plugin de MediaPipe solo se ejecuta una vez por cada imagen generada. Medimos el rendimiento de los tres modelos en un servidor (con GPU Nvidia V100) y en un teléfono móvil (Galaxy S23). En el servidor, ejecutamos los tres modelos con 50 pasos de difusión, y en el móvil, ejecutamos 20 pasos de difusión utilizando la aplicación de generación de imágenes de MediaPipe. En comparación con ControlNet, el plugin de MediaPipe muestra una clara ventaja en eficiencia de inferencia al tiempo que conserva la calidad de la muestra.

Modelo FID↓ CLIP↑ Tiempo de Inferencia (s)
Nvidia V100 Galaxy S23
Base 10.32 0.26 5.0 11.5
Base + ControlNet 6.51 0.31 7.4 (+48%) 18.2 (+58.3%)
Base + Plugin de MediaPipe 6.50 0.30 5.0 (+0.2%) 11.8 (+2.6%)
Comparación cuantitativa en FID, CLIP y tiempo de inferencia.

Probamos el rendimiento del complemento en una amplia gama de dispositivos móviles, desde gama media hasta gama alta. Enumeramos los resultados en algunos dispositivos representativos en la siguiente tabla, que abarca tanto Android como iOS.

Dispositivo Android iOS
Pixel 4 Pixel 6 Pixel 7 Galaxy S23 iPhone 12 Pro iPhone 13 Pro
Tiempo (ms) 128 68 50 48 73 63
Tiempo de inferencia (ms) del complemento en diferentes dispositivos móviles.

Conclusión

En este trabajo, presentamos MediaPipe, un complemento portátil para la generación condicionada de texto a imagen. Inyecta características extraídas de una imagen de condición en un modelo de difusión y controla la generación de imágenes en consecuencia. Los complementos portátiles se pueden conectar a modelos de difusión preentrenados que se ejecutan en servidores o dispositivos. Al ejecutar la generación de texto a imagen y los complementos completamente en el dispositivo, permitimos aplicaciones más flexibles de IA generativa.

Agradecimientos

Queremos agradecer a todos los miembros del equipo que contribuyeron a este trabajo: Raman Sarokin y Juhyun Lee por la solución de inferencia de GPU; Khanh LeViet, Chuo-Ling Chang, Andrei Kulik y Matthias Grundmann por su liderazgo. Un agradecimiento especial a Jiuqiang Tang, Joe Zou y Lu wang, quienes hicieron posible esta tecnología y todas las demostraciones en el dispositivo.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Geoffrey Hinton sobre la Promesa y los Riesgos de la IA Avanzada

El científico informático del Reino Unido y ganador del Premio Turing ACM A.M. 2019, Geoffrey Hinton, dijo que la int...

Inteligencia Artificial

Creando un Agente LLAma 2 Empoderado con Conocimiento de Wikipedia

Los Modelos de Lenguaje Grandes (LLMs) son una de las tendencias más populares en IA. Han demostrado impresionantes c...

Inteligencia Artificial

AI 'Avance' Red neuronal tiene capacidad similar a la humana para generalizar el lenguaje

Una inteligencia artificial basada en redes neuronales supera a ChatGPT en la capacidad de incorporar rápidamente nue...

Inteligencia Artificial

Cómo generar audio utilizando el modelo de IA Bark de texto a voz

Introducción Bark es un modelo de texto a audio de código abierto y completamente generativo creado por Suno.ai que p...

Inteligencia Artificial

Snowflake vs. Data Bricks Compitiendo para crear la mejor plataforma de datos en la nube

¿Quieres entrar en la carrera por la mejor plataforma de datos en la nube? Echa un vistazo a la diferencia entre Snow...