Cachéame si puedes: Acelerando modelos de difusión mediante almacenamiento en caché por bloques
Cache Me if You Can: Accelerating Diffusion Models through Block Caching
December 6, 2023
Autores: Felix Wimbauer, Bichen Wu, Edgar Schoenfeld, Xiaoliang Dai, Ji Hou, Zijian He, Artsiom Sanakoyeu, Peizhao Zhang, Sam Tsai, Jonas Kohler, Christian Rupprecht, Daniel Cremers, Peter Vajda, Jialiang Wang
cs.AI
Resumen
Los modelos de difusión han revolucionado recientemente el campo de la síntesis de imágenes debido a su capacidad para generar imágenes fotorrealistas. Sin embargo, uno de los principales inconvenientes de los modelos de difusión es que el proceso de generación de imágenes es costoso. Una red grande de imagen a imagen debe aplicarse muchas veces para refinar iterativamente una imagen a partir de ruido aleatorio. Aunque muchos trabajos recientes proponen técnicas para reducir el número de pasos requeridos, generalmente tratan la red subyacente de eliminación de ruido como una caja negra. En este trabajo, investigamos el comportamiento de las capas dentro de la red y encontramos que 1) la salida de las capas cambia suavemente con el tiempo, 2) las capas muestran patrones distintos de cambio, y 3) el cambio de un paso a otro es a menudo muy pequeño. Planteamos la hipótesis de que muchos cálculos de las capas en la red de eliminación de ruido son redundantes. Aprovechando esto, introducimos el almacenamiento en caché de bloques, en el que reutilizamos las salidas de bloques de capas de pasos anteriores para acelerar la inferencia. Además, proponemos una técnica para determinar automáticamente los horarios de almacenamiento en caché basados en los cambios de cada bloque a lo largo de los pasos de tiempo. En nuestros experimentos, mostramos a través de FID, evaluación humana y análisis cualitativo que el almacenamiento en caché de bloques permite generar imágenes con mayor calidad visual al mismo costo computacional. Demostramos esto para diferentes modelos de última generación (LDM y EMU) y solucionadores (DDIM y DPM).
English
Diffusion models have recently revolutionized the field of image synthesis
due to their ability to generate photorealistic images. However, one of the
major drawbacks of diffusion models is that the image generation process is
costly. A large image-to-image network has to be applied many times to
iteratively refine an image from random noise. While many recent works propose
techniques to reduce the number of required steps, they generally treat the
underlying denoising network as a black box. In this work, we investigate the
behavior of the layers within the network and find that 1) the layers' output
changes smoothly over time, 2) the layers show distinct patterns of change, and
3) the change from step to step is often very small. We hypothesize that many
layer computations in the denoising network are redundant. Leveraging this, we
introduce block caching, in which we reuse outputs from layer blocks of
previous steps to speed up inference. Furthermore, we propose a technique to
automatically determine caching schedules based on each block's changes over
timesteps. In our experiments, we show through FID, human evaluation and
qualitative analysis that Block Caching allows to generate images with higher
visual quality at the same computational cost. We demonstrate this for
different state-of-the-art models (LDM and EMU) and solvers (DDIM and DPM).