PermLLM: Learnable Channel Permutation for N:M Sparse Large Language Models
Zou, Yin, Pei et al.
Channel permutation is a powerful technique for enhancing the accuracy of N:M sparse models by reordering the channels of weight matrices to prioritize the retention of important weights. However, traditional channel permutation methods rely on handcrafted quality metrics, which often fail to accurately capture the true impact of pruning on model performance. To address this limitation, we propose PermLLM, a novel post-training pruning framework that introduces learnable channel permutation (LCP) for N:M sparsity. LCP leverages Sinkhorn normalization to transform discrete permutation matrices into differentiable soft permutation matrices, enabling end-to-end optimization. Additionally, PermLLM incorporates an efficient block-wise channel permutation strategy, which significantly reduces the number of learnable parameters and computational complexity. PermLLM seamlessly integrates with existing one-shot pruning methods to adaptively optimize channel permutations, effectively mitigating pruning-induced errors. Extensive experiments on the LLaMA series, Qwen, and OPT models demonstrate that PermLLM achieves superior performance in optimizing N:M sparse models. The code is available at https://github.com/lanchengzou/PermLLM.
academic
PermLLM: Permutazione di Canale Apprendibile per Modelli di Linguaggio di Grandi Dimensioni N:M Sparsi
La permutazione di canale è una tecnica potente che migliora l'accuratezza dei modelli N:M sparsi riordinando i canali delle matrici di peso per preservare prioritariamente i pesi importanti. Tuttavia, i metodi tradizionali di permutazione di canale si basano su metriche di qualità progettate manualmente, che spesso non riescono a catturare accuratamente l'impatto reale della potatura sulle prestazioni del modello. Per affrontare questa limitazione, questo articolo propone PermLLM, un framework di potatura post-addestramento per la sparsità N:M che introduce la permutazione di canale apprendibile (LCP). LCP sfrutta la normalizzazione di Sinkhorn per convertire le matrici di permutazione discrete in matrici di permutazione soft differenziabili, consentendo l'ottimizzazione end-to-end. Inoltre, PermLLM adotta una strategia efficiente di permutazione di canale a blocchi, riducendo significativamente il numero di parametri apprendibili e la complessità computazionale. PermLLM si integra perfettamente con i metodi di potatura one-shot esistenti, ottimizzando adattivamente la permutazione di canale per mitigare efficacemente gli errori causati dalla potatura.
Problema Centrale: I metodi tradizionali di permutazione di canale utilizzano metriche di qualità progettate manualmente (come la somma dell'importanza dei pesi conservati) per valutare gli schemi di permutazione, ma esiste un divario tra queste metriche e l'errore di potatura effettivo.
Importanza: Con la rapida crescita della scala dei modelli di linguaggio di grandi dimensioni, le tecniche di compressione del modello (come la potatura) sono cruciali per il dispiegamento efficiente. La sparsità N:M attrae grande attenzione per la sua compatibilità hardware (supportata da NVIDIA Sparse Tensor Core).
Limitazioni Esistenti:
Le metriche di qualità progettate manualmente non riescono a riflettere accuratamente l'impatto reale della potatura sulle prestazioni del modello
I metodi tradizionali non riescono a catturare pienamente le complesse interazioni tra strati
Lo spazio di ottimizzazione è enorme (per Cin canali di input, ci sono Cin! possibili permutazioni)
L'articolo dimostra il problema attraverso un esempio concreto (Figura 1): la permutazione di canale che massimizza i punteggi di importanza può portare a errori di output maggiori, indicando una differenza sostanziale tra le metriche progettate manualmente e le prestazioni effettive.
Prima Proposta di Permutazione di Canale Apprendibile (LCP): Trasforma il problema discreto della permutazione di canale in un problema di ottimizzazione differenziabile, consentendo l'apprendimento end-to-end.
Tecnica di Normalizzazione di Sinkhorn: Sfrutta la normalizzazione di Sinkhorn per rilassare le matrici di permutazione discrete in matrici di permutazione soft, risolvendo il problema della non-differenziabilità delle matrici di permutazione.
Strategia di Permutazione di Canale a Blocchi: Riduce significativamente la complessità dei parametri da O(C²ᵢₙ) a O(Cᵢₙ×B) e la complessità computazionale da O(C³ᵢₙ) a O(Cᵢₙ×B²).
Progettazione di Framework Universale: Può integrarsi perfettamente con i metodi di potatura one-shot esistenti (Wanda, RIA, ecc.).
Prestazioni Sperimentali Eccellenti: Verifica l'efficacia del metodo su più modelli inclusi LLaMA, Qwen, OPT e altri.
Data una matrice di peso pre-addestrata W ∈ R^(Cout×Cin), l'obiettivo è trovare la matrice di permutazione ottimale P tale che la matrice di peso riordinata Ŵ = WP, dopo l'applicazione della sparsità N:M, possa minimizzare la differenza di output rispetto al modello denso originale.
dove Tr e Tc rappresentano rispettivamente le operazioni di normalizzazione per righe e colonne, e τ è il parametro di temperatura che controlla la durezza della matrice di permutazione soft.
Durante la propagazione in avanti, la matrice di permutazione soft viene indurita in una matrice di permutazione rigorosa tramite l'algoritmo ungherese:
P = argmax P∈P Tr(P⊤P̂)
Durante la retropropagazione, viene utilizzato uno stimatore straight-through (STE) per approssimare il gradiente: ∂P/∂P̂ = 1.
Per ridurre la complessità computazionale, i canali vengono divisi in più blocchi di dimensione B, con permutazione indipendente all'interno di ogni blocco:
PB = diag(P₁, P₂, ..., PNB)
ŴB = WPB
Il numero di parametri viene ridotto da C²ᵢₙ a Cᵢₙ×B, e la complessità computazionale viene ridotta da O(C³ᵢₙ) a O(Cᵢₙ×B²).
PermLLM può integrarsi con qualsiasi metodo di potatura one-shot basato su metriche di importanza. Per una data matrice di importanza S, la matrice di importanza permutata è Ŝ = SPB, e la maschera viene ottenuta nel modo seguente:
argmax M ∑∑ (M⊙Ŝ)i,kM:(k+1)M
Utilizza STE per gestire la non-differenziabilità dell'operazione argmax.
Utilizzando kernel CUDA personalizzati, l'operazione di permutazione di canale ottiene un'accelerazione di 84× rispetto all'implementazione PyTorch, con una velocità di inferenza complessiva migliorata di circa 1.67×.
L'articolo fornisce visualizzazioni di maschere (Figura 3), mostrando che la permutazione appresa da PermLLM produce modelli di conservazione dei pesi diversi dai metodi tradizionali, verificando l'efficacia dell'ottimizzazione end-to-end.
Costi Computazionali: Nonostante la strategia di blocco riduca significativamente la complessità, richiede ancora più risorse computazionali rispetto ai metodi tradizionali
Ambito di Applicazione: Il metodo è specificamente orientato alla potatura semi-strutturata, e l'applicazione ad altri compiti di compressione (come la quantizzazione) rimane da esplorare
Convergenza: Dimensioni di blocco maggiori richiedono più iterazioni per convergere
Forte Innovazione Tecnica: Trasforma per la prima volta il problema della permutazione di canale in un problema apprendibile end-to-end, con una rotta tecnica innovativa
Fondamenti Teorici Solidi: L'uso combinato della normalizzazione di Sinkhorn e STE è teoricamente ragionevole
Esperimenti Completi: Valutazione completa su più modelli, dataset e compiti
Implementazione Ingegneristica Perfezionata: Fornisce kernel CUDA personalizzati, considerando le esigenze di dispiegamento pratico
Scrittura Chiara: La struttura dell'articolo è chiara e i dettagli tecnici sono descritti accuratamente
Dispiegamento di Modelli di Linguaggio di Grandi Dimensioni: Particolarmente adatto a scenari di dispiegamento N:M sparso che richiedono accelerazione hardware
Ambienti con Risorse Limitate: Quando le risorse computazionali sono sufficienti, persegue una qualità di compressione più elevata
Prototipi di Ricerca: Fornisce fondamenti tecnici per ulteriore ricerca su potatura e compressione
L'articolo cita 66 riferimenti correlati, principalmente coprendo:
Lavori fondamentali su modelli di linguaggio di grandi dimensioni (GPT, LLaMA, ecc.)
Metodi classici di potatura di reti (Magnitude Pruning, SparseGPT, ecc.)
Ricerca correlata alla sparsità N:M (RIA, SR-STE, ecc.)
Fondamenti di teoria dell'ottimizzazione (Normalizzazione di Sinkhorn, Algoritmo Ungherese, ecc.)
Valutazione Complessiva: Questo è un articolo di alta qualità con forte innovazione tecnica, esperimenti completi e implementazione ingegneristica perfezionata. Trasformando il problema di ottimizzazione discreta in un problema di ottimizzazione continua, porta un progresso rivoluzionario nella tecnologia di permutazione di canale. Nonostante le limitazioni nei costi computazionali e nell'ambito di applicazione, il suo contributo nel campo della compressione dei modelli di linguaggio di grandi dimensioni è significativo, con importante valore accademico e pratico.