Porque é que toda a gente usa GPUs para IA (e porque isso pode mudar)
A obsessão pelas GPUs
Fale com qualquer pessoa sobre executar IA e ela dirá: "Precisa de uma GPU. As CPUs são demasiado lentas. Toda a gente usa GPUs."
E tem razão. Na maior parte. As GPUs dominam a IA por boas razões. Mas a história não é assim tão simples.
Perceber porque é que as GPUs venceram, no que é que as CPUs são realmente boas, e porque é que o equilíbrio pode estar a mudar é importante. Especialmente se for você a pagar as contas. Ou as contas do seu fornecedor de eletricidade. Ou se estiver a perguntar-se porque é que o seu centro de dados precisa da sua própria subestação elétrica.
A sabedoria convencional diz: as redes neuronais de vírgula flutuante precisam de paralelismo maciço, as GPUs fornecem paralelismo maciço, portanto as GPUs vencem. Mas isso é apenas metade da história. A outra metade envolve o que acontece quando se muda a matemática.
O que são realmente as CPUs e as GPUs
Comecemos pelo básico:
CPU (Unidade Central de Processamento):
O cérebro do seu computador. Concebida para tarefas de uso geral. Executa o seu sistema operativo. Abre ficheiros. Gere a memória. Executa programas. Faz um pouco de tudo.
As CPUs modernas têm 8 a 64 núcleos. Cada núcleo é poderoso. Consegue lidar com lógica complexa. Ramificações. Tarefas sequenciais. É excelente a fazer coisas diferentes rapidamente. Pense numa CPU como uma pequena equipa de engenheiros altamente qualificados, cada um capaz de resolver problemas complexos de forma independente.
GPU (Unidade de Processamento Gráfico):
Originalmente construída para gráficos. Renderizar cenas 3D exige a mesma matemática simples em milhões de pixels em simultâneo. As GPUs são excelentes nisto: operações simples, paralelismo maciço.
As GPUs modernas têm milhares de núcleos. Cada núcleo é mais simples do que um núcleo de CPU. Mas milhares deles a trabalhar em conjunto? Um enorme débito computacional para tarefas paralelas. Pense numa GPU como um chão de fábrica com milhares de trabalhadores, cada um a fazer uma tarefa simples muito rapidamente.
Essa é a diferença fundamental: as CPUs são generalistas versáteis. As GPUs são processadores paralelos especializados.
Aqui está uma comparação visual:
Porque é que as GPUs dominam a IA
As cargas de trabalho de IA, especialmente as redes neuronais, são embaraçosamente paralelas. Eis porque é que as GPUs ganham:
Multiplicação de matrizes em todo o lado:
As redes neuronais são, na sua maioria, multiplicações de matrizes. Multiplicar a entrada pelos pesos. Milhões de multiplicações. Todas independentes. Perfeitas para processamento paralelo.
GPU: Fazer todas as multiplicações em simultâneo em milhares de núcleos. Rápido.
CPU: Fazer as multiplicações sequencialmente ou em núcleos limitados. Muito mais lento.
Exemplo: Uma única camada num modelo de linguagem de grande dimensão pode multiplicar uma matriz 1024×4096 por uma matriz 4096×1024. São mais de 4 mil milhões de operações de multiplicação-acumulação. Numa GPU com núcleos tensor, isto leva milissegundos. Numa CPU, segundos. A diferença é enorme.
Mesma operação, dados diferentes:
Cada neurónio faz a mesma operação: multiplicação-acumulação. Apenas com dados diferentes. Isto chama-se SIMD (Single Instruction, Multiple Data). As GPUs são construídas para isto.
GPU: Uma instrução transmitida a milhares de núcleos. Cada um aplica-a a dados diferentes. Eficiente.
CPU: Pode fazer SIMD com instruções vetoriais (AVX-512), mas apenas em larguras pequenas (8-16 operações). Não escala como as GPUs.
É como dar a mesma receita a mil cozinheiros contra oito cozinheiros. Os mil cozinheiros terminam os seus pratos em simultâneo. Os oito cozinheiros têm de trabalhar em lotes. Matemática simples.
Largura de banda da memória:
A IA precisa de mover quantidades enormes de dados. Milhares de milhões de pesos. Milhares de milhões de ativações. A largura de banda da memória é importante.
GPU: Arquitetura de memória otimizada. Memória de alta largura de banda (HBM). Concebida para cargas de trabalho intensivas em dados. Centenas de GB/s.
CPU: Menor largura de banda de memória. Otimizado para latência, não para débito. Dezenas de GB/s.
Pense nisto como canos de água. As GPUs têm canos enormes que conseguem mover grandes quantidades de dados rapidamente. Os CPUs têm canos mais estreitos, otimizados para acesso rápido a quantidades menores de dados. Para o tsunami de dados da IA, quer os canos maiores.
Hardware especializado:
As GPUs modernas têm núcleos tensor. Hardware especificamente para multiplicação de matrizes. Extremamente rápido para cargas de trabalho de IA.
A NVIDIA A100, por exemplo, entrega até 624 TFLOPS de desempenho FP16 com os seus núcleos tensor de terceira geração. A H200 vai ainda mais longe com memória HBM3e melhorada. Não são apenas rápidas; são construídas de propósito para as operações exatas de que as redes neuronais precisam.
Os CPUs são de uso geral. Sem hardware de IA especializado (na sua maioria). Fazem tudo de forma aceitável, nada de excecional.
Para redes neuronais tradicionais com operações de vírgula flutuante, as GPUs são 10-100× mais rápidas que os CPUs. A diferença é real.
Para que é que os CPUs são realmente bons
Os CPUs não são inúteis para IA. Destacam-se em coisas diferentes:
Lógica complexa e ramificações:
Os CPUs lidam bem com lógica condicional. Se-então-senão. Instruções switch. Fluxo de controlo complexo. As GPUs têm dificuldade com isto. As ramificações causam divergência, matando o paralelismo.
Para tarefas de IA com muita lógica condicional, os CPUs conseguem competir.
Imagine uma GPU com milhares de núcleos a tentar executar caminhos de código diferentes. Metade dos núcleos quer ir para a esquerda, metade para a direita. A GPU tem de executar ambos os caminhos e mascarar os resultados. Desperdício. Um CPU executa apenas o caminho de que precisa. Eficiente para lógica com ramificações.
Inferência de baixa latência:
Para modelos pequenos com requisitos rigorosos de latência, os CPUs vencem. Sem sobrecarga de transferência de dados. Sem inicialização de GPU. Apenas execução imediata.
Dispositivos de ponta, sistemas em tempo real, aplicações interativas. A inferência em CPU é prática.
Só a transferência por PCIe pode acrescentar 1 a 10 milissegundos. Para um modelo que corre em 2 milissegundos, essa sobrecarga é inaceitável. Os CPUs executam imediatamente. Latência de transferência zero. Isto é importante para aplicações responsivas.
Operações inteiras e binárias:
Os CPUs são excelentes em matemática de inteiros. Operações de bits. Operações lógicas. São operações fundamentais dos CPUs, otimizadas ao longo de décadas.
Para redes neuronais binárias ou modelos quantizados por inteiros, a diferença entre CPU e GPU diminui drasticamente.
As portas XNOR estão nos CPUs desde o seu início. A contagem de bits (popcount) é uma instrução de ciclo único nos CPUs modernos. Estas operações são tão fundamentais que os engenheiros de silício as otimizaram incansavelmente. Quando o seu modelo de IA usa estas operações primitivas em vez de multiplicar-somar em vírgula flutuante, de repente as décadas de otimização do CPU importam mais do que os núcleos paralelos da GPU.
Disponibilidade geral:
Todos os dispositivos têm um CPU. Nem todos os dispositivos têm uma GPU. Para implementação em todo o lado, os CPUs são a única opção universal.
Telemóveis, dispositivos IoT, sistemas embebidos. A inferência em CPU é muitas vezes a única escolha.
A Europa tem requisitos rigorosos de residência de dados ao abrigo do RGPD. Executar IA localmente em CPUs evita dependências da nuvem e complicações de transferência de dados transfronteiriça. O telemóvel do seu utilizador já tem um CPU. Sem hardware adicional. Sem dados a sair do dispositivo. Conformidade tratada.
A mudança de jogo das redes neuronais binárias
É aqui que fica interessante. Lembra-se daquelas operações binárias em que os CPUs são bons?
As redes neuronais binárias usam XNOR e popcount em vez de multiplicar-somar em vírgula flutuante. São operações nativas dos CPUs. Extremamente rápidas em CPUs.
A matemática é elegante: em vez de multiplicar números de vírgula flutuante de 32 bits, compara valores de 1 bit com XNOR e depois conta os bits correspondentes com popcount. A mesma comparação lógica, implementação muito mais simples. E os CPUs fazem isto desde os anos 1970.
Desempenho do CPU com redes binárias:
Para redes binárias, os CPUs podem igualar ou superar o desempenho das GPUs. Porquê?
XNOR e popcount são baratos em CPUs. 6 transístores para XNOR. Operações de ciclo único. Sem sobrecarga de vírgula flutuante.
As GPUs são otimizadas para vírgula flutuante. Os seus núcleos tensor não ajudam com operações binárias. A especialização torna-se uma limitação.
É como levar um carro de Fórmula 1 para uma prova de rali. Claro, é rápido em pistas lisas. Mas quando o terreno muda, a máquina de corrida especializada tem dificuldades enquanto o carro de rali versátil se destaca. As operações binárias mudaram o terreno.
A abordagem Dweve:
O nosso sistema Loom funciona significativamente mais rápido em CPUs do que os modelos de transformadores em GPUs. Não porque temos magia. Porque as operações binárias são mais adequadas a CPUs do que as operações de vírgula flutuante o são.
XNOR-popcount é aquilo para que as CPUs foram concebidas. Operações lógicas. Contagem de bits. Rápido.
Isto não é teórico. É mensurável. As redes binárias mudam fundamentalmente a equação do hardware. Quando pode ativar apenas 4-8 especialistas de domínio de entre 456 opções disponíveis usando restrições binárias, e cada especialista de domínio tem 64-128MB de regras lógicas puras, as CPUs lidam com isto de forma brilhante. Sem necessidade de aritmética de vírgula flutuante. Apenas operações de bits rápidas e eficientes.
Consumo de energia (o custo oculto)
O desempenho não é tudo. O consumo de energia importa. Especialmente na Europa, onde os custos de energia são elevados e os regulamentos de sustentabilidade são rigorosos.
Consumo de energia das GPUs:
As GPUs de IA de topo consomem 300-700 watts. Sob carga, constantemente. Durante horas ou dias durante o treino.
Centros de dados cheios de GPUs consomem megawatts. Eletricidade equivalente a centrais elétricas. Requisitos de arrefecimento enormes. O custo operacional é massivo.
Prevê-se que os futuros processadores de IA consumam até 15.360 watts cada um. Não é um erro de digitação. Quinze quilowatts. Por chip. Vai precisar de soluções de arrefecimento exóticas e infraestrutura elétrica dedicada. A Diretiva de Eficiência Energética da UE exige que os centros de dados com potência superior a 500 quilowatts reportem o consumo de energia. Com GPUs como estas, vai atingir esse limiar rapidamente.
Consumo de energia das CPUs:
As CPUs modernas consomem 50-150 watts sob cargas de trabalho de IA. Muito menos do que as GPUs.
Para inferência, especialmente em implementações de ponta, a eficiência energética importa. Duração da bateria. Limites térmicos. Custos operacionais.
A AMD anunciou recentemente que vai alcançar uma melhoria de 20× na eficiência energética à escala de rack para sistemas de IA até 2030, excedendo as tendências da indústria em quase 3×. Mas mesmo com estas melhorias, as GPUs continuam a consumir muita energia em comparação com as CPUs para muitas cargas de trabalho.
Vantagem das operações binárias:
As operações binárias consomem muito menos energia do que as de vírgula flutuante. Circuitos mais simples. Menos atividade de comutação. Menor energia por operação.
Em CPUs com redes binárias: redução de 96% no consumo de energia em comparação com redes de vírgula flutuante em GPUs. A mesma tarefa. Uma fração da energia.
Isto é importante para a sustentabilidade. Para os custos operacionais. Para as restrições de implementação. Quando os custos de eletricidade europeus estão entre os mais elevados do mundo, executar IA em CPUs com operações binárias não é apenas eficiente; é economicamente sensato. O seu contabilista vai apreciar as faturas de energia mais baixas. O seu responsável pela sustentabilidade vai apreciar a pegada de carbono reduzida.
Considerações de custo (a realidade empresarial)
O hardware custa dinheiro. Vamos ser específicos:
- Custos de GPU: As GPUs de IA de topo custam dezenas de milhares por unidade. O aluguer de centros de dados varia, mas soma-se rapidamente. Treinar modelos grandes requer centenas de GPUs durante semanas. A fatura chega aos milhões.
- Custos de CPU: As CPUs de topo custam milhares, não dezenas de milhares. Muito mais baratas. Já estão em todos os servidores. Sem necessidade de comprar hardware adicional.
- TCO (Custo Total de Propriedade): As GPUs exigem custo de hardware mais consumo de energia mais arrefecimento mais infraestrutura especializada. TCO elevado.
CPUs: Custo de hardware mais baixo mais consumo de energia mais baixo mais infraestrutura padrão. TCO mais baixo.
Para inferência à escala, especialmente com redes binárias, as CPUs podem ser mais rentáveis. A diferença de desempenho diminui, a diferença de custo aumenta a favor das CPUs.
Eis um exemplo prático: executar inferência para um milhão de pedidos por dia. Em GPUs com modelos de vírgula flutuante, pode ser necessário ter servidores GPU dedicados, infraestrutura de arrefecimento e orçamentos de energia substanciais. Em CPUs com redes binárias, pode usar a infraestrutura de servidores existente, arrefecimento padrão e uma fração da energia. As mesmas capacidades, economias muito diferentes.
As empresas europeias enfrentam uma consideração adicional: soberania de hardware. A maioria das GPUs de IA de alta gama vem de fabricantes americanos. As dependências da cadeia de abastecimento criam riscos. As CPUs oferecem opções de fornecimento mais diversificadas, incluindo fabricantes europeus. Quando as tensões geopolíticas afetam o fornecimento de chips, ter alternativas é importante.
Quando usar cada uma
A escolha certa depende do seu caso de uso:
Use GPUs quando:
Treinar modelos grandes de vírgula flutuante. O desempenho é crítico. O orçamento permite. A energia não é limitada. Arquiteturas tradicionais de redes neuronais.
As GPUs são excelentes aqui. Sem dúvida. Se estiver a treinar um modelo transformer de 70 mil milhões de parâmetros, as GPUs são suas aliadas. A arquitetura paralela e os núcleos tensor fazem delas a escolha óbvia para multiplicações de matrizes massivas em vírgula flutuante.
Use CPUs quando:
Executar inferência na periferia. A energia é limitada. O custo importa. Os requisitos de latência são rigorosos. Modelos binários ou quantizados. Implementação em todo o lado.
As CPUs fazem sentido. Muitas vezes, são a única opção.
Considere também as CPUs quando precisar de conformidade com o RGPD com processamento local, quando estiver a implementar em hardware diversificado sem disponibilidade de GPU, quando a eficiência energética for mais importante do que o débito bruto, ou quando estiver a usar redes neuronais binárias que aproveitam os pontos fortes das CPUs.
A abordagem híbrida:
Treine em GPUs (se usar vírgula flutuante). Implemente em CPUs (usando versões binárias/quantizadas). O melhor dos dois mundos.
Ou treine redes binárias em CPUs desde o início. Evite as GPUs por completo. Esta é a abordagem da Dweve.
Não há uma resposta universal. O dogma de que "precisa de uma GPU" ignora as nuances. A sua carga de trabalho, o ambiente de implementação, as restrições orçamentais e as escolhas arquitetónicas são todos importantes. Tome uma decisão informada, não uma decisão reflexa.
O futuro (evolução do hardware)
O panorama do hardware está a mudar:
Chips de IA especializados:
TPUs (Google). Neural engines (Apple). ASICs personalizados. Otimizados para cargas de trabalho de IA específicas. Nem CPU pura nem GPU pura.
Estes podem dominar nichos específicos. Mas as CPUs e as GPUs continuam a ser de uso geral. E os chips especializados trazem riscos de dependência do fornecedor. Quando a Google controla as TPUs e a Apple controla os neural engines, fica dependente dos seus roteiros e preços. As empresas europeias devem considerar estas implicações de soberania.
Extensões de IA para CPUs:
Intel AMX (Advanced Matrix Extensions). ARM SVE2. Extensões vetoriais RISC-V. CPUs a adicionar instruções específicas de IA.
A diferença entre CPU e GPU para IA está a diminuir. Especialmente para operações inteiras e binárias.
Estas extensões trazem aceleração de multiplicação de matrizes diretamente para as CPUs. Não são tão poderosas como GPUs dedicadas para vírgula flutuante, mas são suficientes para muitas cargas de trabalho. E vêm de série, sem necessidade de hardware adicional.
Arquiteturas energeticamente eficientes:
À medida que os custos de energia aumentam, a eficiência importa mais do que o desempenho bruto. Operações binárias. Chips neuromórficos. Computação analógica.
O futuro favorece a eficiência. CPUs com operações binárias enquadram-se melhor nesta tendência do que os pontos flutuantes de GPUs que consomem muita energia.
Os preços europeus de energia e os regulamentos de sustentabilidade aceleram esta mudança. Quando se paga tarifas premium pela eletricidade e se enfrenta mandatos de redução de carbono, a eficiência não é opcional. É obrigatória. O hardware que faz mais com menos energia vence.
Crescimento da computação de ponta:
A IA a passar da nuvem para a ponta. Telemóveis. Carros. Dispositivos IoT. Estes têm CPUs, não GPUs.
A IA eficiente em CPUs torna-se obrigatória, não opcional.
O Regulamento da UE sobre IA enfatiza o processamento local para determinadas aplicações. A computação de ponta com IA baseada em CPU alinha-se perfeitamente com estes requisitos regulamentares. Os dados permanecem locais. O processamento acontece localmente. A conformidade é mais simples.
Números de desempenho no mundo real
Vamos ser específicos com medições reais:
Redes neuronais de ponto flutuante:
GPU: 100-300 TFLOPS (triliões de operações de ponto flutuante por segundo). Modelos de topo como o A100 atingem 624 TFLOPS para FP16. O H200 mais recente vai ainda mais longe.
CPU: 1-5 TFLOPS
Vencedor: GPU (20-100× mais rápida)
A diferença é inegável. Para redes neuronais tradicionais, as GPUs dominam. É por isso que todos assumiram que se precisava de GPUs para IA. Durante uma década, tinham razão.
Redes neuronais binárias:
GPU: Limitada pela falta de hardware especializado. Usa INT8 ou kernels personalizados. Talvez 10-30× mais rápida que a CPU para operações binárias.
CPU: XNOR e popcount são nativos. Extremamente rápidos. Paralelos entre núcleos com AVX-512.
Vencedor: A CPU pode igualar ou exceder a GPU (Dweve Loom: 40× mais rápida na CPU vs. transformers na GPU)
Esta inversão não é mágica. É a matemática a encontrar o design de hardware. As operações binárias jogam a favor dos pontos fortes da CPU, da mesma forma que a multiplicação de ponto flutuante joga a favor dos pontos fortes da GPU.
Latência:
GPU: Sobrecarga de transferência PCIe. 1-10ms apenas para o movimento de dados.
CPU: Zero sobrecarga de transferência. Inferência abaixo do milissegundo possível.
Vencedor: CPU para aplicações de baixa latência
Essa sobrecarga PCIe é fixa. Nenhuma quantidade de otimização a elimina. Para aplicações em tempo real onde cada milissegundo importa, as CPUs vencem por design.
Eficiência energética (operações por watt):
GPU: ~500-1000 GFLOPS/W (ponto flutuante)
CPU: ~100-200 GFLOPS/W (ponto flutuante)
Vencedor: GPU para ponto flutuante
As operações binárias mudam isto:
CPU com binário: 10-50× melhores ops/watt do que GPU com ponto flutuante
Vencedor: CPU com operações binárias
Quando os custos europeus de eletricidade são 3-4× superiores aos dos EUA, estas diferenças de eficiência traduzem-se diretamente em custos operacionais. O caso de negócio para IA baseada em CPU torna-se convincente rapidamente.
O que precisa de recordar
Se não retirar mais nada disto, recorde:
- 1. As GPUs dominam a IA de vírgula flutuante. Paralelismo na multiplicação de matrizes. Núcleos tensoriais especializados. 20 a 100 vezes mais rápidas do que as CPUs em redes neuronais tradicionais. Para cargas de trabalho de vírgula flutuante, são a escolha óbvia.
- 2. As CPUs destacam-se em áreas diferentes. Lógica complexa. Baixa latência. Operações inteiras/binárias. Disponibilidade universal. Processamento local em conformidade com o RGPD.
- 3. As redes binárias mudam a equação. XNOR e popcount são operações nativas da CPU. As CPUs podem igualar ou superar o desempenho das GPUs em IA binária. A mudança matemática favorece a arquitetura das CPUs.
- 4. O consumo de energia é cada vez mais importante. GPUs: 300-700W hoje, até 15.360W previstos. CPUs: 50-150W. Operações binárias: redução de 96% no consumo. Com os custos de energia europeus e as exigências de sustentabilidade, a eficiência não é opcional.
- 5. O custo não é apenas o hardware. Energia. Arrefecimento. Infraestrutura. Soberania na cadeia de abastecimento. O custo total de propriedade é importante. As CPUs são frequentemente mais baratas para inferência à escala, especialmente com redes binárias.
- 6. Escolha com base na carga de trabalho, não em dogmas. Treinar modelos grandes de vírgula flutuante? GPU. Inferência na periferia? CPU. Redes binárias? CPU. Conformidade com o RGPD? CPU. Abordagens híbridas também funcionam.
- 7. O futuro favorece a eficiência. Computação na periferia. Custos de energia crescentes. Regulamentações de sustentabilidade da UE. Requisitos do Regulamento IA. As arquiteturas favoráveis a CPUs estão em ascensão, não em declínio.
A conclusão final
As GPUs venceram a primeira ronda da IA porque as redes neuronais foram concebidas para operações de vírgula flutuante e paralelismo maciço. As GPUs foram criadas exatamente para isso. Uma década de domínio criou o pressuposto de que a IA exige GPUs. Para cargas de trabalho de vírgula flutuante, isso continua a ser verdade.
Mas a IA está a evoluir. Redes binárias. Quantização inteira. Arquiteturas eficientes. Estas favorecem as CPUs. Os fundamentos matemáticos mudaram e, com eles, o hardware ideal.
A narrativa de que "precisa de uma GPU" está desatualizada para muitos casos de utilização. Inferência na periferia? Redes binárias? Implementação sensível aos custos? Conformidade com o RGPD? As CPUs são competitivas. Frequentemente superiores.
O panorama do hardware está a mudar. Chips especializados estão a surgir. Extensões de IA para CPUs estão a chegar. O monopólio das GPUs está a terminar. As empresas europeias têm vantagens particulares nesta mudança: regulamentações rigorosas de proteção de dados favorecem o processamento local em CPUs, os custos elevados de energia recompensam a eficiência e as preocupações com a soberania do hardware beneficiam de uma diversidade de fornecedores de CPUs.
Compreender o que cada processador faz bem ajuda-o a escolher corretamente. Não com base em modas. Com base nos seus requisitos reais. Desempenho, energia, custo, restrições de implementação, conformidade regulamentar.
As GPUs continuam a dominar o treino de modelos grandes de vírgula flutuante. Mas inferência? Implementação? Computação na periferia? O equilíbrio está a mudar. E as operações binárias em CPUs estão a liderar essa mudança. A próxima década da IA não será como a última. O hardware que parecia essencial pode ser opcional. O hardware que parecia insuficiente pode ser ideal.
A sua escolha não é GPU ou CPU. É compreender qual carga de trabalho se adequa a qual hardware. E, cada vez mais, essa compreensão aponta para CPUs em mais casos de utilização do que sugere a sabedoria convencional.
Quer ver IA otimizada para CPU em ação? Explore o Dweve Loom. Raciocínio com restrições binárias em CPUs standard. 40× mais rápido do que modelos transformer em GPUs. Redução de 96% no consumo de energia. Conforme o RGPD por conceção. O tipo de IA que funciona com o hardware que já tem. Construído na Europa para os requisitos europeus.