Token Pruning for Caching Better: 9 Times Acceleration on Stable Diffusion for Free
Zhang, Xiao, Tang et al.
Stable Diffusion has achieved remarkable success in the field of text-to-image generation, with its powerful generative capabilities and diverse generation results making a lasting impact. However, its iterative denoising introduces high computational costs and slows generation speed, limiting broader adoption. The community has made numerous efforts to reduce this computational burden, with methods like feature caching attracting attention due to their effectiveness and simplicity. Nonetheless, simply reusing features computed at previous timesteps causes the features across adjacent timesteps to become similar, reducing the dynamics of features over time and ultimately compromising the quality of generated images. In this paper, we introduce a dynamics-aware token pruning (DaTo) approach that addresses the limitations of feature caching. DaTo selectively prunes tokens with lower dynamics, allowing only high-dynamic tokens to participate in self-attention layers, thereby extending feature dynamics across timesteps. DaTo combines feature caching with token pruning in a training-free manner, achieving both temporal and token-wise information reuse. Applied to Stable Diffusion on the ImageNet, our approach delivered a 9$\times$ speedup while reducing FID by 0.33, indicating enhanced image quality. On the COCO-30k, we observed a 7$\times$ acceleration coupled with a notable FID reduction of 2.17.
academic
Élagage de Tokens pour un Meilleur Caching : Accélération 9× sur Stable Diffusion Gratuitement
Stable Diffusion a remporté un succès remarquable dans le domaine de la génération d'images à partir de texte, mais son mécanisme itératif de débruitage entraîne des coûts de calcul élevés et une génération lente. Bien que des méthodes telles que le caching de caractéristiques aient attiré l'attention en raison de leur efficacité et de leur simplicité, la simple réutilisation des caractéristiques calculées aux étapes temporelles précédentes conduit à des caractéristiques similaires entre étapes temporelles adjacentes, réduisant la dynamique des caractéristiques au fil du temps et affectant finalement la qualité des images générées. Cet article propose une méthode d'élagage de tokens consciente de la dynamique (DaTo) pour résoudre les limitations du caching de caractéristiques. DaTo élague sélectivement les tokens ayant une dynamique faible, permettant uniquement aux tokens hautement dynamiques de participer aux couches d'auto-attention, étendant ainsi la dynamique des caractéristiques entre étapes temporelles. Lorsqu'elle est appliquée à Stable Diffusion sur ImageNet, cette méthode réalise une accélération 9×, tandis que le FID diminue de 0,33 ; une accélération 7× est observée sur COCO-30k, avec une diminution significative du FID de 2,17.
Les modèles de diffusion ont réalisé des progrès majeurs dans le domaine de la modélisation générative, avec des applications largement répandues dans la génération d'images à partir de texte, la génération vidéo et autres tâches. Cependant, le mécanisme itératif de débruitage des modèles de diffusion entraîne des coûts de calcul énormes et une génération lente, limitant leurs applications plus larges.
Les méthodes actuelles pour accélérer les modèles de diffusion incluent principalement :
Réduction du nombre d'étapes d'échantillonnage : comme les échantillonneurs rapides DDIM
Réduction du coût de calcul à chaque étape : incluant la distillation de connaissances, l'élagage structurel, la quantification, l'élagage de tokens et le caching de caractéristiques
Parmi ceux-ci, le caching de caractéristiques est populaire en raison de son efficacité et de sa simplicité, stockant les caractéristiques calculées aux étapes temporelles précédentes et les réutilisant aux étapes temporelles suivantes. Cependant, la réutilisation de caractéristiques force les caractéristiques à différentes étapes temporelles à avoir des valeurs similaires, réduisant la dynamique des caractéristiques le long des étapes temporelles, endommageant le processus de diffusion original et réduisant ainsi la qualité de génération.
L'article observe expérimentalement que, comparé au Stable Diffusion original, le modèle utilisant le caching de caractéristiques montre une différence de caractéristiques significativement réduite entre étapes temporelles adjacentes. Cela soulève une question clé : Est-il possible d'effectuer le caching de caractéristiques tout en maintenant la dynamique correcte des caractéristiques ?
Proposition de la méthode d'élagage de tokens consciente de la dynamique (DaTo) : en élaguant les tokens dont la dynamique est réduite par le caching de caractéristiques à différentes étapes temporelles et en les récupérant avec des tokens hautement dynamiques, évitant la dégradation de la qualité de génération causée par le caching de caractéristiques.
Conception d'une stratégie de recherche évolutive : proposition d'une méthode de recherche par évolution pour trouver les stratégies optimales de caching de caractéristiques et d'élagage de tokens, libérant pleinement le potentiel de DaTo.
Réalisation d'améliorations de performance significatives : les expériences étendues sur Stable Diffusion et SDXL montrent qu'une accélération jusqu'à 9× peut être obtenue sur Stable Diffusion sans entraînement ni données supplémentaires, avec une perte de qualité de génération minimale.
La tâche de cet article est d'accélérer significativement le processus d'inférence du modèle Stable Diffusion tout en maintenant la qualité de génération d'images. L'entrée est une invite textuelle, la sortie est l'image de haute qualité correspondante, avec la contrainte qu'aucun réentraînement du modèle n'est nécessaire.
Score de Différence de Bruit Temporel : Pour la t-ième étape temporelle, calculer la différence absolue des sorties des deux étapes temporelles adjacentes précédentes :
Sélection de Tokens Basée sur les Patches : Diviser l'image en patches non chevauchants s×s, sélectionner le token ayant le DiffScore le plus élevé dans chaque patch comme token de base.
Alignement CFG :
Pour traiter la guidance sans classificateur (CFG), copier les positions des tokens de base de la génération conditionnelle à la génération inconditionnelle :
Ratio d'élagage r limité à {0.3, 0.4, 0.5, 0.6, 0.7}
Algorithme de Recherche Évolutive :
Utiliser l'algorithme d'optimisation multi-objectif NSGA-II, avec les objectifs d'optimisation incluant :
Latence d'inférence
Qualité de génération (FID)
Le processus de recherche inclut les opérations évolutives standard telles que la sélection, le croisement et la mutation, obtenant finalement la stratégie optimale consciente des étapes F(t).
Mécanisme de Récupération de Dynamique : En élaguant sélectivement les tokens de faible dynamique et en les récupérant avec des tokens de haute dynamique, récupérer avec succès la distribution de dynamique des caractéristiques endommagée par le caching de caractéristiques.
Cadre Unifié de Caching-Élagage : Combiner le caching de caractéristiques et l'élagage de tokens dans un cadre indépendant de l'entraînement, réalisant la réutilisation d'informations au niveau temporel et au niveau des tokens.
Recherche de Stratégie Adaptative : Pour les différentes caractéristiques de redondance à différentes étapes temporelles, proposer une méthode pour rechercher automatiquement la profondeur de cache optimale et le ratio d'élagage.
Efficacité du DiffScore :
Avec différents paramètres de caching et ratios d'élagage, l'utilisation du DiffScore améliore constamment les scores FID, prouvant l'efficacité du score de différence de bruit temporel.
Impact de l'Alignement CFG :
Avec l'augmentation du ratio d'élagage, les gains apportés par la configuration d'alignement CFG augmentent progressivement, avec des améliorations FID allant de 13 à 30 points à des ratios d'élagage élevés (0.7).
Récupération de la Dynamique des Caractéristiques : DaTo récupère avec succès la distribution de différence de caractéristiques à un niveau proche du Stable Diffusion original
Effet de Codage Creux : L'élagage modéré de tokens et le caching de caractéristiques peuvent améliorer les performances du modèle en se concentrant sur les caractéristiques clés
Généralisation de la Stratégie : La stratégie recherchée sur SD v1.5 fonctionne bien sur SDXL et d'autres ensembles de données
Coût de Recherche : Bien que ≤20 heures GPU soit acceptable, cela nécessite toujours des ressources de calcul supplémentaires
Dépendance Matérielle : Les améliorations de performance peuvent varier selon la configuration matérielle
Limitations dans les Configurations Extrêmes : Des ratios d'élagage trop élevés ou une fréquence de mise à jour de cache trop basse endommagent les performances
L'article cite 47 travaux connexes, couvrant plusieurs domaines connexes tels que les modèles de diffusion, la réduction de tokens et les mécanismes de caching, fournissant une base théorique solide et des repères de comparaison pour cette recherche.
Évaluation Globale : Ceci est un article de haute qualité en vision par ordinateur, proposant une solution innovante à l'important problème de l'accélération des modèles de diffusion. La conception de la méthode est ingénieuse, l'évaluation expérimentale est complète et la valeur pratique est remarquable. Bien qu'il y ait une certaine insuffisance dans la profondeur de l'analyse théorique, ses contributions pratiques et son impact méritent d'être reconnus.