Quer salvar o planeta da IA? Coloque um FPGA e abandone a matriz
Modelos de linguagem grande podem ser 50 vezes mais eficientes em termos energéticos com matemática alternativa e hardware personalizado, afirmam pesquisadores da Universidade da Califórnia em Santa Cruz.
Em um papel intitulado “Modelagem de linguagem escalável sem MatMul”, os autores Rui-Jie Zhu, Yu Zhang, Ethan Sifferman, Tyler Sheaves, Yiqiao Wang, Dustin Richmond, Peng Zhou e Jason Eshraghian descrevem como o apetite energético da inteligência artificial pode ser moderado ao se livrar de multiplicação da matriz e adicionar um conjunto de portas programáveis em campo (FPGA) personalizado.
A IA – e com isso queremos dizer modelos de aprendizado de máquina preditivos e alucinantes – tem sido péssima para manter a Terra habitável porque usa muita energia, muito do que vem do uso de combustíveis fósseis. A operação de datacenters para fornecer serviços de IA aumentou o CO da Microsoft2 emissões em 29,1 por cento desde 2020, e o Google com tecnologia de IA pesquisa cada usar 3,0 Whdez vezes mais do que as consultas tradicionais do Google.
No início deste ano, um relatório do Agência Internacional de Energia [PDF] projetou que o consumo global de energia dos data centers quase dobrará até 2026, passando de 460TWh em 2022 para pouco mais de 800TWh em dois anos. A fome de energia para alimentar a IA até revigorou interesse pela energia nuclearporque a aceleração do consumo de combustíveis fósseis em prol dos chatbots, do texto de marketing brando e da geração de imagens sob demanda tornou-se politicamente preocupante, se não um crime potencial contra a humanidade.
Jason Eshraghian, professor assistente de engenharia elétrica e de computação na Escola de Engenharia Baskin da UC Santa Cruz e autor principal do artigo, disse O registro que os resultados da pesquisa poderiam proporcionar uma economia de energia de 50x com a ajuda de hardware FPGA personalizado.
“Devo observar que nosso hardware FPGA também não foi otimizado”, disse Eshraghian. “Portanto, ainda há muito espaço para melhorias.”
O protótipo já impressiona. Um LLM de bilhões de parâmetros pode ser executado no FPGA personalizado com apenas 13 watts, em comparação com 700 watts que seriam necessários para usar uma GPU.
Para conseguir isso, os pesquisadores baseados nos EUA tiveram que abandonar a multiplicação de matrizes, uma técnica de álgebra linear que é amplamente utilizada no aprendizado de máquina e é cara do ponto de vista computacional. Em vez de multiplicar pesos (parâmetros atribuídos às camadas de rede neural) consistindo em números de ponto flutuante entre 0 e 1, os cientistas da computação adicionaram e subtraíram representações binárias {0, 1} ou ternárias {-1, 0, 1}, exigindo assim menos de seu hardware.
Outros pesquisadores nos últimos anos exploraram arquiteturas alternativas para redes neurais. Um desses, BitNet, mostrou-se promissor como forma de reduzir o consumo de energia por meio de matemática mais simples. Como descrito em um papel lançado em fevereiro, representar parâmetros de rede neural (pesos) como {-1, 0, 1} em vez de usar precisão de ponto flutuante de 16 bits pode fornecer alto desempenho com muito menos computação.
O trabalho de Eshraghian e seus coautores demonstra o que pode ser feito com esta arquitetura. O código de exemplo foi Publicados para o GitHub.
Eshraghian disse que o uso de “pesos ternários substitui a multiplicação por adição e subtração, o que é computacionalmente muito mais barato em termos de uso de memória e energia das operações reais realizadas”.
Isso é combinado, disse ele, com a substituição da “autoatenção”, a espinha dorsal dos modelos de transformadores, por uma abordagem de “sobreposição”.
“Na autoatenção, cada elemento de uma matriz interage com todos os outros elementos”, disse ele. “Em nossa abordagem, um elemento interage apenas com outro elemento. Por padrão, menos computação leva a um pior desempenho. Compensamos isso tendo um modelo que evolui ao longo do tempo.”
Eshraghian explicou que LLMs baseados em transformadores pegam todo o texto de uma só vez. “Nosso modelo pega cada pedaço de texto, pedaço por pedaço, então nosso modelo rastreia onde uma palavra específica está situada em um contexto mais amplo, contabilizando o tempo”, disse ele.
A dependência da representação ternária dos dados prejudica o desempenho, reconheceu Eshraghian, mas ele e os seus coautores encontraram formas de compensar esse efeito.
“Dado o mesmo número de cálculos, estamos tendo um desempenho equivalente ao LLM de código aberto da Meta”, disse ele. “No entanto, nossos cálculos são operações ternárias e, portanto, muito mais baratos (em termos de energia/potência/latência). Para uma determinada quantidade de memória, nos saímos muito melhor.”
Mesmo sem o hardware FPGA personalizado, esta abordagem parece promissora. O jornal afirma que por grãos fundidos na implementação de GPU de camadas densas ternárias, o treinamento pode ser acelerado em 25,6%, enquanto o consumo de memória pode ser reduzido em 61% em comparação com uma linha de base da GPU.
“Além disso, ao empregar kernels CUDA otimizados para bits mais baixos, a velocidade de inferência é aumentada em 4,57 vezes e o uso de memória é reduzido em um fator de 10 quando o modelo é dimensionado para parâmetros de 13B”, afirma o artigo.
“Este trabalho vai além das implementações de modelos leves apenas em software e mostra como modelos de linguagem escaláveis, mas leves, podem reduzir as demandas computacionais e o uso de energia no mundo real.” ®