Что такое LoRA и как она помогает дообучать нейросети?

LoRA – это способ дообучить большую нейросеть, не изменяя напрямую все её основные веса. К некоторым слоям добавляют небольшие обучаемые матрицы, а базовую модель замораживают. Благодаря этому требуется меньше памяти, а результат настройки можно хранить отдельным сравнительно компактным файлом.

Почему полное дообучение дорого

Большая языковая модель или генератор изображений содержит множество параметров. При полном дообучении нужно хранить не только веса, но и градиенты с дополнительными состояниями оптимизатора. Памяти может требоваться во много раз больше, чем для обычного запуска.

Кроме ресурсов возникает вопрос хранения. Если для десяти задач сохранить десять полных копий модели, объём быстро вырастет. LoRA оставляет одну базовую модель и добавляет к ней небольшие адаптеры.

Как устроена идея низкого ранга

Название расшифровывается как Low-Rank Adaptation – низкоранговая адаптация. Метод исходит из предположения, что полезное изменение большой матрицы весов можно приблизить произведением двух гораздо меньших матриц.

Во время обучения обновляются только эти добавленные параметры. При вычислении их вклад складывается с выходом исходного слоя. Базовые веса остаются прежними. После обучения адаптер можно подключать отдельно или в некоторых случаях объединить с моделью для запуска.

Размер адаптера зависит от выбранного ранга и числа затронутых слоёв. Меньший ранг экономит ресурсы, но может ограничить способность усвоить сложные изменения. Слишком большой уменьшает преимущество метода.

Для чего применяют LoRA

Языковую модель можно адаптировать к терминологии отрасли, формату ответов или определённому типу документов. Генератор изображений – к визуальному стилю, персонажу или объекту. Однако адаптер не является папкой с картинками: он содержит числовые изменения поведения модели.

Несколько адаптеров можно хранить отдельно и подключать по задаче. Их совместимость зависит от базовой модели и конкретных слоёв. LoRA для одной версии обычно нельзя без проверки перенести на другую архитектуру.

Какие есть ограничения

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

LoRA хорошо передаёт ограниченные изменения, но глубокое освоение новой предметной области иногда требует полного дообучения, поиска по внешней базе или сочетания методов. Качество нужно оценивать на заданиях, не использованных в обучении.

Таким образом, LoRA экономит ресурсы за счёт отделения общей модели от небольшого слоя специализации. Она делает эксперименты и хранение вариантов доступнее, но не отменяет требований к данным, проверке и подходящей базовой модели.

Что означает низкий ранг

Большую матрицу изменений можно приблизить произведением двух значительно меньших матриц. Если для новой задачи достаточно ограниченного набора направлений, обучать все исходные веса необязательно. LoRA хранит только компактные добавки, а базовая модель остаётся неизменной.

Слово «ранг» здесь относится к линейной алгебре. Слишком маленькое значение ограничивает способность адаптации, слишком большое увеличивает память и риск переобучения. Подходящие параметры выбирают по отдельной проверочной выборке, а не по качеству одного красивого результата.

Как адаптер подключается к модели

Во время работы вычисление базового слоя дополняется вкладом обученных матриц. Адаптер можно хранить отдельным файлом, переключать или объединять с основными весами. Но он совместим только с той архитектурой и часто с той базовой версией, для которой создавался.

Общий процесс настройки модели описан в статье о том, как дообучить нейросеть под задачу. LoRA уменьшает число изменяемых параметров, но не отменяет подготовку данных, вычисления и проверку.

Почему LoRA популярна в генерации изображений

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

Небольшой файл также не решает вопрос прав. Если набор состоит из чужих работ или фотографий человека без согласия, компактность обучения ничего не меняет. Происхождение примеров и допустимость результата нужно оценивать отдельно.

Как готовят данные

Примеры должны показывать нужный признак в разных условиях. Если объект всегда расположен на белом фоне, адаптер может выучить фон вместе с ним. Подписи помогают отделить постоянное свойство от случайных деталей. Дубликаты увеличивают влияние отдельных изображений и ухудшают разнообразие.

Для текстовой задачи важны корректные пары инструкции и ответа, а также примеры отказа там, где данных недостаточно. Принципы отбора рассмотрены в материале о том, какие данные нужны для машинного обучения.

LoRA – экономный способ адаптации, а не сжатая энциклопедия. Она хорошо меняет поведение в очерченной области, но не гарантирует точности, не добавляет автоматически свежие факты и иногда ухудшает базовые способности модели.

Результат проверяют отдельно.

Также сравнивают, не ухудшились ли исходные способности базовой модели.