Что такое…

Что такое LoRA — дообучение модели, где учится 0,01% весов

Иллюстрация: огромный запертый механизм, поверх него тонкая накладка-стикер меняет результат

Смотри, какая цифра: чтобы дообучить GPT-3 под свою задачу через LoRA, авторы метода учили в 10 000 раз меньше параметров, чем при обычном дообучении. Памяти видеокарты понадобилось втрое меньше.

Не на 10% меньше. В десять тысяч раз.

Звучит как жульничество. Разберёмся, в чём фокус — потому что фокус честный, и именно благодаря ему ты можешь дообучить модель на арендованной видеокарте за пару долларов.

Что такое LoRA простыми словами

LoRA — это Low-Rank Adaptation, «адаптация низкого ранга». Способ дообучить модель, не трогая саму модель.

Обычное дообучение работает в лоб: берём все веса модели и двигаем каждый. У модели на 7 миллиардов параметров это 7 миллиардов чисел, которые надо держать в памяти, считать по ним градиенты и хранить состояние оптимизатора. Отсюда и требования, от которых больно: десятки гигабайт видеопамяти на модель, которую ты вообще-то просто хотел научить своему стилю.

LoRA заходит иначе. Базовые веса замораживаются — их вообще не двигают. Рядом пристраиваются две маленькие матрицы, и учатся только они. При работе модель складывает: свой замороженный ответ плюс поправку от этих матриц.

Метафора простая. Обычное дообучение — переписать весь учебник. LoRA — оставить учебник как есть и вложить в него тонкую пачку стикеров с поправками. Читаешь учебник вместе со стикерами — получаешь другой результат.

Как две маленькие матрицы заменяют одну большую

Тут вся математика, и она короткая.

Поправка к большой матрице весов — тоже матрица, ровно такого же огромного размера. Хранить её целиком глупо. Ключевое наблюдение авторов: эта поправка избыточна — в ней мало настоящей новизны, её можно разложить на две узкие матрицы.

Представь лист 1000×1000 — это миллион клеток. А теперь возьми две полоски: 1000×8 и 8×1000. Перемножь их — получишь лист того же размера 1000×1000. Но хранил и учил ты всего 16 тысяч чисел вместо миллиона.

Восьмёрка здесь — это ранг (r), главная настройка LoRA. Типичное значение как раз 8. Меньше ранг — меньше обучаемых чисел и грубее поправка; больше — тоньше и дороже.

Ещё одна экономия: LoRA обычно навешивают не на всю модель, а только на блоки внимания. Практика показывает, что этого достаточно.

Почему это меняет расклад для тебя

Экономия памяти — только половина истории. Вторая половина интереснее.

Адаптер весит мегабайты, а не гигабайты. Результат обучения — не новая модель на 14 ГБ, а файлик с двумя матрицами. Его можно выложить, скачать, отправить другу.

Адаптеры меняются как насадки. База одна, адаптеров сколько угодно: один под твой стиль писем, другой под разметку JSON, третий под конкретного персонажа. Держишь в памяти одну модель и подключаешь нужный. Именно так устроены библиотеки LoRA-стилей для картиночных моделей — та самая мешанина стилей, которую ты видел, это адаптеры к одной базе.

Скорость не страдает. Перед выкладыванием адаптер можно слить с базовыми весами обратно в одну матрицу. После слияния модель работает ровно с той же скоростью, что и оригинал: никакой дополнительной задержки на инференсе.

Именно поэтому LoRA живёт в мире открытых весов. Чтобы навесить стикеры, учебник надо сначала открыть — с закрытой моделью, которую ты видишь только через API, этот фокус не провернуть.

Где ты с ней столкнёшься

Три ситуации, где слово LoRA выскочит само.

Первая — картиночные модели. Скачиваешь модель, а к ней десяток «стилей» по 50–150 МБ. Это LoRA-адаптеры.

Вторая — локальные языковые модели. Гоняешь модель на своей машине (как запустить ИИ-модель локально) и хочешь научить её формату своих ответов. LoRA — единственный реалистичный путь без аренды фермы.

Третья — сервисы дообучения. Многие «файнтюны» под капотом — это LoRA, просто тебе не говорят.

И сразу главная развилка, чтобы не потратить выходные зря. LoRA учит манере: формату, стилю, тону, структуре ответа. Она плохо запихивает в модель факты — твою базу знаний, свежие документы, цены на товары. Для фактов нужен другой инструмент, и разница разобрана отдельно: RAG или дообучение.

Правило простое: «отвечай вот в таком формате» — LoRA. «Знай содержимое вот этих документов» — не LoRA.

Сколько данных нужно для LoRA?

Меньше, чем кажется: часто хватает нескольких сотен хороших примеров. Качество важнее количества — сто вычищенных пар «запрос → идеальный ответ» дадут больше, чем десять тысяч случайных. Плохие примеры модель выучит так же старательно, как хорошие.

LoRA портит базовую модель?

Нет. Базовые веса заморожены и не меняются вообще — адаптер лежит отдельным файлом. Удалил файл — вернулась исходная модель. Это одна из причин, почему с LoRA не страшно экспериментировать.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →