Обучение низкоранговых добавок к весам вместо полного модели.
- исходные веса модели — они заморожены и не обучаются
- низкоранговая поправка: две узкие матрицы, произведение которых имеет ранг r
- ранг адаптера (обычно 8–64). Обучается доля процента параметров вместо всей модели
Ключевые тезисы
- Обучается доля процента параметров при близком к полному качестве.
- малы, их легко хранить и переключать на лету.
- QLoRA позволяет дообучать крупные модели на одной .
Какую задачу решает
Полное модели на 70 млрд параметров требует памяти под сами веса, их и состояния — суммарно сотни гигабайт. Для большинства команд это недоступно, а хранить отдельную копию модели под каждую задачу тем более.
исходит из наблюдения, что нужное изменение весов имеет низкий ранг: чтобы адаптировать модель к задаче, не нужно менять всю , достаточно добавить к ней произведение двух узких. Обучаются только эти узкие матрицы — доли процента параметров, — а исходные веса остаются замороженными. Адаптер весит мегабайты, обучается на одной видеокарте и подключается или отключается на лету.
Модель на 7 млрд параметров, полное в fp16: 14 ГБ на веса, 14 ГБ на , 56 ГБ на состояния — около 84 ГБ, то есть минимум две A100. с рангом 16 на : обучаемых параметров примерно 20 млн, состояния — доли гигабайта, базовые веса лежат замороженными и без градиентов. Итог около 16 ГБ — одна . С 4-битной базой (QLoRA) это падает примерно до 6 ГБ, и дообучение становится возможным на игровой видеокарте.
Подробный разбор
- приращение — малое изменение величины
- награда, полученная агентом на шаге
- номер или количество: индекс шага, число соседей, кластеров или позиций
- матрица преобразования
Слой — это 16.7 млн параметров. При обучает тысяч — в 256 раз меньше.
- Адаптер весит мегабайты: можно хранить десятки стилей и переключать их на лету.
- задаёт масштаб поправки; типично –.
- QLoRA: базовая модель в 4 битах + в 16 битах — 70B-модели на одной .
- Классика — адаптировать и ; расширение на все линейные слои даёт небольшой прирост при большей стоимости.
- – хватает для стилевой адаптации, – — для доменной.
- обычно берут равным .
- можно «вплавить» в веса (
merge_and_unload) — тогда не имеет накладных расходов.
Где применяется
- Много задач на одной базеОдин базовый чекпойнт в памяти и десятки адаптеров, переключаемых по запросу.
- на скромном железеQLoRA позволяет адаптировать крупную модель на одной потребительской видеокарте.
- Стиль в генерации изображенийВ диффузионных моделях — стандартный способ добавить персонажа или художественный стиль.
- Быстрые экспериментыОбучение адаптера занимает часы, откат — удаление файла.
Плюсы, минусы и альтернативы
Плюсы
- Обучается 0.1–1% параметров: память и время падают на порядок.
- Адаптер весит мегабайты — легко хранить, версионировать и раздавать.
- Базовые веса не тронуты: катастрофическое забывание практически исключено.
- переключаются во время работы, можно комбинировать.
- После слияния весов нулевые накладные расходы на .
Минусы
- На задачах, требующих действительно новых знаний, уступает полному .
- Появляются свои : ранг, , набор целевых слоёв.
- Без слияния добавляет небольшую задержку на .
- Несколько адаптеров вместе могут конфликтовать непредсказуемо.
- Привязан к конкретной базовой модели: сменили базу — обучайте заново.
Брать, если
- Нужно , но нет ресурсов на полное.
- Задач несколько и хочется обойтись одной базовой моделью.
- Нужны быстрые обратимые эксперименты.
Не брать, если
- Модель должна усвоить большой пласт новых знаний — здесь честнее полное или дообучение на домене.
- Модель маленькая и полное и так по карману — оно проще.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Эффективность моделей · Адаптация языковых моделей · Сжатие моделей
Distillation96%
Дистилляция · Генеративный ИИОбучение маленькой модели воспроизводить поведение большой: кратное снижение стоимости при небольшой потере качества.
GPU Inference96%
GPU-инференс · Системный дизайн ML-сервисовКак выжать из видеокарты пропускную способность и не переплачивать.
Transfer Learning80%
Перенос обучения · Глубокое обучениеИспользование модели, обученной на большой выборке, для задачи с малым числом примеров. Главный практический приём современного глубокого обучения.
Mixture of Experts80%
Смесь экспертов · Глубокое обучениеАрхитектура, в которой на каждый токен активируется лишь часть параметров: большая ёмкость при умеренной стоимости вычислений.
Cost Model80%
Экономика сервиса · Системный дизайн ML-сервисовСтоимость одного предсказания и точка, где модель перестаёт окупаться.
Prompting80%
Промптинг · Генеративный ИИУправление поведением модели через формулировку запроса, без изменения весов.
Fine-tuning80%
Дообучение · Генеративный ИИАдаптация предобученной модели под домен или формат на собственных данных.
RLHF80%
RLHF · Генеративный ИИДообучение по человеческим предпочтениям: модель награды + оптимизация политики.
RAG80%
RAG · Генеративный ИИПодмешивание найденных документов в контекст модели вместо хранения знаний в весах.
PPO80%
PPO · Обучение с подкреплениемУстойчивый policy-gradient метод с ограничением величины обновления политики.
GPT80%
GPT · Обработка естественного языкаАвторегрессионный декодер: предсказывает следующий токен, что оказалось достаточно универсальной задачей.
Pruning80%
Прунинг · Глубокое обучениеУдаление наименее значимых весов, каналов или голов внимания из уже обученной сети ради скорости инференса.
PEFT and Adapters80%
Экономное дообучение · Генеративный ИИБазовая модель заморожена, обучается лишь небольшой набор дополнительных параметров — адаптеры, LoRA, префиксы.
Mixed Precision80%
Смешанная точность · Оптимизация обученияОбучение в fp16 или bf16 при накоплении в fp32: двукратная экономия памяти и заметное ускорение.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Низкоранговая поправка
, где и узкие. Обучаются только они, заморожена.
Разбор ниже: Низкоранговая поправкаРанг
Ширина адаптера. 8–16 хватает для стиля и формата, 64+ нужно для сложных навыков.
Разбор ниже: Практика применения LoRAQLoRA
База в 4-битной плюс поверх: модели на 70B умещается в одну видеокарту.
Разбор ниже: Практика применения LoRAСлияние весов
После обучения адаптер можно вплавить в базовые веса — тогда не замедляется вовсе.
Разбор ниже: Низкоранговая поправкаПрофильная компетенция для роли: LLM-инженер.
Усиливает профиль: NLP-инженер, Продуктовый инженер, Исследователь.
Спрашивают на собеседовании: Сбер — NLP и LLM, Группа Астра — Ассистенты для администраторов, Cloud.ru — Платформа обучения.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Генеративный ИИ» последний раз правилась . Нашли ошибку — напишите.