ChatPaper.aiChatPaper

QLoRA: Ajuste Fino Eficiente de Modelos de Linguagem Quantizados

QLoRA: Efficient Finetuning of Quantized LLMs

May 23, 2023
Autores: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
cs.AI

Resumo

Apresentamos o QLoRA, uma abordagem eficiente de ajuste fino que reduz o uso de memória o suficiente para ajustar um modelo de 65 bilhões de parâmetros em uma única GPU de 48GB, preservando o desempenho total de tarefas de ajuste fino em 16 bits. O QLoRA propaga gradientes através de um modelo de linguagem pré-treinado quantizado em 4 bits e congelado, direcionando-os para Adaptadores de Baixa Rank (LoRA). Nossa melhor família de modelos, que nomeamos Guanaco, supera todos os modelos anteriormente lançados publicamente no benchmark Vicuna, atingindo 99,3% do nível de desempenho do ChatGPT enquanto requer apenas 24 horas de ajuste fino em uma única GPU. O QLoRA introduz várias inovações para economizar memória sem sacrificar desempenho: (a) NormalFloat de 4 bits (NF4), um novo tipo de dados que é teoricamente ótimo em termos de informação para pesos distribuídos normalmente; (b) quantização dupla para reduzir a média da pegada de memória ao quantizar as constantes de quantização; e (c) otimizadores paginados para gerenciar picos de memória. Usamos o QLoRA para ajustar mais de 1.000 modelos, fornecendo uma análise detalhada do seguimento de instruções e do desempenho de chatbots em 8 conjuntos de dados de instruções, múltiplos tipos de modelos (LLaMA, T5) e escalas de modelos que seriam inviáveis de executar com ajuste fino regular (por exemplo, modelos de 33B e 65B parâmetros). Nossos resultados mostram que o ajuste fino com QLoRA em um pequeno conjunto de dados de alta qualidade leva a resultados de última geração, mesmo ao usar modelos menores que os anteriores SoTA. Fornecemos uma análise detalhada do desempenho de chatbots com base em avaliações humanas e do GPT-4, mostrando que as avaliações do GPT-4 são uma alternativa barata e razoável às avaliações humanas. Além disso, descobrimos que os benchmarks atuais de chatbots não são confiáveis para avaliar com precisão os níveis de desempenho dos chatbots. Uma análise selecionada demonstra onde o Guanaco falha em comparação com o ChatGPT. Lançamos todos os nossos modelos e códigos, incluindo kernels CUDA para treinamento em 4 bits.
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.
PDF5610December 15, 2024