ChatPaper.aiChatPaper

Cache mich, wenn du kannst: Beschleunigung von Diffusionsmodellen durch Block-Caching

Cache Me if You Can: Accelerating Diffusion Models through Block Caching

December 6, 2023
Autoren: 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

Zusammenfassung

Diffusionsmodelle haben kürzlich das Feld der Bildsynthese revolutioniert, da sie in der Lage sind, fotorealistische Bilder zu erzeugen. Ein wesentlicher Nachteil von Diffusionsmodellen besteht jedoch darin, dass der Bildgenerierungsprozess rechenintensiv ist. Ein großes Bild-zu-Bild-Netzwerk muss viele Male angewendet werden, um ein Bild iterativ aus zufälligem Rauschen zu verfeinern. Obwohl viele aktuelle Arbeiten Techniken vorschlagen, um die Anzahl der erforderlichen Schritte zu reduzieren, behandeln sie das zugrunde liegende Entrauschungsnetzwerk in der Regel als Blackbox. In dieser Arbeit untersuchen wir das Verhalten der Schichten innerhalb des Netzwerks und stellen fest, dass 1) die Ausgaben der Schichten sich im Laufe der Zeit glatt verändern, 2) die Schichten deutliche Veränderungsmuster aufweisen und 3) die Veränderung von Schritt zu Schritt oft sehr gering ist. Wir stellen die Hypothese auf, dass viele Schichtberechnungen im Entrauschungsnetzwerk redundant sind. Dies nutzend, führen wir Block-Caching ein, bei dem wir Ausgaben von Schichtblöcken aus vorherigen Schritten wiederverwenden, um die Inferenz zu beschleunigen. Darüber hinaus schlagen wir eine Technik vor, um Caching-Pläne automatisch basierend auf den Veränderungen jedes Blocks über die Zeitschritte hinweg zu bestimmen. In unseren Experimenten zeigen wir durch FID, menschliche Bewertung und qualitative Analyse, dass Block-Caching die Erzeugung von Bildern mit höherer visueller Qualität bei gleichen Rechenkosten ermöglicht. Wir demonstrieren dies für verschiedene state-of-the-art Modelle (LDM und EMU) und Solver (DDIM und 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).
PDF210December 15, 2024