Перейти к содержимому

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. Размер контрольной точки уменьшился с...