Адаптация низкого ранга
Материал из MachineLearning.
| | Статья написана с использованием LLM DeepSeek-V3 и проверена участником М. Мишин 17:37, 18 июня 2026 (MSD)
Промпт приводится полностью в Обсуждение:Дистилляция моделей |
|
Определение и основная идея
Low‑Rank Adaptation (LoRA) — метод эффективного по числу обучаемых параметров (parameter‑efficient fine‑tuning, PEFT) тонкой настройки предобученных нейронных сетей.[1] В основе метода лежит гипотеза о том, что изменения весовых матриц при адаптации большой модели к конкретной задаче обладают низким рангом. Вместо прямого обновления полной матрицы весов в LoRA обучается её аддитивная низкоранговая добавка
, где
,
, а ранг
. Исходные веса
при этом «замораживаются». Такой подход позволяет сократить количество обучаемых параметров в сотни и тысячи раз, сохраняя или почти не ухудшая качество по сравнению с полной тонкой настройкой.
Метод первоначально предложен для трансформерных больших языковых моделей, однако в дальнейшем был обобщён на широкий круг архитектур, включая свёрточные нейронные сети, диффузионные модели, графовые нейронные сети, и стал важным инструментом федеративного обучения.
Мотивация
Современные предобученные модели, особенно в области обработки естественного языка и компьютерного зрения, содержат от сотен миллионов до триллионов параметров. Полная тонкая настройка (full fine‑tuning) требует хранения и обновления всех параметров для каждой конкретной задачи, что ведёт к колоссальным затратам памяти, вычислительных ресурсов и дисковой ёмкости при развёртывании множества специализированных версий модели. Parameter‑efficient fine‑tuning (PEFT) решает эту проблему, модифицируя лишь малую долю параметров, тогда как основная масса весов остаётся неизменной и разделяется между задачами.
Историческая справка
Теоретическим фундаментом LoRA послужило исследование Армена Агаджаняна и соавторов[1], показавшее, что тонкая настройка языковых моделей может быть выполнена в подпространстве малой размерности («внутренняя размерность» задачи). Параллельно развивались практические методы PEFT: вставка компактных адаптерных модулей[1], префиксная настройка[1] и промпт-настройка[1]. Метод LoRA был предложен в 2021 году Эдвардом Ху и его коллегами из Microsoft[1] и сразу привлёк внимание сообщества благодаря элегантности математической формулировки, отсутствию дополнительных задержек на этапе вывода и совместимости с другими PEFT‑методами.
Описание метода
Математическая формулировка
Рассмотрим полносвязный слой с матрицей весов . Выход слоя на входном векторе
в процессе тонкой настройки вычисляется как
где заморожена, а матрицы
и
содержат обучаемые параметры. Ранг
выбирается значительно меньшим, чем размеры исходной матрицы. После завершения обучения явное произведение
можно прибавить к
, получив
; таким образом, на этапе вывода не возникает дополнительных вычислительных затрат по сравнению с исходной моделью.
Гипотеза низкого ранга обновлений подтверждается эмпирически: анализ сингулярных чисел матрицы в ряде задач демонстрирует быстрое убывание спектра, причём основная информация концентрируется в нескольких ведущих компонентах[1].
Применение к механизму внимания
В архитектуре трансформера[1] наибольший объём параметров приходится на матрицы запросов, ключей, значений и выходную матрицу многоголового внимания (). Оригинальная работа[1] фокусируется на адаптации
и
; последующие исследования распространили LoRA на все четыре матрицы или только на
и
, в зависимости от баланса между качеством и числом параметров.
Выбор ранга и инициализация
Инициализация матриц
Ключевое требование к инициализации — чтобы в начале обучения , и модель вела себя в точности как предобученная. Для этого матрица
инициализируется случайным образом (например, из нормального распределения с малой дисперсией), а матрица
— нулями. Благодаря этому градиенты на старте затрагивают только
, а обновление весов начинается плавно.
Развитием этого подхода стала инициализация на основе сингулярного разложения исходной матрицы (метод PiSSA[1]), где
и
инициализируются главными сингулярными векторами и значениями
, а остаток от разложения замораживается. Это позволяет ускорить сходимость в задачах, где желательно не «портить» сильно предобученное представление.
Влияние ранга
Эксперименты Ху и соавторов[1] на моделях GPT‑2 и GPT‑3 показали, что даже экстремально низкие ранги () зачастую обеспечивают качество, сравнимое с полной тонкой настройкой, при этом прирост при дальнейшем увеличении
быстро насыщается. На практике для языковых задач популярны значения
. Выбор конкретного ранга диктуется компромиссом между допустимым числом обучаемых параметров и требуемой точностью адаптации. Систематические исследования показывают, что эффективность низкого ранга коррелирует с «внутренней размерностью» задачи[1].
Динамический и адаптивный ранг
Недостаток фиксированного ранга состоит в том, что разумное значение приходится подбирать перебором. Для решения этой проблемы были предложены методы:
- DyLoRA[1] — обучает матрицы
и
сразу для нескольких рангов, случайным образом выбирая эффективный ранг на каждом шаге оптимизации. Это позволяет после обучения гибко усекать ранг без потери точности.
- AdaLoRA (Zhang et al., ICLR 2023) — формулирует задачу как оптимизацию с бюджетом параметров и использует важность сингулярных значений для автоматического назначения неравномерных рангов разным весовым матрицам в ходе обучения.
Применения за пределами трансформерных архитектур
Хотя LoRA родилась в контексте языковых трансформеров, её базовая идея не зависит от конкретной архитектуры. Общий принцип — факторизация обновления весового тензора в виде низкорангового произведения — легко переносится на другие слои и модальности. Так, LoRA успешно адаптирована для:
- Компьютерное зрение: Vision Transformer (ViT), свёрточные нейронные сети (CNN). В CNN весовой тензор ядра размером
преобразуется в двумерную матрицу и раскладывается на произведение двух низкоранговых матриц, что открывает возможность эффективной настройки популярных «зрительных» энкодеров (ResNet, ConvNeXt) с числом обучаемых параметров, составляющим менее 1 % исходных.
- Диффузионные модели: генеративные модели, такие как Stable Diffusion, тонко настраиваются с помощью LoRA для переноса стиля или запоминания конкретных объектов (DreamBooth[1]). Здесь LoRA накладывается преимущественно на слои кросс‑внимания, что доказало свою эффективность и породило обширную экосистему облегчённых адаптеров.
- Графовые нейронные сети (GNN): применение LoRA к слоям графовых трансформеров и классических GNN позволяет адаптировать крупные модели к новым типам графов с минимальной дополнительной памятью.
- Федеративное обучение: метод FedLoRA использует низкоранговые адаптеры для персонализации глобальной модели под локальные данные клиентов, обеспечивая коммуникационную эффективность и совместимость моделей разной архитектуры.
- Обработка аудио и речи: LoRA применяется для быстрой адаптации больших моделей автоматического распознавания речи (Whisper, Wav2Vec 2.0) и синтеза речи, особенно в условиях ограниченного объёма целевых данных.
Преимущества и ограничения
Преимущества:
- Резкое сокращение числа обучаемых параметров (часто в 100–1000 раз) и, как следствие, требований к памяти и дисковой ёмкости.
- Отсутствие задержек на инференсе благодаря возможности слияния обученных матриц с исходными весами.
- Простота реализации и совместимость с другими PEFT‑методами (например, с префиксной настройкой или квантизацией, как в QLoRA[1]).
- Допускает независимое обучение и композицию нескольких адаптеров для разных задач.
Ограничения:
- Качество может уступать полной тонкой настройке в задачах, требующих значительного изменения распределения признаков (при очень большом доменном сдвиге).
- Оптимальный ранг и выбор матриц, к которым применяется LoRA, до сих пор определяются эмпирически или с помощью эвристик, хотя и автоматизируются современными расширениями.
- Применение к операциям, отличным от линейных (например, нормализациям или функциям активации), напрямую невозможно; для них приходится использовать иные методы вставки адаптеров.
См. также
- Parameter-Efficient Fine-Tuning
- Тонкая настройка (машинное обучение)
- Трансформер (архитектура)
- Большая языковая модель
- Федеративное обучение
Примечания
Литература
- Hu E. J., Shen Y., Wallis P., Allen-Zhu Z., Li Y., Wang S., Wang L., Chen W. LoRA: Low-Rank Adaptation of Large Language Models // arXiv:2106.09685 [cs.CL]. — 2021.
- Aghajanyan A., Gupta S., Zettlemoyer L. Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning // arXiv:2012.13255 [cs.CL]. — 2020.
- Dettmers T., Pagnoni A., Holtzman A., Zettlemoyer L. QLoRA: Efficient Finetuning of Quantized Language Models // Advances in Neural Information Processing Systems (NeurIPS). — 2023.

