LoRA, QLoRA и адаптеры: как дообучать огромные ИИ-модели с минимумом параметров
MartinHanderPhD
0:00 / 0:00
LoRA, QLoRA и адаптеры: как дообучать огромные ИИ-модели с минимумом параметров
34 просмотра · 13 ч назад
MartinHanderPhD
293 подписчика
34 просмотра · 13 ч назад
В 2023 году исследователи доработали языковую модель с 65 миллиардами параметров, используя один графический процессор объемом 48 ГБ. Для обычной базовой модели с полной доработкой, описанной в статье о QLoRA, требовалось более 780 ГБ памяти. Требования к памяти зависят от реализации; QLoRA сочетает LoRA с квантованным замороженным базовым значением. Это стало возможным благодаря параметрически эффективной доработке (PEFT).
В этом видео мы рассмотрим методы, которые делают тонкую настройку больших моделей более доступной:
Почему полная тонкая настройка так дорога (веса, градиенты, состояния оптимизатора Adam, одна контрольная точка на задачу)
Идея PEFT: заморозить базовую модель и обучить крошечную её часть
Адаптеры (Houlsby et al., 2019): модули-бутылочные горлышки внутри каждого слоя трансформера
Префиксная настройка и настройка подсказок: обучение мягким подсказкам вместо весов
Внутренняя размерность: почему эффективная адаптация может быть найдена в небольшом подпространстве
LoRA (Hu et al., 2021): обновления низкого ранга, масштабирование alpha/r, инициализация, целевые модули, слияние для устранения дополнительных вычислений LoRA
QLoRA (Dettmers et al., 2023): 4-битный NormalFloat (NF4), двойное квантование, страничные оптимизаторы
Современные варианты: DoRA, AdaLoRA, LoRA+, rsLoRA, IA³
Практический рабочий процесс QLoRA с Hugging Face PEFT + bitsandbytes
Подводные камни, ограничения и руководство по выбору между подсказками, полной тонкой настройкой, LoRA и QLoRA
👍 Если это вам помогло, поставьте лайк видео и подпишитесь, чтобы получать больше подробных обзоров ИИ и машинного обучения.
💬 Какую модель вы хотите донастроить? Напишите в комментариях.
Разделы
00:00 Тонкая настройка 65-байтовой модели на одном графическом процессоре
00:45 Что в этом видео
01:30 Зачем вообще нужна тонкая настройка?
02:15 Стоимость памяти при полной тонкой настройке
03:00 Проблема хранения: одна копия на задачу
03:45 Идея PEFT: заморозить, затем немного добавить
04:30 Руководство по методам PEFT
05:15 Адаптеры (Houlsby et al., 2019)
06:00 Формула узкого места адаптера
06:45 Результаты адаптера и их скрытая стоимость
07:30 Настройка префикса и настройка подсказки
08:15 Внутренняя размерность
09:00 LoRA: адаптация низкого ранга
09:45 Формула LoRA
10:30 Подсчет параметров
11:15 Инициализация: B начинается с нуля
12:00 Куда поместить LoRA в трансформере
12:45 Ранг и альфа
13:30 Слияние: нулевая дополнительная задержка вывода
14:15 Результаты LoRA
15:00 Оставшееся узкое место: замороженные веса
15:45 Основы квантования
16:30 4-битный NormalFloat (NF4)
17:15 Двойное квантование
18:00 Оптимизаторы страничного доступа
18:45 QLoRA: объединение всех элементов
19:30 Результаты QLoRA: Guanaco
20:15 Сравнение памяти для 7-битной модели
21:00 DoRA, AdaLoRA, LoRA+ и IA³
21:45 Практический рабочий процесс QLoRA
22:30 Подводные камни и ограничения
23:15 Руководство по принятию решений: какой метод использовать в каком случае?
24:00 Краткий обзор
24:45 Заключение
Ресурсы и инструменты
📘 Мои книги
• Машинное обучение, от начала до конца (моя книга) (*): https://amzn.to/4jn0xeU
• Разработка на облачной инфраструктуре Oracle (моя книга) (*): https://amzn.to/3W9jmsa
• Создание систем ИИ с помощью Python (моя книга) (*): https://amzn.to/4yJGSdK
📚 Рекомендуемая литература
• Обучение с подкреплением: введение - Саттон и Барто (*): https://amzn.to/4i0F3SG
• Глубинное обучение - Гудфеллоу, Бенджио и Курвиль (*): https://amzn.to/4yO6VQV
• Практическое машинное обучение - Орельен Жерон (*): https://amzn.to/4B7qe9A
☁️ Запустите код самостоятельно
• RunPod — облачные графические процессоры для проведения экспериментов (бонусные кредиты для новых пользователей) (*): https://runpod.io?ref=qbnj1x01
(*) Партнерская ссылка — если вы совершите покупку по ней, я могу получить небольшую комиссию без дополнительных затрат с вашей стороны. Как партнер Amazon, я получаю доход от соответствующих покупок.
Источники (проверено на факты)
Houlsby et al. (2019): Parameter-Efficient Transfer Learning for NLP, ICML 2019. На GLUE адаптеры приблизились к полной тонкой настройке на 0,4 процентных пункта, добавив 3,6 % дополнительных параметров на задачу. [Статья](https://arxiv.org/abs/1902.00751).
Ли и Лян (2021): Настройка префиксов: оптимизация непрерывных подсказок для генерации. [Статья](https://arxiv.org/abs/2101.00190).
Лестер, Аль-Рфу и Констант (2021): Сила масштаба для параметрически эффективной настройки подсказок. [Статья](https://arxiv.org/abs/2104.08691).
Агаджанян, Зеттлемойер и Гупта (2020): Внутренняя размерность объясняет эффективность тонкой настройки языковой модели. На MRPC с RoBERTa ~200 параметров достигли 90 % от полной производительности. [Статья](https://arxiv.org/abs/2012.13255).
Ху и др. (2021): LoRA: низкоранговая адаптация больших языковых моделей. На GPT-3 175B LoRA использовала до 10 000 раз меньше обучаемых параметров и примерно в 3 раза меньше памяти GPU. Размер контрольной точки уменьшился с...