Avanços no Treinamento de Redes Neurais de 4 Bits
Novos métodos melhoram a eficiência e a precisão no treinamento de transformers com aritmética de baixa precisão.
― 5 min ler
No mundo da inteligência artificial, treinar redes neurais é super exigente e requer muitos recursos de computação. Uma maneira de tornar esse processo mais rápido e eficiente é usar aritmética de baixa precisão, que significa usar menos bits para representar números. Isso reduz a quantidade de memória usada e pode acelerar os cálculos. Nos últimos anos, foram desenvolvidos métodos para treinar modelos com uma precisão ainda menor, especificamente usando 4 bits.
No entanto, treinar com 4 bits traz alguns desafios. A maioria dos métodos que funcionam bem com treinamento de 4 bits precisa de formatos numéricos especiais que o hardware atual não suporta. Este artigo apresenta uma nova abordagem para treinar transformers, um tipo específico de rede neural, usando operações de 4 bits para os cálculos de matriz. A equipe por trás desse trabalho quer facilitar o treinamento rápido de modelos enquanto mantém a precisão alta.
Desafios com o Treinamento de 4 Bits
Treinar redes neurais com apenas 4 bits não é fácil. O primeiro problema é que, ao usar baixa precisão, a forma como os números são arredondados pode criar problemas. Isso pode levar a uma paisagem de perda irregular, onde é difícil para o processo de treinamento encontrar a direção certa para melhorar. Como resultado, métodos baseados em gradiente, que ajustam o modelo com base nos erros, podem ficar presos em pontos subótimos.
Além disso, ao usar baixa precisão, os Gradientes, ou os sinais que ajudam a atualizar o modelo, podem ser imprecisos. Essa imprecisão desacelera o treinamento e pode até fazer com que ele quebre completamente. Nosso trabalho aborda esses problemas propondo um novo método de treinamento que se beneficia especificamente das estruturas encontradas em transformers.
Método Proposto
Para o método proposto, a equipe se concentrou nas estruturas específicas de Ativações e gradientes em transformers. Ao analisar cuidadosamente essas estruturas, eles introduziram técnicas especiais para quantizar os dados.
Propagação para a Frente
Na propagação para a frente, a equipe identificou que valores atípicos nos dados de ativação estavam causando problemas de precisão. Valores atípicos são aqueles muito mais altos que os outros, o que pode distorcer os resultados gerais. Para lidar com isso, um novo método de Quantização chamado quantização Hadamard foi introduzido. Esse método transforma a matriz de ativação de uma forma que espalha a informação dos valores atípicos entre entradas próximas, reduzindo seu impacto negativo.
Retropropagação
Para a retropropagação, a equipe descobriu que muitos dos valores dos gradientes eram muito pequenos. Em vez de tentar calcular esses valores pequenos, que desperdiçariam recursos, eles desenvolveram uma técnica chamada divisão de bits. Esse método separa cada gradiente em duas partes, permitindo uma representação mais precisa dos valores maiores enquanto ignora os menores. Além disso, ao usar amostragem de pontuação de alavancagem, eles puderam focar nos gradientes mais informativos, o que reduziu a carga computacional geral.
Combinando essas técnicas para os processos de frente e para trás, eles conseguiram propor um algoritmo de treinamento que usa operações de 4 bits para todos os cálculos de matriz em transformers.
Resultados e Conquistas
Para testar seu novo método, a equipe aplicou em uma variedade de tarefas, como compreensão de linguagem natural, tradução automática e classificação de imagens. Os resultados mostraram que seu algoritmo alcançou precisão competitiva em comparação com os métodos existentes de treinamento de 4 bits. Além disso, ele pode ser executado no hardware atual sem precisar de formatos personalizados especiais.
A implementação do novo processo foi até 2,2 vezes mais rápida do que os métodos tradicionais usando precisão de 16 bits e aumentou a velocidade de treinamento em até 35,1%. Isso significa que, além de manter a precisão, eles também aceleraram significativamente o processo de treinamento.
Importância da Eficiência
No campo do aprendizado de máquina, a eficiência é crucial. Com os modelos ficando maiores e mais complexos, a quantidade de energia e recursos consumidos é uma preocupação crescente. Ao desenvolver métodos que reduzem a necessidade de alta precisão, a equipe está contribuindo para uma abordagem mais sustentável da IA.
Os métodos desenvolvidos neste trabalho não se aplicam apenas a transformers; eles podem potencialmente beneficiar outros tipos de modelos que dependem fortemente de multiplicações de matriz. Isso inclui várias arquiteturas, como redes neurais gráficas e redes neurais recorrentes, abrindo mais caminhos para pesquisa e aplicação.
Conclusão
O método de treinamento proposto para transformers usando inteiros de 4 bits é um passo importante para tornar o treinamento de redes neurais mais rápido e eficiente. Através de uma análise cuidadosa das estruturas dos transformers e técnicas inovadoras, a equipe mostrou que é possível manter a precisão enquanto acelera significativamente o processo de treinamento. À medida que os modelos de IA continuam a crescer em complexidade, a necessidade de métodos de treinamento eficientes só vai se tornar mais crítica. Este trabalho representa uma contribuição significativa para esse objetivo, abrindo caminho para novos avanços na área.
Título: Training Transformers with 4-bit Integers
Resumo: Quantizing the activation, weight, and gradient to 4-bit is promising to accelerate neural network training. However, existing 4-bit training methods require custom numerical formats which are not supported by contemporary hardware. In this work, we propose a training method for transformers with all matrix multiplications implemented with the INT4 arithmetic. Training with an ultra-low INT4 precision is challenging. To achieve this, we carefully analyze the specific structures of activation and gradients in transformers to propose dedicated quantizers for them. For forward propagation, we identify the challenge of outliers and propose a Hadamard quantizer to suppress the outliers. For backpropagation, we leverage the structural sparsity of gradients by proposing bit splitting and leverage score sampling techniques to quantize gradients accurately. Our algorithm achieves competitive accuracy on a wide range of tasks including natural language understanding, machine translation, and image classification. Unlike previous 4-bit training methods, our algorithm can be implemented on the current generation of GPUs. Our prototypical linear operator implementation is up to 2.2 times faster than the FP16 counterparts and speeds up the training by up to 35.1%.
Autores: Haocheng Xi, Changhao Li, Jianfei Chen, Jun Zhu
Última atualização: 2023-06-22 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2306.11987
Fonte PDF: https://arxiv.org/pdf/2306.11987
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.