Diffusion Accélérée : Repenser le Rôle de l'Encodeur UNet dans les Modèles de Diffusion
Faster Diffusion: Rethinking the Role of UNet Encoder in Diffusion Models
December 15, 2023
Auteurs: Senmao Li, Taihang Hu, Fahad Shahbaz Khan, Linxuan Li, Shiqi Yang, Yaxing Wang, Ming-Ming Cheng, Jian Yang
cs.AI
Résumé
L'un des composants clés des modèles de diffusion est l'UNet pour la prédiction du bruit. Bien que plusieurs travaux aient exploré les propriétés de base du décodeur de l'UNet, son encodeur reste largement inexploré. Dans ce travail, nous menons la première étude approfondie de l'encodeur de l'UNet. Nous analysons empiriquement les caractéristiques de l'encodeur et apportons des éclairages sur des questions importantes concernant leurs évolutions lors du processus d'inférence. En particulier, nous constatons que les caractéristiques de l'encodeur changent doucement, tandis que celles du décodeur présentent des variations substantielles à travers les différentes étapes temporelles. Cette observation nous a inspirés à omettre l'encodeur à certaines étapes temporelles adjacentes et à réutiliser cycliquement les caractéristiques de l'encodeur des étapes précédentes pour le décodeur. Sur la base de cette observation, nous introduisons un schéma de propagation de l'encodeur simple mais efficace pour accélérer l'échantillonnage de diffusion pour un ensemble diversifié de tâches. En tirant parti de notre schéma de propagation, nous sommes en mesure d'exécuter en parallèle le décodeur à certaines étapes temporelles adjacentes. De plus, nous introduisons une méthode d'injection de bruit a priori pour améliorer les détails texturaux dans l'image générée. Outre la tâche standard de génération texte-à-image, nous validons également notre approche sur d'autres tâches : texte-à-vidéo, génération personnalisée et génération guidée par référence. Sans utiliser aucune technique de distillation de connaissances, notre approche accélère l'échantillonnage des modèles Stable Diffusion (SD) et DeepFloyd-IF respectivement de 41 % et 24 %, tout en maintenant une performance de génération de haute qualité. Notre code est disponible sur 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}.