SwitchLoRA: Switched Low-Rank Adaptation Can Learn Full-Rank Information
Zhou, Wang, Xu
In the training of large language models, parameter-efficient techniques such as LoRA optimize memory usage and reduce communication overhead and memory usage during the fine-tuning phase. However, applying such techniques directly during the pre-training phase results in poor performance, primarily because the premature implementation of low-rank training significantly reduces model accuracy. Existing methods like ReLoRA and GaLore have attempted to address this challenge by updating the low-rank subspace. However, they still fall short of achieving the accuracy of full-rank training. Specifically, ReLoRA restricts the frequency of updates to preserve optimizer states consistency, hindering its ability to closely approximate full-rank training behavior. Meanwhile, GaLore relies on Singular Value Decomposition (SVD) to approximate the full-rank space, which introduces accuracy loss during the approximation process. In this paper, we introduce SwitchLoRA, a parameter-efficient training technique that frequently and smoothly replaces the trainable parameters of LoRA adapters with alternative parameters. SwitchLoRA updates the low-rank subspace incrementally, targeting only a few dimensions at a time to minimize the impact on optimizer states. This allows a higher update frequency, thereby enhancing accuracy by enabling the updated parameters to more closely mimic full-rank behavior during the pre-training phase. Our results demonstrate that SwitchLoRA actually surpasses full-rank training, reducing perplexity from 15.23 to 15.01 on the LLaMA 1.3B model, while also cutting communication overhead by 54\% and memory usage by 13\%. Furthermore, after full fine-tuning the SwitchLoRA pre-trained model and the full-rank pre-trained model on the GLUE benchmark, the SwitchLoRA pre-trained model showed an average accuracy gain of about 1\% over the full-rank pre-trained model.
academic
SwitchLoRA: L'Adattamento a Basso Rango Commutato Può Apprendere Informazioni a Rango Completo
Questo articolo propone il metodo SwitchLoRA per affrontare le sfide dell'addestramento efficiente in termini di parametri durante la fase di preaddestramento dei grandi modelli linguistici. Sebbene le tecniche tradizionali di adattamento a basso rango come LoRA si comportino eccellentemente durante la fase di fine-tuning, l'applicazione diretta al preaddestramento comporta una riduzione significativa delle prestazioni. I metodi esistenti ReLoRA e GaLore tentano di risolvere questo problema aggiornando i sottospazi a basso rango, ma non riescono ancora a raggiungere la precisione dell'addestramento a rango completo. SwitchLoRA sostituisce frequentemente e fluidamente i parametri addestrabili degli adattatori LoRA, aggiornando incrementalmente i sottospazi a basso rango, affrontando ogni volta solo poche dimensioni per minimizzare l'impatto sugli stati dell'ottimizzatore. I risultati sperimentali mostrano che SwitchLoRA riduce la perplessità sul modello LLaMA 1.3B da 15.23 a 15.01, superando l'addestramento a rango completo, riducendo contemporaneamente il 54% dei costi di comunicazione e il 13% dell'utilizzo della memoria.
Con l'ascesa dell'architettura Transformer, la scala dei grandi modelli linguistici è cresciuta drasticamente, e l'addestramento distribuito di modelli a livello di trilioni affronta enormi costi di comunicazione tra nodi. Sebbene tecniche efficienti in termini di parametri come LoRA si comportino eccellentemente durante la fase di fine-tuning, l'applicazione diretta alla fase di preaddestramento comporta una riduzione significativa delle prestazioni.
ReLoRA: Per mantenere la coerenza dello stato dell'ottimizzatore, limita la frequenza di aggiornamento, non riuscendo ad approssimare sufficientemente il comportamento dell'addestramento a rango completo
GaLore: Si basa sull'approssimazione SVD dello spazio a rango completo, introducendo perdita di precisione nel processo di approssimazione
Le reti neurali mostrano caratteristiche a rango completo nelle fasi iniziali dell'addestramento, mentre il rango interno diminuisce gradualmente con il progredire dell'addestramento. Pertanto, è necessario un metodo che possa addestrare un gran numero di parametri durante la fase di preaddestramento, aggiornando selettivamente alcuni parametri per ridurre l'utilizzo della memoria e i costi di comunicazione.
Proposta del Metodo SwitchLoRA: Attraverso l'aggiustamento frequente e fluido dei parametri addestrabili delle matrici LoRA, riduce l'utilizzo della memoria e i costi di comunicazione mantenendo la precisione dell'addestramento a rango completo
Strategia di Gestione dello Stato dell'Ottimizzatore: Progetta meccanismi di ripristino dello stato dell'ottimizzatore e congelamento temporaneo durante il cambio di parametri, riducendo l'impatto dell'incoerenza dello stato
Regole di Inizializzazione Migliorate: Fornisce nuove strategie di inizializzazione per i parametri degli adattatori LoRA e i loro vettori candidati, migliorando l'efficienza dell'addestramento
Verifica Sperimentale Completa: Verifica l'efficacia del metodo su modelli LLaMA di varie scale e valida le capacità di inferenza attraverso il benchmark GLUE
Data una matrice di peso del modello di preaddestramento W∈Rm×n, il LoRA tradizionale la converte in W+rαBA, dove B∈Rm×r, A∈Rr×n, r≪min(m,n). SwitchLoRA commuta dinamicamente i vettori in B e A per aumentare il rango effettivo.
Basata sulle idee di inizializzazione Xavier e Kaiming, progetta una nuova deviazione standard:
std[B]=std[b]=(mnr)41gain21std[A]=std[a]=(nnmr)41gain21
Sul modello 250M, quando ReLoRA utilizza 5000 passi di preaddestramento a rango completo mentre SwitchLoRA ne utilizza solo 200, SwitchLoRA si comporta comunque meglio. Nelle stesse condizioni di 1000 passi di preaddestramento a rango completo, SwitchLoRA è significativamente superiore a ReLoRA.
Con impostazioni di rango più basso, il vantaggio di SwitchLoRA è ancora più evidente, dimostrando l'importanza di coprire tutte le direzioni di aggiornamento.
Gli esperimenti mostrano che sia la frequenza iniziale che il tasso di decadimento devono essere impostati su valori moderati; frequenze troppo alte o troppo basse riducono le prestazioni.
Analisi della Distribuzione del Rango: La distribuzione dei valori singolari di SwitchLoRA è più vicina all'addestramento a rango completo, mentre il LoRA standard mostra una distribuzione patologica
Effetto di Scala: Con l'aumento della scala del modello, il vantaggio di SwitchLoRA rispetto al LoRA standard diventa più evidente
Capacità di Generalizzazione: Il modello preaddestrato con SwitchLoRA mostra capacità di inferenza e generalizzazione più forti nei compiti a valle
I lavori precedenti realizzano l'approssimazione a basso rango delle matrici di peso attraverso metodi come SVD, applicati principalmente a CNN e modelli linguistici di piccola scala.
Classe di Fusione di Parametri: Chain of LoRA, ReLoRA aumentano il rango effettivo attraverso la fusione periodica di parametri
Classe di Miglioramento dell'Inizializzazione: Migliorano la strategia di inizializzazione delle matrici B e A e le impostazioni del tasso di apprendimento
Classe di Modifica Strutturale: Modificano il processo di addestramento di LoRA e il meccanismo di aggiornamento dei parametri
Includono tecniche di quantizzazione, potatura, compressione del gradiente, tra cui GaLore realizza l'addestramento efficiente in memoria attraverso la proiezione del gradiente.
Avanzamento delle Prestazioni: SwitchLoRA è il primo a realizzare prestazioni che superano l'addestramento a rango completo durante la fase di preaddestramento
Efficienza delle Risorse: Riduce significativamente l'utilizzo della memoria e i costi di comunicazione, mantenendo tempi di addestramento comparabili
Miglioramento della Generalizzazione: Il modello preaddestrato mostra capacità di inferenza più forti nei compiti a valle
Innovazione Teorica: Propone una nuova idea di aggiornamento incrementale dei sottospazi a basso rango, risolvendo efficacemente il problema dell'addestramento a basso rango durante la fase di preaddestramento
Implementazione Ingegneristica: Considera attentamente problemi pratici come la gestione dello stato dell'ottimizzatore e l'ottimizzazione della memoria, con forte praticità
Esperimenti Completi: Verifica l'efficacia del metodo da più angolazioni, incluse prestazioni di preaddestramento, consumi di risorse e capacità di inferenza
Analisi Teorica: Fornisce spiegazioni teoriche come l'indipendenza dell'aggiornamento vettoriale e la ragionevolezza del ripristino dello stato dell'ottimizzatore
Aumento della Complessità: Aumenta la complessità di implementazione rispetto al LoRA standard, richiedendo gestione aggiuntiva dei vettori candidati
Ottimizzazione degli Iperparametri: Molteplici iperparametri (frequenza di commutazione, tasso di decadimento, passi di congelamento) richiedono un'attenta ottimizzazione
Verifica di Scala: Sebbene siano stati testati modelli di varie scale, il massimo è solo 7B, con applicabilità a modelli più grandi ancora da verificare
Completezza Teorica: Sebbene fornisca alcune analisi teoriche, manca una spiegazione teorica approfondita del motivo per cui può superare l'addestramento a rango completo
Valore Accademico: Fornisce una nuova prospettiva per l'addestramento efficiente in termini di parametri durante la fase di preaddestramento, potenzialmente ispirando più ricerche correlate
Valore Pratico: Riduce significativamente i consumi di risorse mantenendo le prestazioni, con importante significato per l'addestramento pratico di grandi modelli
Riproducibilità: L'articolo fornisce dettagli di implementazione e impostazioni di iperparametri dettagliati, facilitando la riproduzione e l'applicazione
L'articolo cita un gran numero di lavori correlati, principalmente includendo:
Hu et al. 2022: Articolo originale di LoRA
Lialin et al. 2023: Metodo ReLoRA
Zhao et al. 2024: Metodo GaLore
Vaswani et al. 2017: Architettura Transformer
Rajbhandari et al. 2020: Ottimizzatore ZeRO
Valutazione Complessiva: Questo è un articolo di ricerca di alta qualità che si distingue per innovazione teorica, verifica sperimentale e valore pratico. Il metodo SwitchLoRA risolve abilmente il problema dell'addestramento a basso rango durante la fase di preaddestramento, non solo mantenendo l'effetto di addestramento ma anche realizzando significativi risparmi di risorse. Sebbene presenti alcune limitazioni, i suoi contributi sono sufficienti a promuovere lo sviluppo di questo campo.