ММООЗЗГГ.ru

Словарь ИИ

Что такое QLoRA

Коротко

QLoRA это способ дообучить большую языковую модель на одной видеокарте: исходную модель сжимают до 4 бит, а поверх нее обучают небольшие адаптеры LoRA.

Языковые модели · QLoRA

Михаил МозгПроверено: 1 минута чтения

Ребенку

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

Простыми словами

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

Для бизнеса

Метод снижает порог входа в собственную модель: дообучение, для которого раньше арендовали кластер, помещается на один сервер с профессиональной видеокартой. Это важно, когда данные нельзя отдавать внешнему сервису и модель должна работать в вашем контуре. Цена определяется памятью видеокарты, размером модели и числом прогонов, а основная работа уходит на подготовку примеров. Ограничения: скорость обучения бывает ниже, чем у несжатой модели, а итоговую связку нужно проверять на ваших задачах, потому что сжатие иногда портит редкие навыки. Какая видеокарта потянет нужный размер модели, считают заранее по памяти и цене.

Для специалиста

QLoRA (Dettmers, Pagnoni, Holtzman, Zettlemoyer, 2023) соединяет квантизацию и низкоранговые адаптеры. Градиенты проходят через замороженную модель, веса которой хранятся в 4 битах, в обучаемые матрицы LoRA; при каждом использовании веса распаковываются в BFloat16, и умножение идет в 16 битах. Авторы заявляют, что качество 16-битного дообучения сохраняется. Новшества работы три. Тип 4-bit NormalFloat (NF4) обоснован как теоретически оптимальный для нормально распределенных весов. Двойная квантизация (double quantization) сжимает и сами константы квантизации. Страничные оптимизаторы (paged optimizers) сглаживают пики потребления памяти. Авторы дообучили больше 1000 моделей; семейство Guanaco на бенчмарке Vicuna достигло 99,3% уровня ChatGPT за 24 часа обучения на одной видеокарте. Авторы опубликовали модели, код и CUDA-ядра для 4-битного обучения; в библиотеке PEFT метод собирают из 4-битной загрузки через bitsandbytes и адаптеров LoRA. Слабые места: накладные расходы на деквантизацию и необходимость проверять качество после слияния адаптера.

Пример

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

Связанные термины

Вопросы и ответы

Чем QLoRA отличается от LoRA?

LoRA обучает маленькие адаптеры поверх модели в обычной точности. QLoRA делает то же поверх модели, сжатой до 4 бит, поэтому требует заметно меньше видеопамяти.

Падает ли качество модели после QLoRA?

Авторы метода сообщают, что качество сохраняется на уровне 16-битного дообучения. На практике это проверяют на своих задачах: сжатие может сильнее сказаться на редких навыках и сложных рассуждениях.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram