ChatPaper.aiChatPaper

Cache Me if You Can: Acelerando Modelos de Difusão através de Cache em Blocos

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

Resumo

Os modelos de difusão revolucionaram recentemente o campo de síntese de imagens devido à sua capacidade de gerar imagens foto-realistas. No entanto, um dos principais inconvenientes dos modelos de difusão é que o processo de geração de imagens é custoso. Uma grande rede de imagem para imagem precisa ser aplicada várias vezes para refinar iterativamente uma imagem a partir de ruído aleatório. Embora muitos trabalhos recentes proponham técnicas para reduzir o número de etapas necessárias, eles geralmente tratam a rede de remoção de ruído subjacente como uma caixa preta. Neste trabalho, investigamos o comportamento das camadas dentro da rede e descobrimos que 1) a saída das camadas muda suavemente ao longo do tempo, 2) as camadas exibem padrões distintos de mudança e 3) a mudança de uma etapa para outra é frequentemente muito pequena. Nossa hipótese é que muitos cálculos das camadas na rede de remoção de ruído são redundantes. Aproveitando isso, introduzimos o cache de blocos, no qual reutilizamos as saídas de blocos de camadas de etapas anteriores para acelerar a inferência. Além disso, propomos uma técnica para determinar automaticamente os cronogramas de cache com base nas mudanças de cada bloco ao longo das etapas de tempo. Em nossos experimentos, mostramos por meio de FID, avaliação humana e análise qualitativa que o Cache de Blocos permite gerar imagens com maior qualidade visual ao mesmo custo computacional. Demonstramos isso para diferentes modelos de última geração (LDM e EMU) e solucionadores (DDIM e 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).
PDF220December 15, 2024