Cache Me if You Can: Versnelling van Diffusiemodellen via Blokcaching
Cache Me if You Can: Accelerating Diffusion Models through Block Caching
December 6, 2023
Auteurs: 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
Samenvatting
Diffusiemodellen hebben recentelijk een revolutie teweeggebracht op het gebied van beeldgeneratie dankzij hun vermogen om fotorealistische beelden te genereren. Een van de grootste nadelen van diffusiemodellen is echter dat het proces van beeldgeneratie kostbaar is. Een groot beeld-naar-beeld netwerk moet vele malen worden toegepast om een beeld iteratief te verfijnen vanuit willekeurige ruis. Hoewel veel recente werken technieken voorstellen om het aantal benodigde stappen te verminderen, behandelen ze het onderliggende denoiserende netwerk over het algemeen als een black box. In dit werk onderzoeken we het gedrag van de lagen binnen het netwerk en ontdekken dat 1) de output van de lagen soepel verloopt in de tijd, 2) de lagen duidelijke patronen van verandering vertonen, en 3) de verandering van stap tot stap vaak zeer klein is. We veronderstellen dat veel laagberekeningen in het denoiserende netwerk overbodig zijn. Hierop voortbouwend introduceren we block caching, waarbij we outputs van laagblokken uit vorige stappen hergebruiken om de inferentie te versnellen. Bovendien stellen we een techniek voor om automatisch cacheschema's te bepalen op basis van de veranderingen van elk blok over de tijdstappen heen. In onze experimenten tonen we aan de hand van FID, menselijke evaluatie en kwalitatieve analyse aan dat Block Caching het mogelijk maakt om beelden met een hogere visuele kwaliteit te genereren tegen dezelfde rekenkosten. We demonstreren dit voor verschillende state-of-the-art modellen (LDM en EMU) en solvers (DDIM en 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).