Por que a IA parece não conseguir seguir uma dieta sem matriz

A humanidade se apaixonou tanto pelo novo brinquedo de alta tecnologia, a inteligência artificial, que, há quase três anos, brinca com ela desinteressadamente, alheia ao custo desse hobby (entretenimento?), que está se tornando cada vez mais significativo. O consumo médio de energia do GPT-5 excede 18 Wh para uma única consulta, dos quais o OpenAI processa até 2,5 bilhões por dia. E há também Claude, DeepSeek, Mistral e inúmeros outros modelos de linguagem de grande porte (LLMs) baseados em nuvem, sem mencionar aqueles executados em data centers privados, em computação de ponta e localmente, até mesmo em PCs e smartphones domésticos. Enquanto isso, uma rede neural artificial gasta entre metade e dois terços de seu tempo computacional total (45-60%, dependendo da implementação específica de um determinado modelo) executando uma tarefa hilariantemente simples, mas extremamente trabalhosa devido ao número inimaginável de operandos — multiplicação de matrizes. Aqui reside o problema: multiplicar matrizes de tamanhos característicos, digamos, milhares de números de ponto flutuante de 16 bits (e isso está longe do limite), devora os recursos computacionais dos computadores de von Neumann com um apetite invejável — consumindo hardware, energia e tempo consideráveis. Mas parece não haver escapatória para esse flagelo: praticamente todas as redes neurais hoje empregam a multiplicação de matrizes; é assim que elas são projetadas.

E por quê, exatamente?

Os matemáticos têm lutado há várias décadas para reduzir a complexidade computacional da multiplicação de matrizes (o expoente ω, ao qual a dimensão da matriz n é elevada, é O(n^ω)) para chegar do 3 original a aproximadamente 2,38. Mas nenhum progresso significativo foi alcançado.Não há progresso nessa direção (fonte: Wikimedia Commons)

⇡#O Caminho da Menor Resistência

O foco persistente dos desenvolvedores de sistemas de aprendizado de máquina (não apenas modelos de IA generativa!) em matrizes — conjuntos bidimensionais de números, a rigor, abstrações matemáticas não diretamente relacionadas ao mundo físico — pode parecer, no mínimo, contraintuitivo. No entanto, até certo ponto, nosso cérebro já registra a percepção de vetores (e matrizes podem ser consideradas conjuntos ordenados de vetores, que podem ser representados por suas colunas ou linhas) no nível do córtex visual: lá, alguns neurônios são ativados apenas quando estruturas verticais aparecem no campo visual, enquanto outros são ativados apenas quando estruturas horizontais aparecem. Quando se trata de reconhecimento digital de imagens, por exemplo — e esta é uma das principais tarefas do aprendizado de máquina — a imagem apresentada ao modelo é deliberadamente dividida em pixels vertical e horizontalmente, formando uma matriz de entrada retangular (e mais de uma, se as informações de cor precisarem ser preservadas). Em outras palavras, a imagem visual de uma matriz — uma tabela preenchida com números — surge naturalmente em tais tarefas, forçando-nos a aplicar operações matemáticas matriciais ao processá-la. Consequentemente, as transformações passo a passo dos dados iniciais em modelos de aprendizado de máquina são reduzidas a várias combinações de multiplicação de matrizes por outras matrizes, escalares ou vetores.

De uma perspectiva matemática, seria mais correto afirmar que os dados de entrada multidimensionais com os quais os sistemas de aprendizado de máquina lidam sãoA maneira mais eficiente de processar dados é por meio de mapas lineares, que generalizam uma função numérica linear para espaços vetoriais arbitrários (no caso geral) de dimensões arbitrariamente altas. Um mapa linear de um espaço vetorial de dimensão finita para outro, por sua vez, pode ser representado como uma matriz bidimensional, após o que operações podem ser realizadas nessas estruturas comparativamente simples (de uma perspectiva computacional puramente aplicada). Por exemplo, após a consulta de um usuário a um BNM ser transformada em tokens com incorporação, ela aparece formalmente como um vetor em um espaço essencialmente multidimensional. Portanto, faz sentido trabalhar com esse vetor indiretamente, mas sim por meio de mapas lineares — adicionando, multiplicando e multiplicando vetores e escalares, embora grandes em ambas as dimensões, mas ainda matrizes bidimensionais.

À esquerda, um fragmento de uma rede neural profunda com propagação de sinal feedforward: um grafo em que cada nó representa um valor escalar e as arestas correspondem a pesos. O valor escalar para cada nó na próxima camada (o sinal se propaga de baixo para cima) é determinado por soma ponderada. Os círculos pretos são nós de polarização; por simplicidade, sua influência é ignorada neste diagrama. À direita, uma ilustração clara mostra como toda a operação das redes neurais é reduzida a um número bastante limitado de operações algébricas lineares (fonte: Vrije Universiteit Amsterdam).

Lembre-se de que, em matemática, um vetor é um objeto elementar caracterizado por apenas duas grandezas: seu tamanho (comprimento) e direção. (A rigor, para distinguir um vetor de um tensor algébrico do tipo (1,0), deve-se também exigir a conformidade com uma determinada lei da adição geométrica. No entanto, para nossos propósitos, isso é irrelevante, especialmente porque na ciência de dados, como o subcampo mais aplicado da matemática computacional, as definições de vetores e tensores são um tanto singulares.) Os dados percebidos e transformados pela NLM são primeiramente codificados como tokens, com base em palavras individuais (“gato”, “flor”) ou partes delas (por exemplo, “tokenização” é representada por dois fragmentos — “token” e “ização”), ou mesmo símbolos únicos (“&,” “;,” “Σ”). O conjunto completo de tokens inicialmente definido para um determinado modelo forma seu dicionário. Durante o treinamento, o sistema recebe enormes matrizes de texto (para maior clareza, nos limitaremos aos modelos que funcionam com entrada de texto). Ele as divide em suas palavras do dicionário, as converte em tokens e, pulando longas linhas dessasOs próprios tokens, processados ​​por uma rede neural multicamadas, revelam — ainda que implicitamente, ao formar certos pesos nas entradas de seus perceptrons — certos padrões objetivos nas posições relativas desses corpúsculos elementares de informação. Esses próprios padrões — assumindo, é claro, que estavam inicialmente presentes na matriz de origem, ou seja, que não representavam um conjunto deliberadamente aleatório de símbolos — são ditados, por sua vez, pelas regras gramaticais das línguas naturais, pela lógica interna das declarações expressas nessas línguas, bem como pela compreensão dos autores sobre as entidades que descrevem (estamos falando essencialmente do vínculo semântico “significante-denotar-significado”). Em outras palavras, algum “conhecimento superior” não emerge magicamente nas profundezas da BNM; as “representações” que ela forma durante o treinamento (sobre a concordância correta das palavras em uma frase, ou a polissemia da palavra “cebola”, ou sobre ursos no espaço) são determinadas tanto pela arquitetura de sua própria rede neural quanto pela completude e qualidade do conjunto de dados de treinamento.

Como um sistema de aprendizado de máquina existe apenas como uma imagem digital na memória do computador, todas as operações realizadas nele devem lidar exclusivamente com números — portanto, os tokens são representados de acordo com certas regras como números (geralmente inteiros). A propósito, a tokenização de um único caractere é perfeitamente possível, onde literalmente cada símbolo (letra, dígito, caractere especial) recebe seu próprio token. O benefício na fase de criação do dicionário é óbvio: para o idioma inglês, levando em consideração números, sinais de pontuação, etc., será suficiente codificarAproximadamente 256 caracteres, enquanto que se cada palavra recebesse seu próprio token, o vocabulário aumentaria para quase 170.000 entradas. A tokenização baseada em caracteres é atraente porque permite que o GPT-4 processe eficientemente palavras fora do vocabulário: quando essas palavras são encontradas em contexto durante o conjunto de dados de treinamento, a “lógica interna” de suas conexões semânticas com outros conceitos será inevitavelmente revelada. No entanto, como é fácil de ver, os comprimentos dos vetores que descrevem até mesmo frases individuais, sem mencionar textos mais longos, aumentam significativamente, exigindo mais recursos computacionais e tempo.

À esquerda, um exemplo de tokenização para frente e para trás: primeiro, uma sequência de texto é convertida em uma sequência (vetor) de quatro inteiros para processamento no GPT-4 usando o Tiktoken, uma ferramenta desenvolvida pela OpenAI; em seguida, o texto em linguagem natural é reconstruído a partir desse vetor. À direita, está a geração de um embedding a partir de duas frases dadas sequencialmente, passadas por um modelo de transformador (fonte: The New Stack)

⇡#Multidimensionalidade é simples

Quando se fala em uma “janela de contexto” BYAM, seu comprimento é especificado em tokens. Isso por si só deixa claro que, para um trabalho de longo prazo e em vários estágios no mesmo prompt, o que implica receber comandos esclarecedores do operador (e especialmente para manter um longo histórico de comunicação com um usuário individual), uma IA precisa do mais alto nível possível de tokenização: se cada token representa um símbolo separado, é improvável que tal IA seja capaz de manter conversas longas e significativas sem perder o fio da meada.É capaz. Mas mesmo a tokenização de alto nível apresenta falhas: por exemplo, qualquer palavra não incluída no dicionário e não decomposta em seus fragmentos será marcada como “desconhecida”. Portanto, para processar com eficácia consultas que contenham essa palavra específica — e para cada palavra individualmente! — o sistema terá que realizar uma quantidade significativa de trabalho adicional. Por que isso é importante: o BNM gera uma resposta textual a um prompt usando um método autorregressivo, processando sequencialmente token após token e prevendo (ou seja, escolhendo a opção de maior probabilidade entre uma gama de possibilidades) o próximo token nessa cadeia, com base em todos os tokens anteriores. Consequentemente, quanto maior a janela de contexto, maior a série de dados que o modelo consegue detectar padrões, incluindo os sutis. Outro problema é que é precisamente nessa fase, em particular, que às vezes surgem as alucinações características da IA ​​generativa, mas os pesquisadores estão gradualmente aprendendo a combatê-las.

No entanto, como exatamente os padrões podem ser identificados em um texto (sejam algumas palavras ou centenas de páginas) que o BNM processa meramente como uma sequência de tokens? É aqui que os mesmos vetores multidimensionais mencionados acima são usados. Em inglês, eles são chamados de “embeddings” (imersão), e em russo, esse termo é frequentemente transliterado simplesmente como “embeddings” (imersão), embora acreditemos que seria razoável usar a tradução semanticamente rica dessa palavra — “zadelki” (imersão). Isso se refere à incorporação como um procedimento agrícola — a inserção de sementes no solo a uma certa profundidade; essencialmente, é análogo a “semear”, mas comO significado adicional de “cobertura obrigatória com uma camada de solo”. Antigamente, quando as sementes eram semeadas — à mão, espalhadas sobre um campo arado —, elas eram consideradas incorporadas somente após a gradagem, durante a qual eram misturadas ao solo, aprofundando-o e, assim, aumentando suas chances de germinar, em vez de se tornarem alimento para o primeiro pássaro que pousasse no campo. A formação de BRAMembeddings — vetores multidimensionais no espaço latente — durante o treinamento também pode, em certo sentido, ser vista como a incorporação nesse mesmo espaço de certos análogos semânticos de sementes, o início de futuras respostas que a IA gerará em resposta às consultas do usuário, guiada pelas conexões implícitas entre palavras da linguagem natural contidas nessas “sementes”, que a máquina, é claro, não entende no sentido humano.

Nada poderia ser mais simples do que a multiplicação de matrizes! (Fonte: Wikimedia Commons)

De onde vem esse significado semântico em uma palavra raiz — um vetor de alta dimensão que codifica o significado semântico de palavras, frases ou mesmo textos longos inteiros? É exatamente por isso que um modelo de linguagem é treinado: ele não é alimentado com sequências aleatórias de tokens, mas com textos coerentes convertidos em vetor usando essas mesmas palavras-raiz. A versão mais simples dessa conversão é a codificação one-hot: crie um espaço latente k-dimensional para o dicionário de palavras, no qual cada palavra é um vetor base. Em outras palavras, se o dicionário original consistir em apenas quatro palavras — “gato”, “cachorro”, “capivara” e “axolote” — a palavra-raiz para a primeira será representada pelo vetor [1000], para a segunda por [0100] e parapara o terceiro — [0010], para o quarto — [0001]. É fácil perceber que, embora isso seja perfeitamente aceitável para sistemas que reconhecem um número limitado de categorias de entidades (para visão computacional, por exemplo), os sistemas NLM que lidam com entrada e saída em linguagem natural, por razões de otimização de recursos computacionais, como já mencionamos, operarão com vocabulários de dezenas e centenas de milhares de palavras e, portanto, os vetores de incorporação precisarão ter a dimensão apropriada. Graças à álgebra linear, as operações nessas entidades essencialmente multidimensionais são relativamente fáceis de reduzir a operações matriciais. No entanto, isso estabelecerá apenas relações entre os próprios vetores base, não o contexto de uso das palavras no texto-fonte: a codificação one-hot não revelará a diferença entre a palavra formalmente idêntica “bank” nas frases “I received an invoice from my bank” e “I am walking along the river bank” — precisamente porque cada palavra em seu vocabulário é um vetor independente das outras (isso é essencialmente o que “basic” significa). Portanto, é necessário encontrar um esquema para converter tokens em embeddings que leve em consideração o contexto de uso de cada elemento do vocabulário no texto.

Métodos tradicionais de construção de embeddings, como aqueles baseados em estatísticas TF-IDF ou N-gramas semânticos, oferecem uma abordagem bastante mecanicista — ou, mais precisamente, algorítmica — para a detecção de contexto. Eles se baseiam na identificação de padrões explicitamente computáveis ​​— como a frequência de ocorrência de uma determinada palavra do vocabulário e/ou sequências dessas palavras no corpus de treinamento. Nesse caso, o vetor de embedding para cada palavra codificada não é mais básico (o valor “1” em uma das dimensões, “0”(O mesmo se aplica a todos os outros), porém mais complexo: por exemplo, o vetor que codifica a palavra “rei” estará muito mais alinhado no espaço multidimensional com os vetores “homem” e “nobreza” do que com “mulher” e “camponês”. O procedimento de criação de incorporação pode ser estático, se cada palavra do dicionário for transformada após a conclusão do treinamento BNM em um vetor multidimensional fixo para todas as inferências subsequentes (caso em que o sistema ainda tem dificuldade — embora não tanto quanto no caso de um único elemento — em distinguir entre palavras polissemânticas como as russas “cebola” ou “chave”; um exemplo é o Word2Vec), ou dinâmico, que permite que o contexto da mensagem analisada seja levado em consideração. O sistema BERT (Bidirectional Encoder Representations from Transformers), criado em 2018, é um sistema com vetores dinâmicos. Ele usa múltiplas camadas de blocos Transformer (12 na versão básica, 24 na versão maior) para identificar relações entre vetores em um espaço latente de 768 dimensões. O mecanismo de atenção, essencial para a arquitetura de IA altamente relevante dos Transformers, também suporta os modelos multimodais mais avançados: por exemplo, o comando “desenhe uma vaca na grama verde, ela é malhada e sem chifres” é habilitado por esse mecanismo para associar o pronome “ela” ao substantivo desejado — de modo que o desenho gerado pela máquina irá, com uma probabilidade extremamente alta (faremos uma concessão obrigatória para alucinações repentinas), representar uma vaca, não grama. Curiosamente, para gerar os preenchimentos, o modelo de rede neural é treinado para preencher lacunas em textos semanticamente coerentes — em termos gerais, para adivinhar qual palavra está faltando em uma frase. É assim que”Conhecimento” de máquina (novamente, não no sentido humano, mas como um conjunto de pesos nas entradas dos perceptrons da rede neural correspondente) sobre as relações entre os elementos do vocabulário com o qual o sistema opera.

Ilustração da obra clássica do Transformer “Attention Is All You Need”, que mostra à esquerda um único bloco implementando a função de atenção usando várias operações de multiplicação de matrizes (MatMul) e, à direita, uma montagem desses blocos operando em paralelo para identificar múltiplas relações no texto analisado (fonte: Google)

⇡#Overhead Pleasure

Vamos finalmente retornar dos domínios da matemática pura (matrizes) e computacional (embeddings) para o mundo material, ou seja, vamos relembrar como os computadores modernos são construídos. Infelizmente, eles não são ideais para realizar operações matriciais, e não por causa da lentidão dos processadores (em termos de hardware, tudo funciona bem – neste caso, nada mais do que operações triviais de adição e multiplicação são necessárias), mas por causa da estrutura hierárquica do subsistema de armazenamento de dados neles. Como não é fisicamente possível equipar cada núcleo de computação semicondutor com acesso de banda larga a gigabytes de RAM de alta velocidade (discutimos isso em detalhes há pouco tempo), é necessário construir uma pirâmide completa de mídias de armazenamento: desde as externas mais lentas e de longo prazo (fitas, unidades de disco magnético, SSDs), passando pela DRAM volátil bastante rápida, até a SRAM, caracterizada por latências realmente insignificantes, estruturada em caches de vários níveis, e até a memória registrada, que está localizada emEm estreita proximidade com os circuitos lógicos. Geralmente, a quantidade de memória disponível em cada nível desta pirâmide é inversamente proporcional à latência da troca de dados entre ela e o próprio circuito computacional: para SRAM no nível L1, essa latência é de alguns nanossegundos, enquanto para módulos DRAM, é da ordem de centenas. Portanto, para atingir o desempenho máximo, o algoritmo responsável pela multiplicação de matrizes durante a operação NRAM deve levar em consideração a hierarquia do subsistema de memória em uma determinada plataforma da forma mais completa possível, de modo a maximizar a utilização de seus “andares” mais rápidos, evitando tempo ocioso ou congestionamento de dados aguardando processamento.

No entanto, esses mesmos algoritmos também devem levar em consideração a arquitetura das unidades lógicas aritméticas que realizam diretamente a adição e multiplicação múltipla — multiplicação-acumulação (MAC), também conhecida como multiplicação-adição (MAD) — em operandos que representam o conteúdo de vetores e matrizes. Tradicionalmente, os desenvolvedores de CPU têm se concentrado principalmente em aumentar a velocidade das operações lineares, sem muita consideração pelo paralelismo (a grande maioria dos algoritmos usados ​​para resolver uma ampla variedade de aplicações depende do processamento de dados em uma única thread). Nas últimas duas décadas, o hardware da CPU expandiu-se para incluir recursos para executar operações vetoriais — instrução única, múltiplos dados (SIMD), mas os comprimentos dos vetores adequados para processamento por processadores no nível mais baixo ficam muito aquém das dezenas ou mesmo centenas de unidades típicas de embeddings. Muito mais eficiente nesse aspecto.A paralelização de instrução única e múltiplas threads (SIMT), implementada em unidades de processamento gráfico (GPUs), onde centenas ou milhares de núcleos de computação relativamente simples estão localizados em estreita proximidade, é um conceito. Essa abordagem permite que cada thread, que atua essencialmente como um processador definido por software — com sua própria memória de registradores, suas próprias unidades aritméticas e lógicas (incluindo SIMD!) e seu próprio cache de dados L1 — execute de forma síncrona o mesmo conjunto de instruções.

Diagrama de blocos de uma das primeiras TPUs (fonte: Google)

Desenvolvedores de circuitos integrados específicos para aplicações (ASICs) para tarefas de IA estão indo ainda mais longe, propondo — como engenheiros do Google, por exemplo — unidades de processamento tensorial (TPUs), que carregam matrizes inteiras de memória de alta capacidade (HBM) e executam operações diretamente em matrizes de dados bidimensionais (em vez de unidimensionais, como as SIMTs). A característica única dos ASICs reside precisamente em sua especialização extremamente restrita: enquanto a CPU é praticamente universal (pode até executar BNM, desde que haja RAM suficiente — a inferência será extremamente lenta) e a GPU é um computador capaz de resolver uma gama bastante ampla de tarefas multithread, o TP é projetado exclusivamente para multiplicação de matrizes. No entanto, como os ASICs não são responsáveis ​​por nenhuma outra tarefa — eles geralmente atuam como um coprocessador especializado — os engenheiros que projetam esses tipos de chips têm liberdade para otimizá-los em qualquer profundidade.É por isso que o famoso modelo do Google, AlphaGo, foi criado para vencer humanos no Go em 2015Enquanto o AlphaGo exigia um cluster de servidores inteiro com 1.202 CPUs e 176 GPUs para funcionar, em 2017, sua versão de autoaprendizagem ainda mais eficiente, o AlphaGo Zero, exigia apenas quatro TPs.

Não é barato: o hardware em si, incluindo quatro unidades de processamento tensorial (TPUs) projetadas e fabricadas especificamente para essa tarefa, custou aproximadamente US$ 25 milhões, e o custo de 40 dias de treinamento para esse BNM é estimado em outros US$ 35 milhões. No entanto, o consumo de energia do primeiro Google TPU, fabricado com tecnologia de 28 nm, não ultrapassou 40 W, o que é comparável ao do cérebro humano (aproximadamente 20 W “sob carga total”). Então, porém, a corrida energética também começou aqui: o TPU v4, da mesma marca, dissipa cerca de 200 W de energia, mas seu desempenho atinge níveis exaflop (cerca de 10 operações de ponto flutuante por segundo). Essencialmente, cada processador tensor é um supercomputador com 4.096 processadores conectados por barramentos de dados ultrarrápidos: cada chip v4 contém um par de TensorCores, e cada um destes, por sua vez, contém quatro módulos que implementam a multiplicação de matrizes. Também são conhecidos coprocessadores especializados mais modestos — frequentemente chamados de unidades de processamento neural (NPUs) — que são usados ​​em conjunto com a CPU e a GPU para resolver tarefas de IA particularmente intensivas em recursos (aquela mesma multiplicação de matrizes).Um exemplo é o Intel NPU 4, parte integrante da família Lunar Lake de processadores centrais, que fornece desempenho em tarefas específicas de até 48 TOPS (trilhões de operações por segundo – porém, com dados no formato Int8),Embora o limite inferior formal para executar, digamos, o Microsoft Copilot em hardware local seja de 40 TOPS.

À primeira vista, a sala de máquinas com processadores tensores TPU v4 em Oklahoma não parece muito diferente de um data center típico com servidores padrão equipados com CPUs e GPUs, exceto pelo fato de que o sistema de dissipação de calor necessário aqui é menos potente (fonte: Google).

E outro ponto importante: inegavelmente, o TP é um claro avanço em termos de aumento da eficiência da NVM: a multiplicação de matrizes agora é implementada no nível do hardware, inclusive utilizando componentes semicondutores clássicos. O que mais se poderia desejar? No entanto, otimizar tanto o treinamento quanto a inferência de modelos de IA nesse hardware requer um retrabalho significativo e trabalhoso dos algoritmos correspondentes. Não aqueles que garantem o fluxo de vetores pela rede neural, mas aqueles de nível inferior que lidam com a troca de dados elementares entre o MAC e o subsistema de memória. Levar em consideração as características de hardware de um único processador tensor para otimizar um único modelo generativo para ele é, em geral, uma tarefa completamente solucionável. No entanto, surge outro problema: o desenvolvimento da IA ​​é tão rápido hoje em dia, e a diversidade de hardware e software projetados para ela é tão vasta, que criar um modelo verdadeiramente flexível que possa operar com eficiência aproximadamente igual em CPUs, GPUs e processadores é incrivelmente difícil.

Além disso, os processadores tensores obviamente apresentam melhor desempenho com matrizes de tamanhos muito específicos, enquanto as RAMs podem ter dimensões de matriz dramaticamente diferentes.em que operam, em todos os níveis: tanto de entrada quanto interno. Além disso, dentro de um único modelo — mesmo um tão relativamente simples quanto um modelo de transformador autônomo — operações com matrizes de diferentes dimensões são realizadas em diferentes estágios. Sem mencionar que, embora as NVMs tenham sido inicialmente desenvolvidas para processar dados representados no formato FP32, recentemente — naturalmente, para economizar recursos computacionais — formatos compactados como Bfloat16, IEEE FP16, FP4, Int4, etc., têm sido considerados mais preferíveis no estágio de inferência. Novamente, como alterar a representação numérica implica uma mudança na densidade do fluxo de dados entre o MAC e a memória, uma NVM que não leve essas sutilezas em consideração inevitavelmente terá um desempenho longe do ideal, mesmo no hardware mais avançado.

Um diagrama demonstrando as diferentes matrizes necessárias para operar os blocos de atenção multifacetados mencionados anteriormente na arquitetura do Transformer (fonte: The Illustrated Transformer)

⇡#Fuga da Matriz?

Ao discutir a otimização de CPUs (bem como de GPUs de uso mais geral) em tarefas de IA, especialmente no processo de inferência, que é usado com mais frequência e em volumes muito maiores do que o treinamento de novos modelos, é impossível não mencionar sua característica infeliz de subutilização catastrófica do poder computacional disponível. Os fluxos de dados em diferentes níveis da hierarquia da RAM são bastante densos: para realizar a próxima operação elementar, os circuitos lógicos do processador devem esperar um longo tempo para que todos os bits necessários sejam carregados nos registradores operacionais. Assim, em média, cerca de 40% do totalO tempo que um computador gasta processando uma tarefa de IA é gasto transferindo informações entre seus circuitos integrados. Equipadas com processadores auxiliares especializados para multiplicação de matrizes (a operação de inferência que mais consome recursos), as GPUs ainda são capazes de demonstrar desempenho aceitável em computadores pessoais e pequenos servidores. No entanto, para sistemas altamente carregados, especialmente soluções de hiperescala projetadas para operação 24 horas por dia, 7 dias por semana, com desempenho máximo, ASICs especializados, projetados para minimizar a latência durante a troca de dados dentro da plataforma de computação, são preferíveis.

Um exemplo é a placa de expansão Sohu apresentada pela Etched, projetada especificamente para acelerar operações de transformadores (de importância crítica para NVMs modernas), ou a NR1, uma “AI-CPU” (NAPU — Unidade de Processamento Endereçável de Rede) especializada, desenvolvida pela startup NeuReality. Este dispositivo foi projetado para reduzir o gargalo do fluxo de dados dentro da plataforma de computação, eliminando a CPU tradicional e permitindo a comunicação direta entre a NAPU e a GPU. Isso, de acordo com os desenvolvedores, permite aumentar a utilização do circuito da GPU para quase 100% durante a inferência de GPUs populares, como Llama 3, Mixtral ou DeepSeek.

De acordo com os desenvolvedores, durante a inferência do modelo Llama 70B, o “acelerador de transformador” da Sohu processa até meio milhão de tokens por segundo, o que é uma ordem de magnitude mais rápido e mais barato (considerando seus modestos requisitos de energia) do que usar o Nvidia B200 para o mesmo propósito.(fonte: Etched)

E se formos além das soluções improvisadas e abandonarmos completamente a multiplicação de matrizes? E se quisermos enfrentar o problema de frente, comecemos logo na fase de treinamento do BNM. Pesquisadores da Universidade da Califórnia, em Santa Cruz, foram pioneiros nessa abordagem em 2024, propondo uma reformulação radical dos próprios fundamentos da codificação e processamento de dados para tarefas de IA, migrando de um sistema binário (lógico “0” e “1”) para um sistema ternário (“-1”, “0”, “1”). Em seu artigo, eles descreveram um modelo com 1,3 bilhão de parâmetros, criado com base em novos princípios, cujo desempenho em uma placa FPGA especialmente configurada com um consumo de energia de 13 W (embora isso não leve em consideração os requisitos de energia da GPU associada, para a qual esta placa atuou como aceleradora) foi comparável ao dos “Transformers pré-treinados mais modernos”. Além disso, durante a fase de treinamento, o volume de RAM necessário foi 61% menor do que o típico para modelos dessa classe que dependem da multiplicação de matrizes e, durante a inferência, chegou a 90%.

Os desenvolvedores californianos se inspiraram em um artigo ainda anterior, de 2023, “BitNet: Scaling 1-Bit Transformers for BNM”, que justificava a substituição dos pesos de entrada dos perceptrons de redes neurais nos formatos fracionários ou inteiros familiares mencionados anteriormente — FP32, Int4, etc. — por pesos binários ou ternários de bit único. Redes neurais com capacidade de até 3 bilhões de parâmetros foram citadas como exemplo: de acordo com os pesquisadores, pelo menos até esse limite, a qualidade do desempenho da IA ​​não será afetada por uma redução tão significativa na variabilidade dos coeficientes de peso. Um grupo deSanta Cruz foi ainda mais longe, abandonando a multiplicação de matrizes na implementação do mecanismo de autoatenção (lembre-se, este trabalho é especificamente sobre transformadores, não sobre BNMs maiores — embora, para estes, a arquitetura do transformador seja fundamental hoje) e substituindo-a por um método mais simples e eficiente para processar sequencialmente palavras de dicionário que não dependa da multiplicação de matrizes. O uso de um sistema numérico ternário é essencial aqui, pois permitiu aos pesquisadores controlar os fluxos de informação dentro da rede neural com consumo mínimo de recursos.

Uma ilustração do artigo “BitNet: Scaling 1-bit Transformers for Large Language Models”, que mostra os diagramas de implementação de um único bloco de função de atenção e sua montagem na arquitetura de transformador de 1 bit proposta pelos autores (fonte: Microsoft Research)

Em termos mais gerais, isso se refere à própria semântica dos textos analisados ​​pela IA, que, na abordagem clássica de implementação de LLM, é revelada durante operações nos vetores de incorporação no espaço latente. Se a relação semântica entre as palavras for estabelecida pela determinação das posições relativas desses vetores por meio da multiplicação de matrizes (durante essa operação, é revelado, por exemplo, que o vetor “rei” está mais alinhado com o vetor “homem” do que com “mulher”), então a transição para uma representação ternária de um bit dos pesos simplifica drasticamente o procedimento correspondente: os vetores são multidirecionais (“-1”), estritamente alinhados (“1”) ou ortogonais (“0”). Em certo sentido, isso pode ser percebido como um retrocesso para a codificação mais simples de embeddings usando o método one-hot, mas como aquiSe não forem tokens individuais que forem comparados, mas sim aqueles já transformados em embeddings vetoriais, e a comparação de características semânticas for reduzida a retornar o resultado “correspondência exata – oposto exato – correspondência não determinada”, essa abordagem poderia de fato funcionar.

Sem dúvida, ainda há muito o que se pensar: mesmo o GPT-4, que ainda não pode ser considerado o mais avançado, já possui cerca de um trilhão de parâmetros, enquanto o modelo californiano sem matriz recebeu justificativa teórica para apenas 3 bilhões. No entanto, os benefícios prometidos por um abandono, pelo menos parcial, das operações de matriz para BNM são tão grandes que certamente serão considerados de perto por desenvolvedores de IA cada vez mais poderosa e com uso intensivo de recursos. Qualquer coisa que permita o desenvolvimento contínuo nessa direção em um futuro próximo, sem a necessidade de equipar todos os data centers com um reator nuclear amanhã, sem dúvida, renderá frutos, e muito rapidamente.

⇡#Materiais Relacionados

Computação Neuromórfica “Em Metal”: Aterrissando Inteligência

Cientistas Descobriram uma Maneira de Executar Grandes Modelos de IA em Sistemas de 13 Watts em Vez de Sistemas de 700 Watts

Matemáticos Desenvolveram um Método Mais Simples para Multiplicação de Matrizes — Pode Ser a Base para um Avanço na IA

Computação na Velocidade da Luz: Um Acelerador de IA Fotônico Analógico Desenvolvido nos EUA

Redes Neurais Convolucionais — A Esperança e o Apoio da IA ​​Generativa

Inteligência Artificial: A Computação Analógica Está Vencendo

admin

Postagens recentes

A Qualcomm revelou o Snapdragon 8 Elite Gen 5, o processador móvel mais rápido, com overclock para 4,6 GHz.

A Qualcomm anunciou oficialmente o processador Snapdragon 8 Elite Gen 5 para dispositivos móveis, projetado…

51 minutos atrás

O YouTube finalmente tem um botão para desativar telas finais irritantes.

O YouTube implementou a capacidade de ocultar pop-ups de recomendação que aparecem no final dos…

1 hora atrás

O Alibaba lançou seu principal modelo de IA, o Qwen-3 Max, que supera o GPT-5 e está disponível gratuitamente.

O Alibaba anunciou o lançamento do Qwen-3 Max, seu novo modelo de linguagem em larga…

3 horas atrás