Дообучение, LoRA и QLoRA: когда менять параметры модели

Fine-tuning продолжает обучение предобученной модели на целевом наборе. Он подходит для устойчивой адаптации поведения, формата и доменного распределения, но требует данных,…

Краткий ответ

Fine-tuning продолжает обучение предобученной модели на целевом наборе. Он подходит для устойчивой адаптации поведения, формата и доменного распределения, но требует данных, вычислений и оценки.

Fine-tuning продолжает обучение предобученной модели на целевом наборе. Он подходит для устойчивой адаптации поведения, формата и доменного распределения, но требует данных, вычислений и оценки. Для часто меняющихся фактов обычно лучше retrieval, чем попытка «записать» каждое обновление в веса.

Полный fine-tuning и SFT

При полном fine-tuning обновляются все или большинство параметров. Это гибко, но дорого по памяти: нужно хранить веса, градиенты и состояния оптимизатора. Маленький или узкий датасет может вызвать переобучение и ухудшить общие способности.

Supervised fine-tuning использует демонстрации желаемых ответов. Он может быть полным или параметрически эффективным. Важно разделять метод данных SFT и способ обновления параметров.

Как работает LoRA

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

Низкий rank — гиперпараметр, а не обещание бесплатного качества. Выбор слоёв, learning rate, длина примеров и качество датасета влияют на результат. Несколько адаптеров также могут конфликтовать при наивном объединении.

Что добавляет QLoRA

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

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

Когда fine-tuning не нужен

Fine-tuning оправдан, когда большой поток однотипных запросов требует устойчивого поведения, prompting слишком дорог или нестабилен, а метрики показывают выигрыш.

Данные и защита от деградации

Разделите train, validation и test до эксперимента. Удалите дубли между ними, включите отрицательные и пограничные примеры. Сравнивайте с базовой моделью на доменной задаче и на общих safety/regression тестах.

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

Упражнение: выбрать способ адаптации

Для трёх требований выберите prompt, RAG или LoRA: новый фирменный тон ответов; актуальные цены из каталога; строгий расчёт налога. Обоснуйте выбор.

Ожидаемая логика: стиль может стать кандидатом на SFT/LoRA после baseline с prompt; цены требуют источника данных; налог лучше вычислять детерминированным сервисом. Затем придумайте тест, который покажет, что выбранный способ действительно лучше.

Частые вопросы

LoRA добавляет знания без риска забывания?

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

QLoRA всегда даёт качество полного fine-tuning?

Исходная работа показала сильные результаты на исследованных моделях и задачах, но это не универсальная гарантия. Домен, данные, rank и квантование могут изменить вывод.

Можно обучить модель на ответах другой модели?

Можно создавать синтетические данные, но ошибки и стилевые смещения учителя переходят ученику. Нужны фильтрация, лицензирование, независимая проверка и доля человечески подтверждённых примеров.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/generative-ai-foundations/generative-ai-12