Da GaLore a WeLore: Come i Pesi a Basso Rango Emergono in Modo Non Uniforme dai Gradienti a Basso Rango
From GaLore to WeLore: How Low-Rank Weights Non-uniformly Emerge from Low-Rank Gradients
July 15, 2024
Autori: Ajay Jaiswal, Lu Yin, Zhenyu Zhang, Shiwei Liu, Jiawei Zhao, Yuandong Tian, Zhangyang Wang
cs.AI
Abstract
I moderni Large Language Models (LLM) sono composti da matrici con miliardi di elementi, rendendo il loro immagazzinamento e elaborazione piuttosto impegnativi in termini di risorse computazionali e utilizzo della memoria. Essendo significativamente grandi, tali matrici possono spesso essere espresse in formato a basso rango, con il potenziale di ridurre i requisiti di risorse. A differenza dei lavori precedenti che si concentrano sullo sviluppo di nuovi algoritmi di decomposizione matriciale, in questo lavoro studiamo innanzitutto l'emergere di strutture a basso rango attraverso le matrici all'interno dei diversi strati degli LLM e stabiliamo una relazione consequenziale tra la dinamica del gradiente e l'emergente espressività a basso rango delle matrici. Le nostre scoperte rivelano che diversi strati mostrano livelli variabili di struttura a basso rango convergente, rendendo necessaria una riduzione non uniforme del rango tra di essi per minimizzare il calo di prestazioni dovuto alla compressione. In vista di ciò, presentiamo Weight Low-Rank Projection (WeLore) che unifica la compressione dei pesi e il fine-tuning efficiente in termini di memoria come UNO, in modo agnostico ai dati e in un'unica passata. WeLore sfrutta la distribuzione a coda pesante dei valori singolari per identificare un rapporto di riduzione del rango adeguato per le matrici all'interno degli LLM. Andando oltre il semplice utilizzo come tecnica di compressione, WeLore classifica le matrici dei pesi in Componenti a Basso Rango (LRC) e Componenti Non a Basso Rango (N-LRC) in base alla loro capacità di esprimersi come a basso rango. La nostra prospettiva sul gradiente e ampi esperimenti illustrano che le LRC tendono ad avere migliori capacità di fine-tuning e possono imitare da vicino (a volte superare) la traiettoria della perdita di addestramento e le prestazioni del fine-tuning completo con una riduzione significativa dell'impronta di memoria e calcolo. Ad esempio, il fine-tuning di un modello LLaMa-2 7B compresso al 50% utilizzando solo una frazione dei parametri nelle LRC (WeLore) può superare il suo fine-tuning completo con un throughput ~3x migliore e un requisito GPU di ~0.6x. I nostri codici sono disponibili all'indirizzo https://github.com/VITA-Group/welore.
English
Modern Large Language Models (LLMs) are composed of matrices with billions of
elements, making their storage and processing quite demanding in terms of
computational resources and memory usage. Being significantly large, such
matrices can often be expressed in low-rank format with potential to relax
resource requirements. Unlike prior works which focus on developing novel
matrix decomposition algorithms, in this work we first study the emergence of
low-rank structures across matrices within different layers of LLMs and
establish a consequential relationship between the gradient dynamics and
emerging low-rank expressiveness of matrices. Our findings reveal that
different layers exhibit varying levels of converged low-rank structure,
necessitating a non-uniform rank reduction across them to minimize performance
drop due to compression. In view of that, we present Weight Low-Rank Projection
(WeLore) that unifies weight compression and memory-efficient fine-tuning as
ONE, in a data-agnostic and one-shot way. WeLore capitalizes the heavy-tail
distribution of singular values to identify a suitable rank reduction ratio for
matrices within LLMs. Going beyond only as a compression technique, WeLore
categorizes weight matrices into Low-rank Components (LRCs) and Non-Low-rank
Components (N-LRCs) based on their ability to express themselves as low-rank.
Our gradient perspective and extensive experiments illustrate that LRCs tend to
have better finetuning capabilities and can closely mimic (sometimes
outperform) the training loss trajectory and performance of full-finetuning
with notable memory and compute footprint reduction. For example, finetuning a
50\% compressed LLaMa-2 7B model using only a fraction of parameters in LRCs
(WeLore) can outperform its full finetuning with ~3x better throughput and
~0.6x GPU requirement. Our codes are available at
https://github.com/VITA-Group/welore