noticias

¡118 veces más barato que la Difusión Estable! 1.890 dólares para entrenar un modelo gráfico vicenciano de alta calidad con 1.160 millones de parámetros

2024-08-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Nuevo informe de sabiduría

Editor: alan

[Introducción a la Nueva Sabiduría]Recientemente, investigadores de la Universidad de California, Irvine y otras instituciones han reducido el costo de capacitación del modelo de difusión a 1.890 dólares estadounidenses utilizando estrategias como enmascaramiento retardado, MoE y expansión jerárquica.

¿Cuánto cuesta entrenar un modelo de difusión?

El método más barato anterior (Wuerstchen) costaba 28.400 dólares, y modelos como Stable Diffusion son un orden de magnitud más caros.

En la era de los modelos grandes, la mayoría de la gente simplemente no puede darse el lujo de jugar con ellos. Si desea todo tipo de damas vicencianas, debe confiar en los fabricantes para que sigan adelante.

Para reducir este enorme coste, los investigadores han probado varias soluciones.


Por ejemplo, el modelo de difusión original tarda unos 1.000 pasos para pasar del ruido a la imagen, pero se ha reducido a unos 20 pasos o incluso menos.

Cuando el módulo básico en el modelo de difusión fue reemplazado gradualmente por DiT (Transformer) de Unet (CNN), también siguieron algunas optimizaciones basadas en las características de Transformer.


Por ejemplo, cuantificación, como omitir algunos cálculos redundantes en Atención, como la canalización.

Recientemente, investigadores de la Universidad de California, Irvine y otras instituciones han dado un gran paso adelante en el objetivo de "ahorrar dinero":


Dirección del artículo: https://arxiv.org/abs/2407.15811

——¡Entrene un modelo de difusión de 1,16 mil millones de parámetros desde cero por solo $ 1,890!

En comparación con SOTA, se ha mejorado en un orden de magnitud, lo que permite a la gente común ver la esperanza de probar el entrenamiento previo.

Más importante aún, la tecnología de reducción de costos no afecta el rendimiento del modelo. 1,16 mil millones de parámetros dan los siguientes muy buenos resultados.



Además de la apariencia, los indicadores de datos del modelo también son excelentes. Por ejemplo, la puntuación FID que se muestra en la siguiente tabla es muy cercana a Stable Diffusion 1.5 y DALL·E 2.

Por el contrario, el plan de reducción de costos de Wuerstchen resultó en puntajes de exámenes menos que ideales.


Consejos para ahorrar dinero

Con el objetivo de "Estirar cada dólar", los investigadores comenzaron con DiT, el módulo básico del modelo de difusión.

En primer lugar, la longitud de la secuencia es enemiga del costo computacional de Transformer y debe eliminarse.

Para las imágenes, es necesario minimizar la cantidad de parches que participan en los cálculos (y también reducir la sobrecarga de memoria) sin afectar el rendimiento.


Hay dos formas de reducir la cantidad de mosaicos de imágenes. Una es aumentar el tamaño de cada bloque y la otra es eliminar parte del parche (máscara).


Debido a que el primero reducirá significativamente el rendimiento del modelo, consideramos el método de enmascaramiento.

La máscara más ingenua (enmascaramiento de token ingenuo) es similar al entrenamiento recortado aleatoriamente en UNet convolucional, pero permite el entrenamiento en áreas no contiguas de la imagen.


El método más avanzado anterior (MaskDiT) agrega una estructura de restauración y reconstrucción antes de la salida y la entrena mediante una función de pérdida adicional, con la esperanza de compensar la información perdida mediante el aprendizaje.


Ambas máscaras descartan la mayoría de los parches al principio para reducir los costos computacionales. La pérdida de información reduce significativamente el rendimiento general del Transformer. Incluso si MaskDiT intenta compensarlo, no logra mucha mejora.

——No es recomendable perder información, entonces, ¿cómo podemos reducir la entrada sin perder información?

máscara de retraso

Este artículo propone una estrategia de enmascaramiento diferido, que utiliza un mezclador de parches para el preprocesamiento antes de la máscara e incorpora la información de los parches descartados en los parches supervivientes, reduciendo así significativamente el impacto de la degradación del rendimiento de las máscaras altas.


En esta arquitectura, el mezclador de parches se implementa mediante una combinación de capa de atención y capa de retroalimentación. La función de pérdida de todo el modelo es:

En comparación con MaskDiT, aquí no se requiere ninguna función de pérdida adicional y el diseño general y la capacitación son más simples.

El mezclador en sí tiene una estructura muy liviana y cumple con los criterios de ahorro de dinero.

sintonia FINA

Dado que una proporción de enmascaramiento muy alta reducirá significativamente la capacidad del modelo de difusión para aprender la estructura global en la imagen e introducir un cambio de distribución del entrenamiento a la prueba, el autor realizó una pequeña cantidad de ajuste fino (desenmascarar) después del entrenamiento previo. (mascarilla) ).

Además, el ajuste puede mitigar cualquier artefacto de generación no deseado causado por el uso de máscaras.

MoE y extensiones en capas

MoE puede aumentar los parámetros y las capacidades expresivas del modelo sin aumentar significativamente el costo de capacitación.

Los autores utilizan una capa MoE simplificada basada en enrutamiento seleccionado por expertos, en la que cada experto determina la ruta a su token sin la necesidad de ninguna función de pérdida auxiliar adicional para equilibrar la carga entre los expertos.


Además, los autores también consideraron un método de escalado jerárquico que aumenta linealmente el ancho del bloque Transformer (es decir, el tamaño de la capa oculta en la capa de atención y la capa de retroalimentación).

Dado que las capas más profundas en los modelos de visión tienden a aprender características más complejas, el uso de más parámetros en capas más profundas conducirá a un mejor rendimiento.

Configuración experimental

El autor utiliza dos variantes de DiT: DiT-Tiny/2 y DiT-Xl/2, con un tamaño de parche de 2.

Todos los modelos se entrenaron utilizando el optimizador AdamW con caída de la tasa de aprendizaje del coseno y caída de peso alta.


La interfaz del modelo utiliza el codificador automático variacional (VAE) de cuatro canales en el modelo Stable-Diffusion-XL para extraer características de la imagen. Además, el rendimiento del último VAE de 16 canales en entrenamiento a gran escala (versión guardada). ) también fue probado.


Los autores utilizan el marco EDM como entorno de entrenamiento unificado para todos los modelos de difusión, y utilizan puntuaciones FID y CLIP para medir el rendimiento del modelo de generación de imágenes.

Se seleccionó el modelo CLIP más utilizado para el codificador de texto. Aunque los modelos más grandes, como el T5-xxl, funcionan mejor en tareas desafiantes como la síntesis de texto, no se utilizan aquí con el fin de ahorrar dinero.

conjunto de datos de entrenamiento

Se utilizan tres conjuntos de datos de imágenes reales (Conceptual Captions, Segment Anything, TextCaps), que contienen 22 millones de pares imagen-texto.

Dado que SA1B no proporciona subtítulos reales, aquí se utilizan subtítulos sintéticos generados por el modelo LLaVA. Los autores también agregaron dos conjuntos de datos de imágenes sintéticas que contienen 15 millones de pares de imagen y texto al entrenamiento a gran escala: JourneyDB y DiffusionDB.

Para la ablación a pequeña escala, los investigadores construyeron un conjunto de datos de texto a imagen llamado cifar-captions submuestreando imágenes de 10 clases CIFAR-10 del conjunto de datos más grande COYO-700M.

Evaluar

Todos los experimentos de evaluación se realizaron utilizando el modelo DiT-Tiny/2 y el conjunto de datos cifar-captions (resolución de 256 × 256).

Cada modelo fue entrenado para pasos de optimización de 60K utilizando el optimizador AdamW y una media móvil exponencial (coeficiente de suavizado de 0,995 para los últimos pasos de 10K).

máscara de retraso

La línea de base del experimento eligió el enmascaramiento Naive que mencionamos anteriormente, mientras que el enmascaramiento de retardo en este artículo agregó un mezclador de parches liviano, con una cantidad de parámetros inferior al 10% de la red troncal.

En términos generales, cuantos más parches se pierdan (alta proporción de enmascaramiento), peor será el rendimiento del modelo. Por ejemplo, el rendimiento de MaskDiT cae significativamente después de superar el 50%.

El experimento de comparación aquí utiliza los hiperparámetros predeterminados (tasa de aprendizaje de 1,6 × 10e-4, caída de peso de 0,01 y tasa de aprendizaje del coseno) para entrenar dos modelos.


Los resultados en la figura anterior muestran que el método de enmascaramiento de retraso ha mejorado en los tres indicadores de FID, Clip-FID y puntuación de Clip.

Además, la brecha de rendimiento con respecto a la línea de base se amplía a medida que aumenta la tasa de enmascaramiento. Cuando la tasa de enmascaramiento es del 75%, el enmascaramiento ingenuo reducirá la puntuación FID a 16,5, mientras que nuestro método alcanza 5,03, que está más cerca de la puntuación FID sin enmascaramiento (3,79).

hiperparámetros

Siguiendo la idea general de entrenar LLM, aquí comparamos la selección de hiperparámetros de las dos tareas.

Primero, en la capa de avance, la función de activación de SwiGLU es mejor que GELU. En segundo lugar, una mayor atenuación del peso conduce a un mejor rendimiento de generación de imágenes.


Además, a diferencia del entrenamiento LLM, el modelo de difusión de este artículo puede lograr un mejor rendimiento cuando se utiliza un coeficiente promedio móvil más alto para el momento de segundo orden (β) de AdamW.

Finalmente, los autores descubrieron que usar una pequeña cantidad de pasos de entrenamiento mientras se aumentaba la tasa de aprendizaje al valor máximo posible (hasta que el entrenamiento se volviera inestable) también mejoraba significativamente el rendimiento de generación de imágenes.

Diseño de mezclador

Generalmente es correcto trabajar duro para lograr milagros, y el autor también ha observado que el rendimiento del modelo continúa mejorando después de usar un mezclador de parches más grande.

Sin embargo, para ahorrar dinero, aquí todavía se elige una batidora pequeña.

Los autores modificaron la distribución del ruido a (−0,6, 1,2), lo que mejoró la alineación entre los subtítulos y la imagen generada.

Como se muestra en la figura siguiente, con una proporción de enmascaramiento del 75 %, el autor también estudió el impacto del uso de diferentes tamaños de parche.


Cuando el número de regiones continuas aumenta (los parches se hacen más grandes), el rendimiento del modelo disminuirá, por lo que se conserva la estrategia original de enmascarar aleatoriamente cada parche.

escalado en capas

Este experimento entrenó dos variantes de la arquitectura DiT-Tiny, una con ancho constante y la otra con una estructura escalada jerárquicamente.

Ambos métodos utilizan enmascaramiento ingenuo y ajustan el tamaño del transformador para garantizar que la potencia informática del modelo en los dos casos sea la misma, mientras se realizan los mismos pasos y tiempo de entrenamiento.


De los resultados de la tabla anterior, se puede ver que el método de escala jerárquico es mejor que el método de ancho constante de referencia en los tres indicadores de rendimiento, lo que indica que el método de escala jerárquico es más adecuado para enmascarar el entrenamiento de DiT.

Referencias:

https://arxiv.org/abs/2407.15811