Технология LoRA¶
LoRA (Low-Rank Adaptation, «адаптация с низким рангом») — метод дообучения больших языковых моделей (LLM), предложенный исследователями Microsoft в 2021 году. Метод позволяет адаптировать предобученную модель под конкретную задачу, обновляя лишь малую часть параметров, представленных в виде матриц низкого ранга. Это резко снижает вычислительные затраты и объём требуемой памяти по сравнению с полным дообучением (full fine-tuning), делая адаптацию доступной на потребительском оборудовании.
¶Принцип работы
Полное дообучение LLM требует обновления всех весов модели — у современных моделей их миллиарды. При этом градиенты и оптимизатор (например, Adam) хранят дополнительные состояния, увеличивающие потребление памяти в несколько раз. LoRA предлагает альтернативу: исходные веса модели замораживаются, а вместо них обучаются дополнительные матрицы низкого ранга.
Математически адаптация выражается формулой:
W' = W + ΔW, где ΔW = B·A
Здесь W — исходная матрица весов (например, размером d×k), A — матрица размером r×k, B — матрица размером d×r, а r — ранг, существенно меньший d и k (обычно от 4 до 64). Произведение B·A приближает изменение весов ΔW, которое модель получила бы при полном дообучении. Инициализация выполняется так, что A заполняется случайными значениями, а B — нулями, поэтому в начале обучения ΔW равен нулю, и модель полностью сохраняет исходное поведение.
Ключевое допущение LoRA заключается в том, что при адаптации предобученной модели изменение весов имеет низкую «эффективную размерность» — то есть может быть аппроксимировано произведением двух узких матриц. Эмпирически это подтверждается: на большинстве задач ранг r в диапазоне 8–64 обеспечивает результаты, сопоставимые с полным дообучением.
¶Практические преимущества
- Экономия памяти. Обучаемые параметры составляют доли процента от общего числа весов модели. Для модели с миллиардом параметров при r=8 адаптируется порядка нескольких миллионов весов вместо миллиарда.
- Скорость обучения. Меньше параметров — меньше вычислений на шаг и меньше объём градиентов.
- Портируемость. Адаптация сохраняется в виде небольшого файла (обычно десятки–сотни мегабайт), который можно хранить, распространять и комбинировать.
- Отсутствие деградации. Поскольку исходные веса не изменяются, модель не «забывает» исходные способности — эффект катастрофического забывания минимален.
¶Комбинирование и распространение
Одно из важных свойств LoRA — возможность комбинировать несколько адаптаций. Если для одной базовой модели обучены наборы матриц (A₁, B₁), (A₂, B₂) и т.д., их можно складывать с весами λ₁, λ₂, задавая вклад каждой задачи. Это легло в основу сообщества моделей, распространяемых через платформу Hugging Face и тематические репозитории: пользователь скачивает базовую модель один раз и подключает к ней нужные LoRA-адаптеры.
¶QLoRA и связанные методы
В 2023 году исследователи представили QLoRA — метод, сочетающий LoRA с квантованием базовой модели до 4-битного формата (NF4). Базовые веса хранятся в квантованном виде, а обучаемые матрицы A и B остаются в формате с большей точностью (обычно bfloat16). QLoRA позволяет дообучить модель с десятками миллиардов параметров на одном GPU с памятью 24 ГБ, сохранив качество, сопоставимое с 16-битным LoRA.
К другим развитиям относятся DoRA (Weight-Decomposed Low-Rank Adaptation), разделяющая веса на норму и направление, LoRA+, предлагающий разные скорости обучения для матриц A и B, а также методы, автоматически подбирающие ранг для разных слоёв.
¶Применение
LoRA активно используется для адаптации моделей к узким задачам: тонкая настройка под корпоративные документы, создание ассистентов с определённым стилем общения, обучение моделей распознавания речи и генерации изображений (в частности, в диффузионных моделях стабильного диффузионного ряда LoRA применяется для обучения特定ных стилей и персонажей). В России метод также применяется исследователями и разработчиками, работающими с открытыми моделями, — например, при адаптации мультиязычных LLM под русскоязычные сценарии.
¶Источники
- Hu E. J. et al. «LoRA: Low-Rank Adaptation of Large Language Models», ICLR 2022
- Dettmers T. et al. «QLoRA: Efficient Finetuning of Quantized LLMs», NeurIPS 2023
- Hugging Face PEFT documentation
