LoRA

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Iaroslav Lyakhov 20:37, 5 июля 2026 (MSD)


Содержание

LoRA (англ. Low-Rank Adaptation, низкоранговая адаптация) - метод экономного дообучения больших нейросетевых моделей. При обучении веса исходной модели замораживаются, а настраивается лишь небольшое число дополнительных параметров, представленных произведением двух узких матриц низкого ранга. LoRA относится к семейству методов PEFT (parameter-efficient fine-tuning, параметрически-эффективное дообучение) и стала стандартным способом адаптации больших языковых моделей под конкретные задачи при ограниченных ресурсах. Предложена исследователями Microsoft (Hu et al., 2021).

Проблема

У современной LLM миллиарды весов. Полное дообучение означает, что для каждого веса нужно хранить сам вес, его градиент и состояния оптимизатора (например, у Adam - два дополнительных числа на параметр). В сумме это десятки и сотни гигабайт памяти видеокарты. Хуже того, под каждую новую задачу приходится хранить отдельную полную копию модели. Для большинства команд это слишком дорого и неудобно.

Идея

LoRA опирается на наблюдение: при дообучении веса меняются «неглубоко», и матрица изменений имеет низкий ранг. Поэтому вместо того чтобы менять матрицу весов W_0 \in \mathbb{R}^{d\times k} напрямую, её приращение раскладывают в произведение двух узких матриц:

W = W_0 + \Delta W = W_0 + B A, \qquad A \in \mathbb{R}^{r\times k},\; B \in \mathbb{R}^{d\times r}

где ранг r \ll \min(d,k) (на практике обычно от 4 до 64). Исходная матрица W_0 заморожена; обучаются только A и B, а их всего r(d+k) чисел вместо dk - в тысячи раз меньше. При применении поправка масштабируется коэффициентом \alpha/r, где \alpha задаёт «силу» адаптации.

Важная деталь инициализации: матрица B изначально нулевая, поэтому в самом начале обучения \Delta W = 0 и модель ведёт себя ровно как исходная. Обучение стартует «без вреда» и лишь постепенно отклоняет поведение в нужную сторону.

Как это применяют

Обычно LoRA-поправки добавляют к матрицам проекций внутри механизма внимания (чаще всего к проекциям запросов и значений), а иногда и к полносвязным слоям. Настройка сводится к выбору ранга r, коэффициента \alpha и набора слоёв, к которым применяется адаптация.

Преимущества

  • Экономия памяти. Обучаемых параметров на порядки меньше (нередко менее 1 % от общего числа), и для замороженных весов не нужно хранить состояния оптимизатора.
  • Маленький артефакт. Обученный адаптер занимает мегабайты. Для десятков разных задач хранят одну большую базовую модель и набор маленьких адаптеров к ней.
  • Нет задержки на инференсе. Поправку BA можно один раз сложить с W_0 (операция merge) и получить обычную матрицу - тогда никаких дополнительных вычислений при работе модели не возникает.
  • Горячая замена. Адаптеры под разные задачи подключаются и отключаются «на лету», поверх общей модели.

QLoRA и развитие

QLoRA (2023) объединяет LoRA с 4-битным квантованием базовой модели: тяжёлые замороженные веса хранятся в сжатом виде, а обучаются только LoRA-адаптеры. Это позволяет дообучать модели с десятками миллиардов параметров на одной потребительской видеокарте. Другие развития - AdaLoRA (адаптивно распределяет ранг между слоями по их важности) и DoRA (разделяет обновление на «величину» и «направление»).

Место среди методов PEFT

LoRA - один из представителей PEFT наряду с адаптерами (небольшие вставные слои, adapter tuning), prefix-tuning и prompt-tuning (обучаемые «псевдотокены» на входе). В отличие от дистилляции, которая создаёт отдельную сжатую модель, LoRA ничего не сжимает, а дёшево специализирует уже имеющуюся.

Связь с переносом обучения

По сути LoRA - удобный инструмент переноса обучения: базовые представления, полученные самостоятельным обучением на огромных данных (фундаментальная модель), остаются нетронутыми, а под конкретную задачу градиентным спуском настраивается лишь тонкая низкоранговая надстройка.

Ограничения

  • На задачах, сильно отличающихся от предобучения, качество может уступать полному дообучению.
  • Результат чувствителен к выбору ранга, коэффициента \alpha и набора адаптируемых слоёв.

См. также

Литература