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: Переключаемая адаптация низкого ранга может изучать информацию полного ранга
В данной статье предлагается метод SwitchLoRA для решения проблемы параметрически эффективного обучения на этапе предварительной подготовки больших языковых моделей. Традиционные методы адаптации низкого ранга, такие как LoRA, показывают отличные результаты на этапе тонкой настройки, но их прямое применение к предварительной подготовке приводит к значительному снижению производительности. Существующие методы ReLoRA и GaLore пытаются решить эту проблему путём обновления подпространства низкого ранга, но всё ещё не достигают точности обучения полного ранга. SwitchLoRA решает эту проблему путём частой и плавной замены обучаемых параметров адаптеров LoRA, постепенно обновляя подпространство низкого ранга, каждый раз затрагивая только несколько измерений, чтобы минимизировать влияние на состояние оптимизатора. Экспериментальные результаты показывают, что SwitchLoRA снижает недоумение на модели LLaMA 1.3B с 15.23 до 15.01, превосходя обучение полного ранга, одновременно снижая коммуникационные издержки на 54% и использование памяти на 13%.
С появлением архитектуры Transformer размер больших языковых моделей резко увеличился, и распределённое обучение триллионных моделей сталкивается с огромными коммуникационными издержками между узлами. Хотя параметрически эффективные методы, такие как LoRA, показывают отличные результаты на этапе тонкой настройки, их прямое применение к этапу предварительной подготовки приводит к значительному снижению производительности.
ReLoRA: Для сохранения согласованности состояния оптимизатора ограничивает частоту обновлений, не может полностью приблизиться к поведению обучения полного ранга
GaLore: Полагается на SVD-аппроксимацию пространства полного ранга, вводя потери точности в процессе аппроксимации
Нейронные сети на ранних этапах обучения демонстрируют характеристики полного ранга, а внутренний ранг постепенно снижается по мере обучения. Поэтому необходим метод, который может обучать большое количество параметров на этапе предварительной подготовки, одновременно выборочно обновляя часть параметров для снижения использования памяти и коммуникационных издержек.
Предложение метода SwitchLoRA: Путём частой плавной корректировки обучаемых параметров матриц LoRA снижается использование памяти и коммуникационные издержки при сохранении точности обучения полного ранга
Стратегия управления состоянием оптимизатора: Разработаны механизмы сброса и временной заморозки состояния оптимизатора при переключении параметров, снижающие влияние несогласованности состояния
Улучшенные правила инициализации: Предложены новые стратегии инициализации для параметров адаптеров LoRA и их кандидатных векторов, повышающие эффективность обучения
Комплексная экспериментальная проверка: Метод проверен на моделях LLaMA различных размеров, а способность к выводу проверена с помощью эталонного теста GLUE
Для матрицы весов W∈Rm×n предварительно обученной модели традиционный LoRA преобразует её в W+rαBA, где B∈Rm×r, A∈Rr×n, r≪min(m,n). SwitchLoRA динамически переключает векторы в B и A для увеличения эффективного ранга.
На основе идей инициализации Xavier и Kaiming разработано новое стандартное отклонение:
std[B]=std[b]=(mnr)41gain21std[A]=std[a]=(nnmr)41gain21
На модели 250M, когда ReLoRA использует 5000 шагов предварительной подготовки полного ранга, а SwitchLoRA использует только 200 шагов, SwitchLoRA всё ещё показывает лучшие результаты. При одинаковых 1000 шагах предварительной подготовки полного ранга SwitchLoRA значительно превосходит ReLoRA.
Эксперименты показывают, что как начальная частота, так и скорость затухания должны быть установлены на умеренные значения; слишком высокие или слишком низкие значения снижают производительность.
Анализ распределения ранга: Распределение сингулярных значений SwitchLoRA более близко к обучению полного ранга, тогда как стандартный LoRA показывает патологическое распределение
Эффект масштаба: По мере увеличения размера модели преимущество SwitchLoRA над стандартным LoRA становится более выраженным
Способность к обобщению: Модели, предварительно подготовленные с помощью SwitchLoRA, демонстрируют более сильные способности к выводу и обобщению на нижестоящих задачах
Ранние работы реализовали низкоранговую аппроксимацию матриц весов с помощью методов, таких как SVD, в основном применяемых к CNN и небольшим языковым моделям.
Теоретическая инновация: Предлагает новый подход к постепенному обновлению подпространства низкого ранга, эффективно решая проблему низкоранговой подготовки на этапе предварительной подготовки
Инженерная реализация: Тщательно рассматривает управление состоянием оптимизатора, оптимизацию памяти и другие практические вопросы, обладая сильной практической ценностью
Полнота экспериментов: Проверяет эффективность метода с множества углов, включая производительность предварительной подготовки, потребление ресурсов, способность к выводу и т.д.
Теоретический анализ: Предоставляет теоретические объяснения независимости обновления векторов, обоснованности сброса состояния оптимизатора и т.д.
Увеличение сложности: Увеличивает сложность реализации по сравнению со стандартным LoRA, требуя дополнительного управления кандидатными векторами
Настройка гиперпараметров: Множество гиперпараметров (частота переключения, скорость затухания, количество шагов заморозки) требуют тщательной настройки
Проверка масштаба: Хотя протестированы модели различных размеров, максимум составляет 7B, применимость к более крупным моделям требует дальнейшей проверки
Полнота теории: Хотя предоставлен некоторый теоретический анализ, отсутствует глубокое теоретическое объяснение того, почему метод может превосходить обучение полного ранга
Академическая ценность: Предоставляет новый подход к параметрически эффективному обучению на этапе предварительной подготовки, потенциально вдохновляя дальнейшие исследования в этой области
Практическая ценность: Значительно снижает потребление ресурсов при сохранении производительности, имеет важное значение для практического обучения больших моделей
Воспроизводимость: Статья предоставляет подробные детали реализации и настройки гиперпараметров, облегчая воспроизведение и применение
Предварительная подготовка больших моделей: Особенно подходит для сценариев с ограниченными ресурсами, но требующих высококачественной предварительной подготовки
Распределённое обучение: Может значительно снизить коммуникационные издержки при обучении на нескольких узлах
Дополнительное обучение: Подходит для сценариев, требующих продолжения обучения на основе предварительной подготовки
Статья цитирует большое количество связанных работ, включая:
Hu et al. 2022: Оригинальная статья LoRA
Lialin et al. 2023: Метод ReLoRA
Zhao et al. 2024: Метод GaLore
Vaswani et al. 2017: Архитектура Transformer
Rajbhandari et al. 2020: Оптимизатор ZeRO
Общая оценка: Это высококачественная исследовательская статья, демонстрирующая отличные результаты в теоретической инновации, экспериментальной проверке и практической ценности. Метод SwitchLoRA умело решает проблему низкоранговой подготовки на этапе предварительной подготовки, не только сохраняя эффективность обучения, но и достигая значительной экономии ресурсов. Хотя существуют некоторые ограничения, её вклад достаточен для продвижения развития этой области.