LoRA

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником ~~~~}} {{TOCright}} '''LoRA''' (англ. ''Low...)
(Содержимое страницы заменено на «<!-- Публикуется под заголовком: LoRA Это страница-перенаправление на осн...»)
 
(1 промежуточная версия не показана)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником [[Участник:Iaroslav Lyakhov|Iaroslav Lyakhov]] 20:12, 1 июля 2026 (MSD)}}
+
<!-- Публикуется под заголовком: LoRA
-
{{TOCright}}
+
Это страница-перенаправление на основную статью «Адаптация низкого ранга».
-
 
+
Весь текст страницы - одна строка ниже. -->
-
'''LoRA''' (англ. ''Low-Rank Adaptation'', низкоранговая адаптация) - метод экономного [[Дообучение|дообучения]] больших [[Нейронная сеть|нейросетевых]] моделей, при котором веса предобученной модели замораживаются, а обучается лишь небольшое число дополнительных параметров в виде низкоранговых матриц. LoRA относится к семейству методов '''PEFT''' (parameter-efficient fine-tuning) и стала стандартным способом адаптации [[Большая языковая модель|больших языковых моделей]] под конкретные задачи при ограниченных ресурсах. Предложена исследователями Microsoft (Hu et al., 2021).
+
#REDIRECT [[Адаптация низкого ранга]]
-
 
+
-
== Проблема ==
+
-
Полное дообучение современной LLM требует хранить и обновлять все её параметры (миллиарды весов), а также состояния оптимизатора - это десятки и сотни гигабайт памяти GPU. Для каждой новой задачи приходится хранить отдельную полную копию модели. Это дорого и непрактично.
+
-
 
+
-
== Идея ==
+
-
LoRA опирается на гипотезу: '''обновление весов при дообучении имеет низкий внутренний ранг'''. Вместо того чтобы менять матрицу весов <tex>W_0 \in \mathbb{R}^{d\times k}</tex> напрямую, её приращение представляют произведением двух узких матриц:
+
-
 
+
-
::<tex>W = W_0 + \Delta W = W_0 + B A, \quad A \in \mathbb{R}^{r\times k},\; B \in \mathbb{R}^{d\times r}</tex>
+
-
 
+
-
где ранг <tex>r \ll \min(d,k)</tex> (часто 4-64). Исходная матрица <tex>W_0</tex> заморожена; обучаются только <tex>A</tex> и <tex>B</tex>. Число обучаемых параметров падает в тысячи раз. При запуске поправка масштабируется коэффициентом <tex>\alpha/r</tex>.
+
-
 
+
-
При инициализации <tex>B=0</tex>, поэтому в начале обучения <tex>\Delta W = 0</tex> и модель эквивалентна исходной.
+
-
 
+
-
== Преимущества ==
+
-
* '''Экономия памяти''' - обучаемых параметров на порядки меньше (нередко менее 1 % от общего числа), и не нужно хранить состояния оптимизатора для замороженных весов.
+
-
* '''Малый размер артефакта''' - адаптер занимает мегабайты; для разных задач хранят набор маленьких адаптеров поверх одной базовой модели.
+
-
* '''Отсутствие задержки на инференсе''' - обученную поправку <tex>BA</tex> можно сложить с <tex>W_0</tex> (merge), получив обычную матрицу без дополнительных операций.
+
-
* '''Горячая замена''' - адаптеры под разные задачи подключаются и отключаются на лету.
+
-
 
+
-
== QLoRA и развитие ==
+
-
'''QLoRA''' (2023) объединяет LoRA с 4-битным [[Квантование нейронных сетей|квантованием]] базовой модели, что позволяет дообучать модели с десятками миллиардов параметров на одном потребительском GPU. Другие развития - AdaLoRA (адаптивное распределение ранга по слоям), DoRA и др.
+
-
 
+
-
== Связь с другими методами ==
+
-
LoRA - представитель PEFT наряду с адаптерами (adapter tuning), prefix-tuning и prompt-tuning. В парадигме [[Перенос обучения|переноса обучения]] она дёшево адаптирует [[Фундаментальная модель|фундаментальную модель]] под конкретную задачу: базовые веса, полученные [[Самостоятельное обучение|самостоятельным обучением]], остаются неизменными, а [[Метод стохастического градиента|градиентным спуском]] настраиваются лишь низкоранговые поправки. В отличие от [[Дистилляция моделей|дистилляции]], сжимающей модель, LoRA не уменьшает базовую модель, а дёшево её специализирует.
+
-
 
+
-
== Ограничения ==
+
-
* Качество может уступать полному дообучению на задачах, сильно отличающихся от предобучения.
+
-
* Нужно выбирать ранг <tex>r</tex> и слои, к которым применяется адаптация (обычно матрицы внимания).
+
-
 
+
-
== См. также ==
+
-
* [[Большая языковая модель]]
+
-
* [[Дообучение]]
+
-
* [[Квантование нейронных сетей]]
+
-
* [[Дистилляция моделей]]
+
-
* [[Трансформер]]
+
-
* [[Смесь экспертов]]
+
-
 
+
-
== Литература ==
+
-
* {{статья |автор=Hu E. и др. |часть=LoRA: Low-Rank Adaptation of Large Language Models |заглавие=Proc. of ICLR |год=2022 |ссылка=https://arxiv.org/abs/2106.09685}}
+
-
* {{статья |автор=Dettmers T. и др. |часть=QLoRA: Efficient Finetuning of Quantized LLMs |заглавие=Advances in Neural Information Processing Systems (NeurIPS) |год=2023 |ссылка=https://arxiv.org/abs/2305.14314}}
+
-
 
+
-
[[Категория:Машинное обучение]]
+
-
[[Категория:Нейронные сети]]
+

Текущая версия

  1. REDIRECT Адаптация низкого ранга
Личные инструменты