Difusión más rápida: Replanteando el papel del codificador UNet en los modelos de difusión
Faster Diffusion: Rethinking the Role of UNet Encoder in Diffusion Models
December 15, 2023
Autores: Senmao Li, Taihang Hu, Fahad Shahbaz Khan, Linxuan Li, Shiqi Yang, Yaxing Wang, Ming-Ming Cheng, Jian Yang
cs.AI
Resumen
Uno de los componentes clave dentro de los modelos de difusión es la UNet para la predicción de ruido. Si bien varios trabajos han explorado las propiedades básicas del decodificador de la UNet, su codificador ha sido en gran medida poco estudiado. En este trabajo, realizamos el primer estudio exhaustivo del codificador de la UNet. Analizamos empíricamente las características del codificador y proporcionamos insights sobre preguntas importantes relacionadas con sus cambios durante el proceso de inferencia. En particular, encontramos que las características del codificador cambian suavemente, mientras que las características del decodificador muestran variaciones sustanciales en diferentes pasos de tiempo. Este hallazgo nos inspiró a omitir el codificador en ciertos pasos de tiempo adyacentes y reutilizar cíclicamente las características del codificador de los pasos de tiempo anteriores para el decodificador. Basándonos en esta observación, introducimos un esquema de propagación del codificador simple pero efectivo para acelerar el muestreo de difusión en un conjunto diverso de tareas. Al beneficiarnos de nuestro esquema de propagación, podemos ejecutar en paralelo el decodificador en ciertos pasos de tiempo adyacentes. Además, introducimos un método de inyección de ruido previo para mejorar los detalles de textura en la imagen generada. Además de la tarea estándar de texto a imagen, también validamos nuestro enfoque en otras tareas: texto a video, generación personalizada y generación guiada por referencia. Sin utilizar ninguna técnica de destilación de conocimiento, nuestro enfoque acelera el muestreo de los modelos Stable Diffusion (SD) y DeepFloyd-IF en un 41% y 24% respectivamente, manteniendo un rendimiento de generación de alta calidad. Nuestro código está disponible en https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.
English
One of the key components within diffusion models is the UNet for noise
prediction. While several works have explored basic properties of the UNet
decoder, its encoder largely remains unexplored. In this work, we conduct the
first comprehensive study of the UNet encoder. We empirically analyze the
encoder features and provide insights to important questions regarding their
changes at the inference process. In particular, we find that encoder features
change gently, whereas the decoder features exhibit substantial variations
across different time-steps. This finding inspired us to omit the encoder at
certain adjacent time-steps and reuse cyclically the encoder features in the
previous time-steps for the decoder. Further based on this observation, we
introduce a simple yet effective encoder propagation scheme to accelerate the
diffusion sampling for a diverse set of tasks. By benefiting from our
propagation scheme, we are able to perform in parallel the decoder at certain
adjacent time-steps. Additionally, we introduce a prior noise injection method
to improve the texture details in the generated image. Besides the standard
text-to-image task, we also validate our approach on other tasks:
text-to-video, personalized generation and reference-guided generation. Without
utilizing any knowledge distillation technique, our approach accelerates both
the Stable Diffusion (SD) and the DeepFloyd-IF models sampling by 41% and
24% respectively, while maintaining high-quality generation performance. Our
code is available in
https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.