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 опирается на наблюдение: при дообучении веса меняются «неглубоко», и матрица изменений имеет низкий ранг. Поэтому вместо того чтобы менять матрицу весов напрямую, её приращение раскладывают в произведение двух узких матриц:
где ранг (на практике обычно от 4 до 64). Исходная матрица
заморожена; обучаются только
и
, а их всего
чисел вместо
- в тысячи раз меньше. При применении поправка масштабируется коэффициентом
, где
задаёт «силу» адаптации.
Важная деталь инициализации: матрица изначально нулевая, поэтому в самом начале обучения
и модель ведёт себя ровно как исходная. Обучение стартует «без вреда» и лишь постепенно отклоняет поведение в нужную сторону.
Как это применяют
Обычно LoRA-поправки добавляют к матрицам проекций внутри механизма внимания (чаще всего к проекциям запросов и значений), а иногда и к полносвязным слоям. Настройка сводится к выбору ранга , коэффициента
и набора слоёв, к которым применяется адаптация.
Преимущества
- Экономия памяти. Обучаемых параметров на порядки меньше (нередко менее 1 % от общего числа), и для замороженных весов не нужно хранить состояния оптимизатора.
- Маленький артефакт. Обученный адаптер занимает мегабайты. Для десятков разных задач хранят одну большую базовую модель и набор маленьких адаптеров к ней.
- Нет задержки на инференсе. Поправку
можно один раз сложить с
(операция merge) и получить обычную матрицу - тогда никаких дополнительных вычислений при работе модели не возникает.
- Горячая замена. Адаптеры под разные задачи подключаются и отключаются «на лету», поверх общей модели.
QLoRA и развитие
QLoRA (2023) объединяет LoRA с 4-битным квантованием базовой модели: тяжёлые замороженные веса хранятся в сжатом виде, а обучаются только LoRA-адаптеры. Это позволяет дообучать модели с десятками миллиардов параметров на одной потребительской видеокарте. Другие развития - AdaLoRA (адаптивно распределяет ранг между слоями по их важности) и DoRA (разделяет обновление на «величину» и «направление»).
Место среди методов PEFT
LoRA - один из представителей PEFT наряду с адаптерами (небольшие вставные слои, adapter tuning), prefix-tuning и prompt-tuning (обучаемые «псевдотокены» на входе). В отличие от дистилляции, которая создаёт отдельную сжатую модель, LoRA ничего не сжимает, а дёшево специализирует уже имеющуюся.
Связь с переносом обучения
По сути LoRA - удобный инструмент переноса обучения: базовые представления, полученные самостоятельным обучением на огромных данных (фундаментальная модель), остаются нетронутыми, а под конкретную задачу градиентным спуском настраивается лишь тонкая низкоранговая надстройка.
Ограничения
- На задачах, сильно отличающихся от предобучения, качество может уступать полному дообучению.
- Результат чувствителен к выбору ранга, коэффициента
и набора адаптируемых слоёв.
См. также
- Большая языковая модель
- Дообучение
- Квантование нейронных сетей
- Дистилляция моделей
- Трансформер
- Фундаментальная модель
Литература
- Hu E. и др. LoRA: Low-Rank Adaptation of Large Language Models // Proc. of ICLR. — 2022.
- Dettmers T. и др. QLoRA: Efficient Finetuning of Quantized LLMs // Advances in Neural Information Processing Systems (NeurIPS). — 2023.
- Houlsby N. и др. Parameter-Efficient Transfer Learning for NLP // Proc. of ICML. — 2019.

