ChatPaper.aiChatPaper

Кэшируй меня, если сможешь: ускорение диффузионных моделей с помощью блочного кэширования

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

December 6, 2023
Авторы: 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

Аннотация

Диффузионные модели недавно произвели революцию в области синтеза изображений благодаря своей способности генерировать фотореалистичные изображения. Однако одним из основных недостатков диффузионных моделей является высокая стоимость процесса генерации изображений. Большая сеть для преобразования изображений должна применяться многократно для итеративного уточнения изображения из случайного шума. Хотя многие недавние работы предлагают методы для сокращения количества необходимых шагов, они обычно рассматривают базовую сеть для удаления шума как "черный ящик". В данной работе мы исследуем поведение слоев внутри сети и обнаруживаем, что 1) выходные данные слоев плавно изменяются со временем, 2) слои демонстрируют различные паттерны изменений и 3) изменения от шага к шагу часто очень малы. Мы предполагаем, что многие вычисления в слоях сети для удаления шума являются избыточными. Используя это, мы вводим метод блокового кэширования, в котором повторно используем выходные данные блоков слоев из предыдущих шагов для ускорения вывода. Кроме того, мы предлагаем метод автоматического определения расписаний кэширования на основе изменений каждого блока по временным шагам. В наших экспериментах мы показываем с помощью FID, оценки людьми и качественного анализа, что блоковое кэширование позволяет генерировать изображения с более высоким визуальным качеством при тех же вычислительных затратах. Мы демонстрируем это для различных современных моделей (LDM и EMU) и решателей (DDIM и 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