Генеративный ИИ

LoRA

LoRA

новинкаНовое или быстро растущее направление

Направления: Генеративный ИИ · Большие языковые модели, Инженерия ИИ · Эффективность моделей

Обучение низкоранговых добавок к весам вместо полного модели.

Что означает каждый компонент
  • исходные веса модели — они заморожены и не обучаются
  • низкоранговая поправка: две узкие матрицы, произведение которых имеет ранг r
  • ранг адаптера (обычно 8–64). Обучается доля процента параметров вместо всей модели

Ключевые тезисы

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

Какую задачу решает

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

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

Сколько экономит LoRA

Модель на 7 млрд параметров, полное в fp16: 14 ГБ на веса, 14 ГБ на , 56 ГБ на состояния — около 84 ГБ, то есть минимум две A100. с рангом 16 на : обучаемых параметров примерно 20 млн, состояния — доли гигабайта, базовые веса лежат замороженными и без градиентов. Итог около 16 ГБ — одна . С 4-битной базой (QLoRA) это падает примерно до 6 ГБ, и дообучение становится возможным на игровой видеокарте.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

Обозначения
  • приращение — малое изменение величины
  • награда, полученная агентом на шаге
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • матрица преобразования
Пример

Слой — это 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: двукратная экономия памяти и заметное ускорение.

Проверить себя

Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.

Следующий шагПроверить себя: Генеративный ИИ и LLMТема встречается в этом тесте 2 раза. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Генеративный ИИ» последний раз правилась . Нашли ошибку — напишите.