Diffusione Accelerata: Ripensare il Ruolo dell'Encoder UNet nei Modelli di Diffusione
Faster Diffusion: Rethinking the Role of UNet Encoder in Diffusion Models
December 15, 2023
Autori: Senmao Li, Taihang Hu, Fahad Shahbaz Khan, Linxuan Li, Shiqi Yang, Yaxing Wang, Ming-Ming Cheng, Jian Yang
cs.AI
Abstract
Uno dei componenti chiave all'interno dei modelli di diffusione è la UNet per la previsione del rumore. Mentre diversi lavori hanno esplorato le proprietà di base del decoder della UNet, il suo encoder rimane in gran parte inesplorato. In questo lavoro, conduciamo il primo studio completo dell'encoder della UNet. Analizziamo empiricamente le caratteristiche dell'encoder e forniamo approfondimenti su importanti questioni riguardanti i loro cambiamenti durante il processo di inferenza. In particolare, scopriamo che le caratteristiche dell'encoder cambiano in modo graduale, mentre le caratteristiche del decoder mostrano variazioni sostanziali tra diversi passaggi temporali. Questa scoperta ci ha ispirato a omettere l'encoder in determinati passaggi temporali adiacenti e a riutilizzare ciclicamente le caratteristiche dell'encoder dei passaggi temporali precedenti per il decoder. Inoltre, basandoci su questa osservazione, introduciamo uno schema di propagazione dell'encoder semplice ma efficace per accelerare il campionamento della diffusione per un insieme diversificato di task. Beneficiando del nostro schema di propagazione, siamo in grado di eseguire in parallelo il decoder in determinati passaggi temporali adiacenti. In aggiunta, introduciamo un metodo di iniezione del rumore precedente per migliorare i dettagli della texture nell'immagine generata. Oltre al task standard di generazione di immagini da testo, validiamo il nostro approccio anche su altri task: generazione di video da testo, generazione personalizzata e generazione guidata da riferimento. Senza utilizzare alcuna tecnica di distillazione della conoscenza, il nostro approccio accelera il campionamento sia del modello Stable Diffusion (SD) che del modello DeepFloyd-IF rispettivamente del 41% e del 24%, mantenendo un'elevata qualità di generazione. Il nostro codice è disponibile su https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.
English
One of the key components within diffusion models is the UNet for noise
prediction. While several works have explored basic properties of the UNet
decoder, its encoder largely remains unexplored. In this work, we conduct the
first comprehensive study of the UNet encoder. We empirically analyze the
encoder features and provide insights to important questions regarding their
changes at the inference process. In particular, we find that encoder features
change gently, whereas the decoder features exhibit substantial variations
across different time-steps. This finding inspired us to omit the encoder at
certain adjacent time-steps and reuse cyclically the encoder features in the
previous time-steps for the decoder. Further based on this observation, we
introduce a simple yet effective encoder propagation scheme to accelerate the
diffusion sampling for a diverse set of tasks. By benefiting from our
propagation scheme, we are able to perform in parallel the decoder at certain
adjacent time-steps. Additionally, we introduce a prior noise injection method
to improve the texture details in the generated image. Besides the standard
text-to-image task, we also validate our approach on other tasks:
text-to-video, personalized generation and reference-guided generation. Without
utilizing any knowledge distillation technique, our approach accelerates both
the Stable Diffusion (SD) and the DeepFloyd-IF models sampling by 41% and
24% respectively, while maintaining high-quality generation performance. Our
code is available in
https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.