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
Potatura dei Token per un Caching Migliore: Accelerazione 9× su Stable Diffusion Gratuita
Stable Diffusion ha ottenuto notevoli successi nel campo della generazione di immagini da testo, tuttavia il suo meccanismo iterativo di denoising comporta elevati costi computazionali e velocità di generazione lenta. Sebbene metodi come il caching delle caratteristiche abbiano attirato attenzione per la loro efficacia e semplicità, il semplice riutilizzo delle caratteristiche calcolate in passi temporali precedenti causa la similarità delle caratteristiche tra passi temporali adiacenti, riducendo la dinamicità delle caratteristiche nel tempo e compromettendo infine la qualità dell'immagine generata. Questo articolo propone un metodo di potatura dei token consapevole della dinamicità (DaTo) per affrontare i limiti del caching delle caratteristiche. DaTo pota selettivamente i token con dinamicità inferiore, consentendo solo ai token ad alta dinamicità di partecipare ai livelli di auto-attenzione, estendendo così la dinamicità delle caratteristiche tra i passi temporali. Quando applicato a Stable Diffusion su ImageNet, il metodo raggiunge un'accelerazione di 9×, mentre l'FID diminuisce di 0,33; su COCO-30k si osserva un'accelerazione di 7×, con una diminuzione significativa dell'FID di 2,17.
I modelli di diffusione hanno compiuto progressi significativi nel campo della modellazione generativa, con applicazioni diffuse nella generazione di immagini da testo, generazione di video e altri compiti. Tuttavia, il meccanismo iterativo di denoising dei modelli di diffusione comporta enormi costi computazionali e velocità di generazione lenta, limitando applicazioni più ampie.
I metodi attuali per accelerare i modelli di diffusione includono principalmente:
Riduzione dei passi di campionamento: come campionatori veloci DDIM
Riduzione del costo computazionale per passo: inclusi distillazione della conoscenza, potatura strutturale, quantizzazione, potatura dei token e caching delle caratteristiche
Tra questi, il caching delle caratteristiche è ampiamente apprezzato per la sua efficacia e semplicità, poiché memorizza le caratteristiche calcolate in passi temporali precedenti e le riutilizza nei passi temporali successivi. Tuttavia, il riutilizzo delle caratteristiche forza caratteristiche di diversi passi temporali ad avere valori simili, riducendo la dinamicità delle caratteristiche lungo i passi temporali, compromettendo il processo di diffusione originale e riducendo così la qualità della generazione.
L'articolo osserva sperimentalmente che, rispetto a Stable Diffusion originale, il modello che utilizza il caching delle caratteristiche mostra una differenza significativamente ridotta nelle caratteristiche tra passi temporali adiacenti. Questo suscita una domanda critica: è possibile mantenere la corretta dinamicità delle caratteristiche mentre si esegue il caching delle caratteristiche?
Propone il metodo di potatura dei token consapevole della dinamicità (DaTo): potando selettivamente i token la cui dinamicità è stata ridotta dal caching delle caratteristiche in diversi passi temporali e ripristinandoli con token ad alta dinamicità, evita la diminuzione della qualità della generazione causata dal caching delle caratteristiche.
Progetta una strategia di ricerca evolutiva: propone di cercare la strategia ottimale di caching delle caratteristiche e potatura dei token attraverso metodi evolutivi, sfruttando pienamente il potenziale di DaTo.
Realizza miglioramenti significativi delle prestazioni: esperimenti estesi su Stable Diffusion e SDXL dimostrano che, senza addestramento e dati aggiuntivi, è possibile ottenere un'accelerazione fino a 9× su Stable Diffusion senza perdita di qualità della generazione.
Il compito di questo articolo è accelerare significativamente il processo di inferenza del modello Stable Diffusion mantenendo la qualità della generazione di immagini. L'input è un prompt di testo, l'output è l'immagine di alta qualità corrispondente, con il vincolo di non richiedere il riaddestrament del modello.
Punteggio di Differenza Temporale del Rumore: per il passo temporale t-esimo, calcola la differenza assoluta degli output dei due passi temporali adiacenti precedenti:
Selezione di Token Basata su Patch: divide l'immagine in patch non sovrapposte s×s, selezionando in ogni patch il token con il DiffScore più alto come token di base.
Allineamento CFG:
Per gestire la guida libera da classificatore (CFG), copia le posizioni dei token di base della generazione condizionata alla generazione non condizionata:
Rapporto di potatura r limitato a {0.3, 0.4, 0.5, 0.6, 0.7}
Algoritmo di Ricerca Evolutiva:
Utilizza l'algoritmo di ottimizzazione multi-obiettivo NSGA-II, con obiettivi di ottimizzazione che includono:
Latenza di inferenza
Qualità della generazione (FID)
Il processo di ricerca include operazioni evolutive standard come selezione, incrocio, mutazione, ottenendo infine la strategia ottimale consapevole del passo F(t).
Meccanismo di Ripristino della Dinamicità: attraverso la potatura selettiva dei token a bassa dinamicità e il ripristino con token ad alta dinamicità, ripristina con successo la distribuzione della dinamicità delle caratteristiche compromessa dal caching delle caratteristiche.
Framework Unificato di Caching-Potatura: combina il caching delle caratteristiche e la potatura dei token in un framework indipendente dall'addestramento, realizzando il riutilizzo delle informazioni a livello temporale e di token.
Ricerca di Strategie Adattive: per le diverse caratteristiche di ridondanza di diversi passi temporali, propone un metodo per cercare automaticamente la profondità di caching e il rapporto di potatura ottimali.
Efficacia del DiffScore:
In diverse impostazioni di caching e rapporti di potatura, l'uso di DiffScore migliora costantemente i punteggi FID, provando l'efficacia del punteggio di differenza temporale del rumore.
Impatto dell'Allineamento CFG:
Con l'aumento del rapporto di potatura, i benefici della configurazione di allineamento CFG aumentano gradualmente, con miglioramenti FID che variano da 13 a 30 punti con rapporti di potatura elevati (0.7).
Ripristino della Dinamicità delle Caratteristiche: DaTo ripristina con successo la distribuzione della differenza delle caratteristiche a livelli prossimi a quelli di Stable Diffusion originale
Effetto di Codifica Sparsa: la potatura moderata dei token e il caching delle caratteristiche possono migliorare le prestazioni del modello concentrandosi su caratteristiche critiche
Generalizzazione della Strategia: la strategia cercata su SD v1.5 si comporta bene su SDXL e altri dataset
Costo di Ricerca: sebbene ≤20 ore GPU sia accettabile, richiede comunque risorse computazionali aggiuntive
Dipendenza dall'Hardware: i miglioramenti delle prestazioni possono variare in base alla configurazione hardware
Limitazioni in Impostazioni Estreme: rapporti di potatura eccessivamente elevati o frequenze di aggiornamento della cache eccessivamente basse compromettono le prestazioni
L'articolo cita 46 riferimenti correlati, coprendo importanti lavori in più aree correlate come modelli di diffusione, riduzione dei token e meccanismi di caching, fornendo una base teorica solida e benchmark di confronto per questa ricerca.
Valutazione Complessiva: Questo è un articolo di alta qualità nel campo della visione artificiale, che propone una soluzione innovativa a un importante problema di accelerazione dei modelli di diffusione. La progettazione del metodo è ingegnosa, la valutazione sperimentale è completa e il valore pratico è notevole. Sebbene vi sia una certa insufficienza nella profondità dell'analisi teorica, il suo contributo effettivo e il suo impatto meritano riconoscimento.