Открыть сервисСервис

Технология 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
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru