tgoop.com/quant_prune_distill/4
Last Update:
QLoRA: Efficient Finetuning of Quantized LLMs
Первый пост будет посвящен работе, относительно свежей по меркам Deep Learning, где, как известно, статьи отличаются небольшим сроком годности.
В последние несколько лет мы стали свидетелями бешеного прогресса глубокого обучения во всех его ипостасях, проявлениях и приложениях, и флагманом прогресса выступает область NLP (Natural Language Processing). Разрастающиеся в ширину и глубину модели, обученные на колосалльных обьемах данных, дополненные современными плюшками и прибамбасами в виде instruction finetuning, RLHF (reinforcement learning on human feedback) и прочими другими, демонстируют способности, которые еще не так давно казались бы чем-то из разряда научной фантастики.
Однако выдающиеся возможности языковых моделей не даются за бесплатно, всему есть цена. Характерный размер современных языковых моделей используемых в новомодных чатботах по типу Alpaca, Vicuna и прочих представителей животного мира исчисляется порядка десятков миллиардов параметров, что делает традиционный инференс на пользовательских GPU и любимом колабе затруднительным 😔.
Отсюда возникает естественный вопрос на сжатие таких моделей, и квантизация (представление чисел в более низкой точности) на текущий момент, по всей видимости, является наиболее ходовым решением.
Но если хочется пользоваться не просто готовой моделькой, а еще дообучить на какую-то специфичную задачу? Как бы много данных не видела сеть в процессе своего обучения, для достижения хорошего качества в конкретном приложении обыкновенно требуется дообучать модель, и существует множество способов и вариантов эффективного по памяти и вычислительным ресурсам техник по дообучению большихх сетей - различные адаптеры (среди них наиболее популярна LoRA, заслуживающая отдельного разбора), prompt tuning, in context learning и иже с ними.
И в статье, которой посвящен сегодняшний выпуск, предложили эффективный алгоритм квантования весов и последующую процедуру дообучения модели под чатбота, в результате которой получается весьма годный ассистент Guanaco, который, как утверждается, бьет всех open-source конкурентов.
Если перечислить списком основные результаты статьи, выходит что-то такое:
1. Новый тип для хранения весов 4-bit NormalFloat (NF4).
2. Двойное квантование (Double quantization).
3. Paged отпимизаторы
4. Экстенстивная валидация модели на разных бенчмарках и исследование самих бенчмарков
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/4