LoRA: как дообучить нейросеть без изменения всех весов
LoRA — метод адаптации нейросети, при котором базовые веса замораживают, а изменения обучают в небольших низкоранговых матрицах. Это снижает требования к памяти и упрощает хранение нескольких адаптеров. Сначала докажите, что задачу нельзя решить промптом или RAG, затем отделите тестовую выборку и ср
В этой статье
Коротко. LoRA — метод адаптации нейросети, при котором базовые веса замораживают, а изменения обучают в небольших низкоранговых матрицах. Это снижает требования к памяти и упрощает хранение нескольких адаптеров. Сначала докажите, что задачу нельзя решить промптом или RAG, затем отделите тестовую выборку и сравните адаптер с базовой моделью.
При полном дообучении меняются миллионы или миллиарды параметров. LoRA добавляет небольшие обучаемые матрицы к выбранным слоям, а базовую модель оставляет неизменной. В результате один набор весов можно сочетать с несколькими компактными адаптерами.
Метод не загружает в модель новые документы как справочник и не гарантирует точные факты. Для меняющихся знаний чаще подходит RAG. LoRA разумна для поведения, формата, стиля или устойчивого доменного паттерна.
| Элемент | Назначение | Контроль |
|---|---|---|
| Промпт | Правило поведения | Без обучения |
| RAG | Меняющиеся знания | Внешний индекс |
| LoRA | Устойчивая адаптация | Нужны примеры |
| Полный fine-tuning | Глубокое изменение | Дороже |
Метод описан в первичной работе LoRA: Low-Rank Adaptation of Large Language Models. Параметры конкретной реализации проверяйте в документации выбранного фреймворка.
Проверьте необходимость обучения
Сначала очертите рабочий объект: задача, которую не закрывает хороший промпт. LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Ошибка «LoRA используют ради модного метода» здесь означает, что действие «сравнить с zero-shot и few-shot» запускают без исходного доказательства «базовая линия».
- Рабочее действие: сравнить с zero-shot и few-shot.
- Сохраняемый артефакт: базовая линия.
- Контрольная ситуация: формат ответа стабилен после примеров без обучения.
- Показатель решения: выигрыш над baseline.
До настройки сохраните базовая линия для объекта «задача, которую не закрывает хороший промпт». Затем выполните «сравнить с zero-shot и few-shot» и разберите случай «формат ответа стабилен после примеров без обучения». Этап «Проверьте необходимость обучения» принят, если ML-инженер подтверждает показатель «выигрыш над baseline», а риск «LoRA используют ради модного метода» не проявляется на пограничной выборке.
За этот участок отвечает ML-инженер. В журнале он связывает объект «задача, которую не закрывает хороший промпт» с артефактом «базовая линия», записывает версию входных данных, условия запуска и принятое решение. Если показатель «выигрыш над baseline» улучшается ценой нового риска «LoRA используют ради модного метода», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «сравнить с zero-shot и few-shot» должен воспроизводиться на примере «формат ответа стабилен после примеров без обучения».
Разберите пример отдельно: формат ответа стабилен после примеров без обучения. Полезно попросить второго специалиста повторить шаг «сравнить с zero-shot и few-shot» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «задача, которую не закрывает хороший промпт» владелец «ML-инженер» сверяет артефакт «базовая линия» с метрикой «выигрыш над baseline».
Отделите знания от поведения
Этап «Отделите знания от поведения» рассматривает меняющиеся факты и устойчивый способ ответа. LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Сбой возникает, когда в адаптер зашивают свежий каталог; поэтому сначала готовят карта требований, а затем выполняют «решить, нужен RAG или изменение поведения».
- Рабочее действие: решить, нужен RAG или изменение поведения.
- Сохраняемый артефакт: карта требований.
- Контрольная ситуация: цены остаются во внешней базе, стиль — в адаптере.
- Показатель решения: число фактов, требующих обновления.
Раздел «Отделите знания от поведения» проверяют обратным порядком: сначала фиксируют риск «в адаптер зашивают свежий каталог», затем воспроизводят «цены остаются во внешней базе, стиль — в адаптере» и только после этого выполняют «решить, нужен RAG или изменение поведения». Вывод опирается на карта требований; метрику «число фактов, требующих обновления» подписывает архитектор.
За этот участок отвечает архитектор. В журнале он связывает объект «меняющиеся факты и устойчивый способ ответа» с артефактом «карта требований», записывает версию входных данных, условия запуска и принятое решение. Если показатель «число фактов, требующих обновления» улучшается ценой нового риска «в адаптер зашивают свежий каталог», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «решить, нужен RAG или изменение поведения» должен воспроизводиться на примере «цены остаются во внешней базе, стиль — в адаптере».
Разберите пример отдельно: цены остаются во внешней базе, стиль — в адаптере. Полезно попросить второго специалиста повторить шаг «решить, нужен RAG или изменение поведения» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «меняющиеся факты и устойчивый способ ответа» владелец «архитектор» сверяет артефакт «карта требований» с метрикой «число фактов, требующих обновления».
Подготовьте примеры
Для раздела «Подготовьте примеры» рабочая граница — качественные пары вход—выход. Риск формулируется как «массовые слабые примеры размножают ошибку». LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Проверяемый ход — очистить и разметить небольшой набор, результат фиксируется в артефакте «паспорт датасета».
- Рабочее действие: очистить и разметить небольшой набор.
- Сохраняемый артефакт: паспорт датасета.
- Контрольная ситуация: каждый ответ проверен предметным экспертом.
- Показатель решения: доля принятых примеров.
Для объекта «качественные пары вход—выход» соберите обычный, крайний и ошибочный вход. Действие «очистить и разметить небольшой набор» должно дать проверяемый паспорт датасета. В сценарии «каждый ответ проверен предметным экспертом» роль владелец данных принимает решение по значению «доля принятых примеров» и отдельно записывает, возник ли риск «массовые слабые примеры размножают ошибку».
За этот участок отвечает владелец данных. В журнале он связывает объект «качественные пары вход—выход» с артефактом «паспорт датасета», записывает версию входных данных, условия запуска и принятое решение. Если показатель «доля принятых примеров» улучшается ценой нового риска «массовые слабые примеры размножают ошибку», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «очистить и разметить небольшой набор» должен воспроизводиться на примере «каждый ответ проверен предметным экспертом».
Разберите пример отдельно: каждый ответ проверен предметным экспертом. Полезно попросить второго специалиста повторить шаг «очистить и разметить небольшой набор» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «качественные пары вход—выход» владелец «владелец данных» сверяет артефакт «паспорт датасета» с метрикой «доля принятых примеров».
Заморозьте тест
Исходная точка пункта «Заморозьте тест»: примеры, не участвующие в обучении. До изменения сохраните хеш тестовой выборки. Если сразу перейти к шагу «отложить реальные пограничные случаи», может проявиться ошибка «качество проверяют на знакомых данных». LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке.
- Рабочее действие: отложить реальные пограничные случаи.
- Сохраняемый артефакт: хеш тестовой выборки.
- Контрольная ситуация: редкий формат остаётся только для оценки.
- Показатель решения: разрыв train и test.
Приёмка этапа «Заморозьте тест» начинается с независимого повтора. Второй специалист получает хеш тестовой выборки, применяет «отложить реальные пограничные случаи» к контуру «примеры, не участвующие в обучении» и сверяет «разрыв train и test». Случай «редкий формат остаётся только для оценки» считается обязательным; ошибка «качество проверяют на знакомых данных» останавливает выпуск.
За этот участок отвечает специалист качества. В журнале он связывает объект «примеры, не участвующие в обучении» с артефактом «хеш тестовой выборки», записывает версию входных данных, условия запуска и принятое решение. Если показатель «разрыв train и test» улучшается ценой нового риска «качество проверяют на знакомых данных», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «отложить реальные пограничные случаи» должен воспроизводиться на примере «редкий формат остаётся только для оценки».
Разберите пример отдельно: редкий формат остаётся только для оценки. Полезно попросить второго специалиста повторить шаг «отложить реальные пограничные случаи» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «примеры, не участвующие в обучении» владелец «специалист качества» сверяет артефакт «хеш тестовой выборки» с метрикой «разрыв train и test».
Выберите точки адаптации
В задаче «Выберите точки адаптации» ожидаемый объект — слои и модули базовой модели. LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Команда отдельно записывает опасение «адаптер подключают везде без измерения», выполняет «начать с документированной конфигурации» и оставляет спецификация target modules для повторной проверки.
- Рабочее действие: начать с документированной конфигурации.
- Сохраняемый артефакт: спецификация target modules.
- Контрольная ситуация: внимание адаптируется, остальные веса неизменны.
- Показатель решения: качество на параметр.
Не демонстрируйте раздел «Выберите точки адаптации» на одном удобном примере. Возьмите «внимание адаптируется, остальные веса неизменны», сохраните спецификация target modules и попросите роль исследователь выполнить «начать с документированной конфигурации». Решение по объекту «слои и модули базовой модели» принимают по метрике «качество на параметр», учитывая риск «адаптер подключают везде без измерения».
За этот участок отвечает исследователь. В журнале он связывает объект «слои и модули базовой модели» с артефактом «спецификация target modules», записывает версию входных данных, условия запуска и принятое решение. Если показатель «качество на параметр» улучшается ценой нового риска «адаптер подключают везде без измерения», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «начать с документированной конфигурации» должен воспроизводиться на примере «внимание адаптируется, остальные веса неизменны».
Разберите пример отдельно: внимание адаптируется, остальные веса неизменны. Полезно попросить второго специалиста повторить шаг «начать с документированной конфигурации» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «слои и модули базовой модели» владелец «исследователь» сверяет артефакт «спецификация target modules» с метрикой «качество на параметр».
Настройте ранг
Эксперимент «Настройте ранг» ограничьте контуром «ёмкость низкорангового изменения». Главная ловушка: высокий ранг увеличивают без проверки. Действие «сравнить несколько значений» допустимо после фиксации материала «серия экспериментов». LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке.
- Рабочее действие: сравнить несколько значений.
- Сохраняемый артефакт: серия экспериментов.
- Контрольная ситуация: малый ранг уже удерживает нужный формат.
- Показатель решения: метрика при разных рангах.
Эксперимент для «Настройте ранг» замораживают до изменения: объект «ёмкость низкорангового изменения», пример «малый ранг уже удерживает нужный формат», ожидаемый показатель «метрика при разных рангах». После шага «сравнить несколько значений» должен появиться серия экспериментов. Ответственный ML-инженер отклоняет вариант, если сохраняется риск «высокий ранг увеличивают без проверки».
За этот участок отвечает ML-инженер. В журнале он связывает объект «ёмкость низкорангового изменения» с артефактом «серия экспериментов», записывает версию входных данных, условия запуска и принятое решение. Если показатель «метрика при разных рангах» улучшается ценой нового риска «высокий ранг увеличивают без проверки», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «сравнить несколько значений» должен воспроизводиться на примере «малый ранг уже удерживает нужный формат».
Разберите пример отдельно: малый ранг уже удерживает нужный формат. Полезно попросить второго специалиста повторить шаг «сравнить несколько значений» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «ёмкость низкорангового изменения» владелец «ML-инженер» сверяет артефакт «серия экспериментов» с метрикой «метрика при разных рангах».
Контролируйте переобучение
На собственном материале проверьте расхождение обучения и проверки. LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Если возникает «адаптер повторяет формулировки датасета», вернитесь к шагу «следить за loss и независимыми примерами» и пересоберите кривые обучения, не меняя одновременно остальные условия.
- Рабочее действие: следить за loss и независимыми примерами.
- Сохраняемый артефакт: кривые обучения.
- Контрольная ситуация: модель копирует тренировочный ответ вместо решения.
- Показатель решения: качество на отложенной выборке.
В разделе «Контролируйте переобучение» сравните две версии на одинаковом входе «модель копирует тренировочный ответ вместо решения». Свидетельство кривые обучения связывает объект «расхождение обучения и проверки» с действием «следить за loss и независимыми примерами». Итоговый показатель — «качество на отложенной выборке»; владелец аналитик отдельно проверяет ошибку «адаптер повторяет формулировки датасета».
За этот участок отвечает аналитик. В журнале он связывает объект «расхождение обучения и проверки» с артефактом «кривые обучения», записывает версию входных данных, условия запуска и принятое решение. Если показатель «качество на отложенной выборке» улучшается ценой нового риска «адаптер повторяет формулировки датасета», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «следить за loss и независимыми примерами» должен воспроизводиться на примере «модель копирует тренировочный ответ вместо решения».
Разберите пример отдельно: модель копирует тренировочный ответ вместо решения. Полезно попросить второго специалиста повторить шаг «следить за loss и независимыми примерами» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «расхождение обучения и проверки» владелец «аналитик» сверяет артефакт «кривые обучения» с метрикой «качество на отложенной выборке».
Сравните с базовой моделью
Владельца для этапа «Сравните с базовой моделью» назначают до работы с объектом «одинаковые запросы и параметры генерации». LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Он не допускает ошибку «результат меняют вместе с температурой», требует выполнить «провести парный слепой тест» и принять таблица ответов.
- Рабочее действие: провести парный слепой тест.
- Сохраняемый артефакт: таблица ответов.
- Контрольная ситуация: эксперт не знает, где подключён адаптер.
- Показатель решения: предпочтение и число ошибок.
Для решения по этапу «Сравните с базовой моделью» недостаточно слов автора. Сначала роль редактор получает таблица ответов, затем повторяет «провести парный слепой тест» и проверяет объект «одинаковые запросы и параметры генерации» на ситуации «эксперт не знает, где подключён адаптер». Метрика «предпочтение и число ошибок» принимается только без проявления риска «результат меняют вместе с температурой».
За этот участок отвечает редактор. В журнале он связывает объект «одинаковые запросы и параметры генерации» с артефактом «таблица ответов», записывает версию входных данных, условия запуска и принятое решение. Если показатель «предпочтение и число ошибок» улучшается ценой нового риска «результат меняют вместе с температурой», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «провести парный слепой тест» должен воспроизводиться на примере «эксперт не знает, где подключён адаптер».
Разберите пример отдельно: эксперт не знает, где подключён адаптер. Полезно попросить второго специалиста повторить шаг «провести парный слепой тест» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «одинаковые запросы и параметры генерации» владелец «редактор» сверяет артефакт «таблица ответов» с метрикой «предпочтение и число ошибок».
Версионируйте адаптер
Контрольный пример раздела «Версионируйте адаптер» должен раскрывать база, LoRA, данные и конфигурация. Риск — адаптер подключается к несовместимой базе. LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Пример проходит действие «хранить манифест совместимости», после чего команда получает карточка релиза.
- Рабочее действие: хранить манифест совместимости.
- Сохраняемый артефакт: карточка релиза.
- Контрольная ситуация: адаптер версии A работает только с точной базой B.
- Показатель решения: число ошибок загрузки.
Контроль «Версионируйте адаптер» включите в регрессионный набор. Он хранит карточка релиза, вход «адаптер версии A работает только с точной базой B» и ожидаемую величину «число ошибок загрузки». При повторе действия «хранить манифест совместимости» специалист инженер платформы должен подтвердить объект «база, LoRA, данные и конфигурация» и отсутствие сбоя «адаптер подключается к несовместимой базе».
За этот участок отвечает инженер платформы. В журнале он связывает объект «база, LoRA, данные и конфигурация» с артефактом «карточка релиза», записывает версию входных данных, условия запуска и принятое решение. Если показатель «число ошибок загрузки» улучшается ценой нового риска «адаптер подключается к несовместимой базе», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «хранить манифест совместимости» должен воспроизводиться на примере «адаптер версии A работает только с точной базой B».
Разберите пример отдельно: адаптер версии A работает только с точной базой B. Полезно попросить второго специалиста повторить шаг «хранить манифест совместимости» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «база, LoRA, данные и конфигурация» владелец «инженер платформы» сверяет артефакт «карточка релиза» с метрикой «число ошибок загрузки».
Планируйте откат
Свяжите пункт «Планируйте откат» с решением человека о контуре «быстрое отключение адаптера». LoRA уменьшает число обучаемых параметров, но не отменяет требования к данным и проверке. Без шага «сохранить базовый маршрут» и артефакта «процедура переключения» нельзя исключить ошибку «ошибка остаётся в проде до нового обучения».
- Рабочее действие: сохранить базовый маршрут.
- Сохраняемый артефакт: процедура переключения.
- Контрольная ситуация: при деградации сервис возвращается к проверенной модели.
- Показатель решения: время отката.
Перед закрытием пункта «Планируйте откат» воспроизведите цепочку: быстрое отключение адаптера; сохранить базовый маршрут; процедура переключения. На примере «при деградации сервис возвращается к проверенной модели» измерьте «время отката». Роль дежурная команда выбирает запуск, исправление или отказ, если обнаруживается риск «ошибка остаётся в проде до нового обучения».
За этот участок отвечает дежурная команда. В журнале он связывает объект «быстрое отключение адаптера» с артефактом «процедура переключения», записывает версию входных данных, условия запуска и принятое решение. Если показатель «время отката» улучшается ценой нового риска «ошибка остаётся в проде до нового обучения», изменение не выпускают, пока не появится защитная метрика и план отката. Практический шаг «сохранить базовый маршрут» должен воспроизводиться на примере «при деградации сервис возвращается к проверенной модели».
Разберите пример отдельно: при деградации сервис возвращается к проверенной модели. Полезно попросить второго специалиста повторить шаг «сохранить базовый маршрут» без устного объяснения. Если он получает другой вывод, документация неполна. Если одинаковый — контроль можно включать в регрессионный набор и повторять после смены модели, данных, кода или назначения системы. Для объекта «быстрое отключение адаптера» владелец «дежурная команда» сверяет артефакт «процедура переключения» с метрикой «время отката».
Матрица приёмки
| Этап | Доказательство | Владелец |
|---|---|---|
| Проверьте необходимость обучения | базовая линия | ML-инженер |
| Отделите знания от поведения | карта требований | архитектор |
| Подготовьте примеры | паспорт датасета | владелец данных |
| Заморозьте тест | хеш тестовой выборки | специалист качества |
| Выберите точки адаптации | спецификация target modules | исследователь |
| Настройте ранг | серия экспериментов | ML-инженер |
Что изучить дальше
- локальная нейросеть
- большие языковые модели
- few-shot prompting
- RAG
- системный промпт
- аудит ИИ-систем
- персональные данные в ИИ
Чек-лист запуска
- Определена одна задача и единица результата.
- Собрана неизменная тестовая выборка.
- Есть базовая линия без новой технологии.
- Основная и защитная метрики записаны заранее.
- Версии данных, модели и настроек связаны.
- Пограничные и ошибочные случаи проверены отдельно.
- Назначены владелец решения и владелец риска.
- Есть условие остановки и рабочий откат.
Остался вопрос по теме статьи? Напишите его в предложку блога — отвечаю лично: задать вопрос в MAX. Частые вопросы разбираю отдельными статьями и присылаю ссылку тому, кто спросил.
Читайте дальше
-
Семантический поиск: как находить документы по смыслу
Семантический поиск находит документы по смыслу, даже когда запрос и ответ сформулированы разными словами. Рабочий…
-
Токенизация текста: как нейросеть делит слова и считает контекст
Токенизация текста — разбиение строки на единицы из словаря модели: целые слова, части слов, знаки и специальные…
-
Мультимодальная нейросеть: как она работает с текстом, фото и аудио
Мультимодальная нейросеть принимает несколько типов данных: текст, изображения, аудио или видео — и связывает их в…