Modelos de Linguagem Livres de Multiplicação de Matrizes: Uma Revolução em Eficiência
As multiplicações de matrizes (MatMul) são as operações mais intensivas em computação em grandes modelos de linguagem (LLMs) que utilizam a arquitetura Transformer. À medida que esses modelos crescem, os custos associados às operações MatMul aumentam significativamente, resultando em maior uso de memória e latência durante o treinamento e a inferência.
Pesquisadores da Universidade da Califórnia, Santa Cruz, da Universidade Soochow e da Universidade da Califórnia, Davis, desenvolveram uma arquitetura inovadora que elimina as multiplicações de matrizes dos modelos de linguagem, mantendo um desempenho robusto em escala.
Apresentando Modelos de Linguagem Livres de MatMul
Em seu artigo inovador, os pesquisadores apresentam modelos de linguagem livres de MatMul que igualam o desempenho dos Transformers mais avançados, mas requerem consideravelmente menos memória durante a inferência.
Compreendendo a Multiplicação de Matrizes no Aprendizado Profundo
A multiplicação de matrizes é essencial no aprendizado profundo para combinar dados com pesos em redes neurais, facilitando a transformação de dados de entrada em previsões. As GPUs se destacam na execução simultânea de inúmeras operações MatMul devido à sua arquitetura paralela, crucial para treinar e implantar modelos complexos de maneira eficiente.
Apesar dessa vantagem, à medida que os LLMs crescem para incluir centenas de bilhões de parâmetros, as operações MatMul se tornam gargalos, exigindo vastos clusters de GPU para treinamento e inferência. A transição para fora do MatMul pode levar a economias substanciais em memória e computação. No entanto, tentativas anteriores de substituir operações MatMul resultaram em resultados inconsistentes, muitas vezes diminuindo a velocidade devido ao desempenho subótimo nas GPUs.
Revolucionando Operações com Pesos Ternários
Os pesquisadores propõem uma alternativa empolgante: substituir os pesos convencionais de ponto flutuante de 16 bits nos Transformers por pesos ternários de 3 bits que podem representar três estados: -1, 0 e +1. Eles introduzem operações aditivas para substituir o MatMul, resultando em reduções significativas nos custos computacionais. Seus modelos utilizam "camadas BitLinear" que adotam esses pesos ternários.
"Ao restringir os pesos ao conjunto {-1, 0, +1} e aplicar técnicas adicionais de quantização, substituímos o MatMul por operações de adição e negação", explicam os pesquisadores.
Mudanças Arquitetônicas Inovadoras
A arquitetura difere fundamentalmente dos Transformers tradicionais, que compreendem misturadores de token e canal. O misturador de token, responsável por integrar informações entre os tokens de sequência usando mecanismos de autoatenção, é substituído por uma Unidade Recurrente Linear com Gated (MLGRU) livre de MatMul. O MLGRU processa tokens atualizando estados ocultos através de operações ternárias simples, evitando multiplicações de matrizes caras.
Além disso, o misturador de canal, que integra informações de diferentes canais de características da representação de um token, emprega uma Unidade Linear Gated (GLU) modificada que acomoda pesos ternários. Esse ajuste minimiza a complexidade computacional e o uso de memória, mantendo a integração eficaz das características.
"Combinando o misturador de token MLGRU com o misturador de canal GLU usando pesos ternários, nossa arquitetura depende exclusivamente de adições e produtos elemento a elemento", observam os pesquisadores.
Avaliação de Desempenho dos Modelos de Linguagem Livres de MatMul
Os pesquisadores comparam seus LMs livres de MatMul com a arquitetura avançada Transformer++, utilizada no Llama-2, em vários tamanhos de modelo. Seus resultados indicam que o LM livre de MatMul utiliza eficazmente recursos computacionais adicionais para aprimorar o desempenho em comparação com o Transformer++.
Na avaliação de tarefas de linguagem, o LM livre de MatMul de 2,7 bilhões de parâmetros superou o desempenho de seu equivalente Transformer++ em benchmarks como ARC-Challenge e OpenbookQA, enquanto alcançou resultados comparáveis em outras tarefas.
"Esses resultados demonstram que arquiteturas livres de MatMul podem oferecer forte desempenho zero-shot em diversas tarefas de linguagem, incluindo resposta a perguntas e raciocínio de senso comum", afirmam os pesquisadores.
O menor consumo de memória e a latência dos LMs livres de MatMul tornam-se mais evidentes com o aumento dos tamanhos dos modelos. Por exemplo, o modelo de 13 bilhões requer apenas 4,19 GB de memória de GPU com uma latência de 695,48 ms, enquanto o Transformer++ demanda 48,50 GB com latência de 3183,10 ms.
Implementações Otimizadas e Direções Futuras
Os pesquisadores desenvolveram uma implementação otimizada para GPU e uma configuração personalizada para FPGA para modelos de linguagem livres de MatMul. Com essa otimização, conseguiram uma aceleração de 25,6% no treinamento e uma redução de até 61,0% no uso de memória em comparação com uma linha de base não otimizada.
"Este trabalho transcende implementações de software apenas para modelos leves, demonstrando que modelos de linguagem escaláveis e eficientes podem reduzir efetivamente as demandas computacionais e o consumo de energia", concluem os pesquisadores.
Embora as limitações tenham restringido os testes em modelos com mais de 100 bilhões de parâmetros, os pesquisadores esperam encorajar instituições a investir em modelos leves, abrindo caminho para modelos de linguagem mais acessíveis, independentes de GPUs de alto desempenho. O código e os modelos foram disponibilizados para a comunidade de pesquisa.
"Priorizar o desenvolvimento de arquiteturas livres de MatMul fará com que o futuro dos LLMs caminhe em direção a uma maior acessibilidade, eficiência e sustentabilidade", defendem os pesquisadores.