Novas Técnicas pra Treinar Grandes Modelos de Linguagem
Um novo método melhora a eficiência de memória no treinamento de grandes modelos de linguagem em hardware comum.
― 7 min ler
Índice
- Desafios de Memória no Treinamento
- Abordagens Atuais para Reduzir o Uso de Memória
- Uma Nova Abordagem: Projeção de Gradiente de Baixa Classificação
- Desempenho e Eficiência
- Vantagens Sobre Métodos Existentes
- Trabalhos Relacionados em Técnicas Eficientes em Memória
- Implementação do Novo Método
- Benefícios para Pré-Treinamento e Ajuste Fino
- Resultados Experimentais
- Implicações no Mundo Real
- Conclusão
- Direções Futuras
- Fonte original
- Ligações de referência
Treinar grandes modelos de linguagem (LLMs) exige muita memória por causa do tamanho dos Parâmetros e do estado do otimizador usado no Treinamento. Esses modelos estão se tornando cada vez mais comuns em tarefas como chatbots e tradução de idiomas. Embora eles se saiam bem, a alta demanda por memória dificulta o treinamento, especialmente em GPUs comuns que temos nos computadores pessoais.
Desafios de Memória no Treinamento
Quando se treina um LLM típico, a memória usada precisa acomodar bilhões de parâmetros, além de seus gradientes e estados do otimizador. Por exemplo, treinar um modelo como o LLaMA 7B do zero pode exigir mais de 58 GB de memória. Essa memória é consumida por vários componentes, como os parâmetros em si, termos de momentum de Otimizadores como o Adam, e ativações intermediárias durante o treinamento.
Por causa dessas exigências, treinar grandes modelos geralmente não é possível em hardware de consumo, como a NVIDIA RTX 4090, que tem apenas 24 GB de memória.
Abordagens Atuais para Reduzir o Uso de Memória
Os pesquisadores tentaram vários métodos para reduzir o uso de memória no treinamento. Um método popular é chamado de adaptação de baixa classificação (LoRA). O LoRA adiciona uma matriz menor e treinável ao peso pré-treinado maior em cada camada do modelo. Isso reduz o número de parâmetros que precisam ser treinados, assim diminuindo o uso de memória.
No entanto, o LoRA e técnicas semelhantes frequentemente não têm um desempenho tão bom quanto treinar com o conjunto completo de parâmetros. Elas limitam o alcance das possíveis atualizações para o modelo, o que pode deixar o treinamento menos eficaz.
Uma Nova Abordagem: Projeção de Gradiente de Baixa Classificação
Para lidar com as limitações dos métodos existentes, uma nova estratégia chamada Projeção de Gradiente de Baixa Classificação foi proposta. Essa abordagem permite o treinamento completo dos parâmetros enquanto é mais eficiente em termos de memória do que os métodos padrão de adaptação de baixa classificação, como o LoRA.
A ideia principal é aproveitar o fato de que, durante o treinamento, os gradientes dos pesos podem ter uma estrutura de baixa classificação. Ao focar nesse aspecto de baixa classificação dos gradientes, em vez de restringir a matriz de pesos em si, é possível obter economias significativas de memória.
Usando uma técnica que envolve projetar as matrizes de gradiente em uma forma de baixa classificação, a memória necessária para os estados do otimizador pode ser reduzida drasticamente. Esse método mostrou reduzir o uso de memória em cerca de 65,5% durante o treinamento, mantendo o desempenho equivalente a modelos treinados com parâmetros completos.
Desempenho e Eficiência
Na prática, esse novo método tem sido eficaz quando aplicado tanto ao pré-treinamento quanto ao ajuste fino. Durante o pré-treinamento do LLaMA no dataset C4, a técnica de Projeção de Gradiente de Baixa Classificação, combinada com otimizadores de 8 bits, permite que o modelo tenha um desempenho comparável às técnicas de classificação completa, enquanto usa muito menos memória.
Além disso, isso possibilitou o treinamento de um modelo de 7 bilhões de parâmetros usando GPUs de consumo, sem a necessidade de estratégias complicadas como paralelismo de modelos ou descarregamento.
Vantagens Sobre Métodos Existentes
Comparado ao LoRA, que frequentemente tem dificuldade em igualar a eficácia do treinamento de classificação completa, a Projeção de Gradiente de Baixa Classificação mantém uma vantagem significativa. Ela consegue um uso de memória mais baixo sem exigir o treinamento inicial do modelo de classificação completa, o que é um obstáculo comum em métodos como o ReLoRA.
Essa nova técnica requer apenas ajustes simples nos otimizadores existentes e demonstrou um desempenho eficaz em modelos populares como AdamW e Adafactor. Os hiperparâmetros adicionais introduzidos por esse método são mínimos, tornando mais fácil a implementação.
Trabalhos Relacionados em Técnicas Eficientes em Memória
Várias estratégias já foram propostas para reduzir a pegada de memória durante o treinamento de modelos. Por exemplo, o método Adafactor reduz o uso de memória ao fatorar estatísticas de segunda ordem para o otimizador. Outros exploraram formas de comprimir estatísticas de gradiente para melhorar a eficiência da memória.
Em termos de estratégias de baixa classificação, técnicas como aprendizado de subespaço visam manter as atualizações dentro de um espaço de baixa dimensão específico. Embora esses conceitos tenham mostrado potencial, eles frequentemente enfrentam desafios que limitam seu desempenho, especialmente em tarefas complexas como o treinamento de LLMs.
Implementação do Novo Método
A Projeção de Gradiente de Baixa Classificação funciona calculando periodicamente matrizes de projeção que convertem a matriz de gradiente em um formato de baixa classificação. Isso reduz a memória necessária para armazenar os estados do otimizador. Embora isso traga economia de memória, o custo computacional é mínimo, permitindo uma integração suave em estruturas de treinamento existentes.
Os aspectos práticos de implementar essa estratégia envolvem determinar a frequência com que as projeções de baixa classificação devem ser atualizadas. Mudanças no subespaço podem ser feitas a cada algumas centenas de iterações sem um aumento significativo no custo computacional.
Benefícios para Pré-Treinamento e Ajuste Fino
As vantagens desse método vão além do pré-treinamento. Quando se faz o ajuste fino de modelos em tarefas como GLUE, a Projeção de Gradiente de Baixa Classificação também mostrou resultados superiores em comparação aos métodos tradicionais como o LoRA. Ela tem um bom desempenho em várias tarefas, mantendo um nível de desempenho comparável ou até melhor com menor uso de memória.
Resultados Experimentais
Testes extensivos nos modelos LLaMA revelam que a Projeção de Gradiente de Baixa Classificação supera consistentemente outros métodos de baixa classificação. Quando aplicada a uma variedade de tamanhos de modelo, ela consegue uma perplexidade de validação mais baixa, demonstrando sua capacidade de treinar modelos eficazes sem as exigências excessivas de memória do treinamento de classificação completa.
Por exemplo, através de testes rigorosos, foi demonstrado que o método pode lidar de forma eficiente com o ajuste fino de modelos após o pré-treinamento, oferecendo uma abordagem simplificada para adaptar modelos a aplicações específicas.
Implicações no Mundo Real
A capacidade de treinar efetivamente grandes modelos de linguagem em hardware comum tem implicações significativas. Isso não só democratiza o acesso a tecnologias avançadas de IA, mas também reduz o impacto ambiental associado ao treinamento desses modelos. Ao facilitar o treinamento em máquinas menos potentes, minimiza o consumo de energia e reduz a pegada de carbono total.
Conclusão
A introdução da Projeção de Gradiente de Baixa Classificação representa um avanço na abordagem dos desafios de memória do treinamento de grandes modelos de linguagem. Ao focar nas propriedades de baixa classificação dos gradientes, esse método permite um aprendizado eficaz enquanto reduz significativamente o uso de memória. Como resultado, ele capacita pesquisadores e desenvolvedores a treinar modelos maiores e mais complexos em hardware limitado, abrindo caminho para avanços em tecnologias de IA em diversas áreas.
Direções Futuras
Pesquisas futuras podem explorar melhorias adicionais na eficiência da memória no treinamento de modelos. Isso pode incluir aprimorar matrizes de projeção de baixa classificação por meio de métodos eficientes de parametrização ou quantização. Além disso, há potencial para aplicar essa abordagem a outros tipos de modelos, como os usados em tarefas de visão ou modelos geradores.
Em resumo, a Projeção de Gradiente de Baixa Classificação oferece uma via prática e eficiente para treinar grandes modelos de linguagem, contribuindo, em última análise, para um cenário de IA mais acessível e sustentável.
Título: GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection
Resumo: Training Large Language Models (LLMs) presents significant memory challenges, predominantly due to the growing size of weights and optimizer states. Common memory-reduction approaches, such as low-rank adaptation (LoRA), add a trainable low-rank matrix to the frozen pre-trained weight in each layer, reducing trainable parameters and optimizer states. However, such approaches typically underperform training with full-rank weights in both pre-training and fine-tuning stages since they limit the parameter search to a low-rank subspace and alter the training dynamics, and further, may require full-rank warm start. In this work, we propose Gradient Low-Rank Projection (GaLore), a training strategy that allows full-parameter learning but is more memory-efficient than common low-rank adaptation methods such as LoRA. Our approach reduces memory usage by up to 65.5% in optimizer states while maintaining both efficiency and performance for pre-training on LLaMA 1B and 7B architectures with C4 dataset with up to 19.7B tokens, and on fine-tuning RoBERTa on GLUE tasks. Our 8-bit GaLore further reduces optimizer memory by up to 82.5% and total training memory by 63.3%, compared to a BF16 baseline. Notably, we demonstrate, for the first time, the feasibility of pre-training a 7B model on consumer GPUs with 24GB memory (e.g., NVIDIA RTX 4090) without model parallel, checkpointing, or offloading strategies.
Autores: Jiawei Zhao, Zhenyu Zhang, Beidi Chen, Zhangyang Wang, Anima Anandkumar, Yuandong Tian
Última atualização: 2024-06-02 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2403.03507
Fonte PDF: https://arxiv.org/pdf/2403.03507
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.