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: La Adaptación de Bajo Rango Conmutada Puede Aprender Información de Rango Completo
Este artículo propone el método SwitchLoRA para abordar los desafíos del entrenamiento eficiente en parámetros durante la fase de preentrenamiento de modelos de lenguaje grandes. Aunque las técnicas tradicionales de adaptación de bajo rango, como LoRA, funcionan excelentemente en la fase de ajuste fino, su aplicación directa al preentrenamiento resulta en una disminución significativa del rendimiento. Los métodos existentes ReLoRA y GaLore intentan resolver este problema actualizando subespacios de bajo rango, pero aún no alcanzan la precisión del entrenamiento de rango completo. SwitchLoRA reemplaza frecuente y suavemente los parámetros entrenables de los adaptadores LoRA, actualizando incrementalmente el subespacio de bajo rango, dirigiéndose solo a pocas dimensiones en cada paso para minimizar el impacto en los estados del optimizador. Los resultados experimentales muestran que SwitchLoRA reduce la perplejidad en el modelo LLaMA 1.3B de 15.23 a 15.01, superando el entrenamiento de rango completo, mientras reduce el 54% de la sobrecarga de comunicación y el 13% del uso de memoria.
Con el auge de la arquitectura Transformer, el tamaño de los modelos de lenguaje grandes ha crecido exponencialmente, y el entrenamiento distribuido de modelos a nivel de billones enfrenta una sobrecarga de comunicación entre nodos masiva. Aunque técnicas eficientes en parámetros como LoRA funcionan excelentemente en la fase de ajuste fino, su aplicación directa a la fase de preentrenamiento resulta en una disminución significativa del rendimiento.
ReLoRA: Para mantener la consistencia del estado del optimizador, limita la frecuencia de actualización, sin poder aproximarse suficientemente al comportamiento del entrenamiento de rango completo
GaLore: Depende de aproximación SVD del espacio de rango completo, introduciendo pérdida de precisión en el proceso de aproximación
Las redes neuronales exhiben características de rango completo en las etapas iniciales del entrenamiento, y el rango interno disminuye gradualmente a medida que avanza el entrenamiento. Por lo tanto, se necesita un método que pueda entrenar una gran cantidad de parámetros durante la fase de preentrenamiento, mientras actualiza selectivamente algunos parámetros para reducir el uso de memoria y la sobrecarga de comunicación.
Propuesta del Método SwitchLoRA: Mediante el ajuste frecuente y suave de los parámetros entrenables de las matrices LoRA, reduce el uso de memoria y la sobrecarga de comunicación mientras mantiene la precisión del entrenamiento de rango completo
Estrategia de Gestión del Estado del Optimizador: Diseña mecanismos de reinicio del estado del optimizador y congelamiento temporal durante el cambio de parámetros, reduciendo el impacto de la inconsistencia de estados
Reglas de Inicialización Mejoradas: Proporciona nuevas estrategias de inicialización para los parámetros del adaptador LoRA y sus vectores candidatos, mejorando la eficiencia del entrenamiento
Verificación Experimental Integral: Valida la efectividad del método en modelos LLaMA de múltiples escalas y verifica las capacidades de inferencia mediante la prueba de referencia GLUE
Dada una matriz de pesos W∈Rm×n del modelo preentrenado, LoRA tradicional la convierte en W+rαBA, donde B∈Rm×r, A∈Rr×n, r≪min(m,n). SwitchLoRA cambia dinámicamente los vectores en B y A para aumentar el rango efectivo.
Basada en ideas de inicialización Xavier y Kaiming, diseña nuevas desviaciones estándar:
std[B]=std[b]=(mnr)41gain21std[A]=std[a]=(nnmr)41gain21
En el modelo 250M, cuando ReLoRA utiliza 5000 pasos de preentrenamiento de rango completo mientras SwitchLoRA utiliza solo 200 pasos, SwitchLoRA aún funciona mejor. Bajo condiciones de 1000 pasos de preentrenamiento de rango completo idénticos, SwitchLoRA supera significativamente a ReLoRA.
En configuraciones de rango más bajo, la ventaja de SwitchLoRA es aún más evidente, demostrando la importancia de cubrir todas las direcciones de actualización.
Los experimentos muestran que tanto la frecuencia inicial como la tasa de decaimiento necesitan establecerse en valores moderados; valores demasiado altos o demasiado bajos reducen el rendimiento.
Análisis de Distribución de Rango: La distribución de valores singulares de SwitchLoRA es más cercana al entrenamiento de rango completo, mientras que LoRA estándar muestra una distribución patológica
Efecto de Escala: A medida que aumenta la escala del modelo, la ventaja de SwitchLoRA sobre LoRA estándar es más pronunciada
Capacidad de Generalización: El modelo preentrenado con SwitchLoRA exhibe capacidades de inferencia y generalización más fuertes en tareas posteriores
Los trabajos anteriores logran aproximación de bajo rango de matrices de pesos mediante métodos como SVD, aplicados principalmente a CNN y modelos de lenguaje de pequeña escala.
Incluyen técnicas de cuantización, poda, compresión de gradientes, entre las cuales GaLore logra entrenamiento eficiente en memoria mediante proyección de gradientes.
Innovación Teórica: Propone una nueva idea de actualización incremental de subespacios de bajo rango, resolviendo efectivamente el problema del entrenamiento de bajo rango en la fase de preentrenamiento
Implementación de Ingeniería: Considera detalladamente problemas prácticos como gestión del estado del optimizador y optimización de memoria, con fuerte practicidad
Experimentos Exhaustivos: Verifica la efectividad del método desde múltiples ángulos, incluyendo rendimiento de preentrenamiento, consumo de recursos y capacidad de inferencia
Análisis Teórico: Proporciona explicaciones teóricas como independencia de actualización de vectores y racionalidad del reinicio del estado del optimizador
Aumento de Complejidad: Aumenta la complejidad de implementación comparado con LoRA estándar, requiriendo gestión adicional de vectores candidatos
Ajuste de Hiperparámetros: Múltiples hiperparámetros (frecuencia de conmutación, tasa de decaimiento, pasos de congelamiento) requieren ajuste cuidadoso
Verificación de Escala: Aunque se prueban múltiples escalas de modelo, la máxima es solo 7B, con aplicabilidad a modelos más grandes aún por verificar
Completitud Teórica: Aunque proporciona análisis teórico, carece de explicación teórica profunda sobre por qué puede superar el entrenamiento de rango completo
Valor Académico: Proporciona nuevas ideas de solución para entrenamiento eficiente en parámetros en la fase de preentrenamiento, potencialmente inspirando más investigación relacionada
Valor Práctico: Reduce significativamente el consumo de recursos mientras mantiene rendimiento, con importancia significativa para entrenamiento de modelos grandes en la práctica
Reproducibilidad: El artículo proporciona detalles de implementación detallados y configuración de hiperparámetros, facilitando reproducción y aplicación
Preentrenamiento de Modelos Grandes: Particularmente adecuado para escenarios con recursos limitados pero que requieren preentrenamiento de alta calidad
Entrenamiento Distribuido: Puede reducir significativamente la sobrecarga de comunicación en entrenamiento multinodo
Entrenamiento Incremental: Adecuado para escenarios que requieren entrenamiento continuo basado en preentrenamiento
El artículo cita numerosos trabajos relacionados, incluyendo principalmente:
Hu et al. 2022: Artículo original de LoRA
Lialin et al. 2023: Método ReLoRA
Zhao et al. 2024: Método GaLore
Vaswani et al. 2017: Arquitectura Transformer
Rajbhandari et al. 2020: Optimizador ZeRO
Evaluación General: Este es un artículo de investigación de alta calidad que demuestra excelencia en innovación teórica, verificación experimental y valor práctico. El método SwitchLoRA resuelve ingeniosamente el problema del entrenamiento de bajo rango en la fase de preentrenamiento, no solo manteniendo la efectividad del entrenamiento sino también logrando ahorros significativos de recursos. Aunque presenta algunas limitaciones, sus contribuciones son suficientes para impulsar el desarrollo de este campo.