ChatPaper.aiChatPaper

QLoRA: Эффективная тонкая настройка квантованных больших языковых моделей

QLoRA: Efficient Finetuning of Quantized LLMs

May 23, 2023
Авторы: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
cs.AI

Аннотация

Мы представляем QLoRA — эффективный метод тонкой настройки, который снижает использование памяти до уровня, позволяющего выполнять тонкую настройку модели с 65 миллиардами параметров на одном GPU с 48 ГБ памяти, сохраняя при этом полную производительность 16-битной тонкой настройки. QLoRA распространяет градиенты через замороженную, 4-битную квантованную предобученную языковую модель в Low Rank Adapters (LoRA). Наша лучшая семейная модель, которую мы назвали Guanaco, превосходит все ранее открыто выпущенные модели на бенчмарке Vicuna, достигая 99,3% уровня производительности ChatGPT, при этом требуя всего 24 часа тонкой настройки на одном GPU. QLoRA вводит ряд инноваций для экономии памяти без ущерба для производительности: (a) 4-битный NormalFloat (NF4) — новый тип данных, теоретически оптимальный для нормально распределенных весов; (b) двойное квантование для уменьшения среднего объема памяти за счет квантования констант квантования; и (c) пейджированные оптимизаторы для управления всплесками памяти. Мы используем QLoRA для тонкой настройки более 1000 моделей, предоставляя детальный анализ выполнения инструкций и производительности чат-ботов на 8 наборах данных с инструкциями, различных типах моделей (LLaMA, T5) и масштабах моделей, которые было бы невозможно запустить с обычной тонкой настройкой (например, модели с 33 и 65 миллиардами параметров). Наши результаты показывают, что тонкая настройка QLoRA на небольшом высококачественном наборе данных приводит к передовым результатам, даже при использовании моделей меньшего размера, чем предыдущие SoTA. Мы предоставляем детальный анализ производительности чат-ботов на основе оценок как людей, так и GPT-4, показывая, что оценки GPT-4 являются дешевой и разумной альтернативой человеческой оценке. Кроме того, мы обнаруживаем, что текущие бенчмарки для чат-ботов не заслуживают доверия для точной оценки их производительности. Анализ с "выбором лимонов" демонстрирует, где Guanaco уступает ChatGPT. Мы публикуем все наши модели и код, включая CUDA-ядра для 4-битного обучения.
English
We present QLoRA, an efficient finetuning approach that reduces memory usage enough to finetune a 65B parameter model on a single 48GB GPU while preserving full 16-bit finetuning task performance. QLoRA backpropagates gradients through a frozen, 4-bit quantized pretrained language model into Low Rank Adapters~(LoRA). Our best model family, which we name Guanaco, outperforms all previous openly released models on the Vicuna benchmark, reaching 99.3% of the performance level of ChatGPT while only requiring 24 hours of finetuning on a single GPU. QLoRA introduces a number of innovations to save memory without sacrificing performance: (a) 4-bit NormalFloat (NF4), a new data type that is information theoretically optimal for normally distributed weights (b) double quantization to reduce the average memory footprint by quantizing the quantization constants, and (c) paged optimziers to manage memory spikes. We use QLoRA to finetune more than 1,000 models, providing a detailed analysis of instruction following and chatbot performance across 8 instruction datasets, multiple model types (LLaMA, T5), and model scales that would be infeasible to run with regular finetuning (e.g. 33B and 65B parameter models). Our results show that QLoRA finetuning on a small high-quality dataset leads to state-of-the-art results, even when using smaller models than the previous SoTA. We provide a detailed analysis of chatbot performance based on both human and GPT-4 evaluations showing that GPT-4 evaluations are a cheap and reasonable alternative to human evaluation. Furthermore, we find that current chatbot benchmarks are not trustworthy to accurately evaluate the performance levels of chatbots. A lemon-picked analysis demonstrates where Guanaco fails compared to ChatGPT. We release all of our models and code, including CUDA kernels for 4-bit training.
PDF547December 15, 2024