Um acelerador de IA é qualquer peça de hardware, incluindo uma unidade de processamento gráfico (GPU),usada para acelerar modelos de aprendizado de máquina (ML) e deep learning (DL), processamento de linguagem natural e outras operações de inteligência artificial (IA ).
No entanto, o termo acelerador de IA é cada vez mais usado para descrever chips de IA, como unidades de processamento neural (NPUs) ou unidades de processamento tensorial (TPUs). Embora GPUs de uso geral, originalmente projetadas para renderizar imagens e gráficos, sejam muito eficazes como aceleradores de IA, hardware de IA dedicado pode oferecer poder computacional semelhante ou superior, com eficiência energética aprimorada, maior capacidade de processamento paralelo e outras otimizações valiosas para cargas de trabalho de IA.
As unidades centrais de processamento (CPUs) padrão operam em um framework linear, respondendo às solicitações uma de cada vez e muitas vezes enfrentam demandas de processamento de dados de alto desempenho. As GPUs são projetadas de modo distinto e se destacam nessas demandas.
Com múltiplos núcleos lógicos, as GPUs dividem problemas complexos em partes menores que podem ser resolvidas simultaneamente, metodologia conhecida como processamento paralelo. Criada pela Nvidia em 2006, a API CUDA liberou o impressionante poder de processamento paralelo das GPUs. Isso permite que programadores utilizem GPUs Nvidia para processamento de uso geral em milhares de cenários, como otimização de data centers, robótica, fabricação de smartphones, mineração de criptomoedas e muito mais.
As impressionantes capacidades de processamento paralelo da GPU também se mostraram extremamente úteis em tarefas de IA, como o treinamento de grandes modelos de linguagem (LLMs) ou de redes neurais. No entanto, com o aumento da demanda, aumenta também o consumo de energia. Além disso, GPUs de alto desempenho são notoriamente caras e consomem muita energia.
Apesar de serem ideais para aplicações de IA como o processamento de grandes conjuntos de dados, as GPUs não foram projetadas especificamente para uso em modelos de IA. Como processador gráfico, a GPU comum dedica parte de seus núcleos lógicos a tarefas relacionadas a imagens. Essas funções englobam codificação e decodificação de vídeo, cálculo de valores de cor e diversos processos de renderização, essenciais para edição de vídeo, modelagem 3D e jogos. Os chips aceleradores de IA, no entanto, são ajustados para lidar apenas com as tarefas necessárias para a IA.
De modo geral, uma GPU precisa processar rapidamente grandes (mas não enormes) volumes de dados para renderizar gráficos complexos e dinâmicos em tempo real. Dessa forma, as GPUs priorizam operações de baixalatência para garantir uma qualidade de imagem alta e constante.
Embora a velocidade importe nos modelos de IA, os conjuntos de dados de IA são muito maiores do que a demanda média de uma GPU. Ao contrário das GPUs, os aceleradores de IA são feitos para otimizar largura de banda e, consequentemente, também costumam apresentar melhor eficiência energética.
Apesar de as GPUs servirem como aceleradores de IA, elas podem não ser a melhor escolha diante de um acelerador de IA mais especializado. As principais diferenças entre GPUs de uso geral e chips de IA especializados estão na especialização, eficiência, acessibilidade e utilidade.
Para aplicações de IA, uma GPU pode ser uma boa solução de uso geral, assim como uma caminhonete serve como equilíbrio entre um carro esportivo e um caminhão de 18 rodas. Um caminhão de 18 rodas é mais lento que um carro esportivo, mas transporta muito mais carga. Uma caminhonete transporta certa quantidade de carga e é mais rápida que um caminhão de 18 rodas, embora mais lenta que um carro esportivo.
A GPU se assemelha a uma caminhonete, mas dependendo das prioridades da aplicação de IA, um chip de IA mais especializado, como um veículo mais específico, pode ser a melhor escolha.
As unidades de processamento gráfico, também chamadas de unidades gráficas, surgiram nos anos 1990 para aliviar a carga de processamento dos CPUs, à medida que os sistemas deixaram de ser baseados em texto e os sistemas operacionais gráficos e os videogames começaram a se popularizar.
Desde a criação do computador moderno no início dos anos 1950, o CPU sempre foi responsável pelas tarefas computacionais mais críticas, incluindo o processamento de programas, a lógica e o controle de input/output (I/O).
Na década de 1990, os videogames e o design auxiliado por computador (CAD) exigiam uma forma mais eficiente de transformar dados em imagens. Esse desafio levou os engenheiros a projetarem as primeiras GPUs com uma arquitetura de chip específica, capaz de realizar processamento paralelo.
Desde 2007, quando a Nvidia lançou a plataforma de programação CUDA, os projetos de GPU se multiplicaram, com aplicações identificadas em diversos setores e muito além do processamento gráfico (embora a renderização de gráficos ainda seja a aplicação mais comum da maioria das GPUs).
Embora existam centenas de variedades de GPUs que variam em desempenho e eficiência, a grande maioria se enquadra em uma das três principais categorias:
Embora o termo acelerador de IA englobe qualquer hardware destinado a acelerar aplicações de inteligência artificial, ele costuma designar chips especializados, otimizados para tarefas específicas de modelos de IA.
Embora sejam considerados hardware altamente especializado, aceleradores de IA são desenvolvidos e empregados por empresas consolidadas como IBM, Amazon Web Services (AWS) e Microsoft, além de startups como a Cerebras. À medida que a IA amadurece e se populariza, aceleradores de IA e seus toolkits de suporte tornam-se mais frequentes.
Antes da criação dos primeiros aceleradores dedicados, as GPUs de uso geral eram (e ainda são) amplamente empregadas em aplicações de IA, especialmente por seu poder de processamento paralelo. Contudo, com o avanço das pesquisas em IA ao longo dos anos, engenheiros passaram a buscar aceleradores de IA que ofereçam maior eficiência energética e otimizações específicas.
Os aceleradores de IA apresentam variações de desempenho e de especialização, e certas soluções proprietárias são exclusivas de alguns fabricantes. Alguns dos tipos mais destacados de aceleradores de IA incluem os seguintes:
Embora uma GPU disponível comercialmente ofereça vantagens como disponibilidade e acessibilidade, aceleradores de IA mais especializados geralmente superam tecnologias anteriores em três aspectos fundamentais: velocidade, eficiência e design.
Os aceleradores modernos de IA, inclusive GPUs, superam amplamente os CPUs em processamento de grandes volumes de dados com baixa latência. Para aplicações críticas, como sistemas de veículos autônomos, a velocidade se torna essencial. As GPUs são melhores que os CPUs, mas os ASICs criados para aplicações específicas, como a computer vision usada em carros autônomos, são ainda mais rápidos.
Os aceleradores de IA projetados para tarefas específicas podem ser de 100 a 1.000 vezes mais eficientes em energia do que as GPUs, que demandam muita energia. A eficiência aprimorada pode gerar redução drástica de despesas operacionais e, mais importante, causar muito menos impacto ambiental.
Os aceleradores de IA utilizam uma arquitetura de chip chamada design heterogêneo, que permite a múltiplos processadores dar suporte a tarefas separadas e aumenta o desempenho de computação por meio de processamento paralelo avançado.
Como as GPUs também são consideradas aceleradores de IA, seus casos de uso frequentemente se sobrepõem aos de hardwares de IA mais especializados. Com o tempo, poderemos ver as GPUs ficarem em segundo plano nos aplicativos de IA.
As GPUs versáteis ainda são amplamente usadas em IA e em outros tipos de aplicações, e isso certamente continuará. As GPUs são empregadas em diversas aplicações que exigem paralelismo avançado, incluindo as seguintes:
Conforme a tecnologia de IA evolui, componentes de hardware especializado ganham espaço de forma crescente. Ao incorporar o poder de processamento paralelo das GPUs e descartar funcionalidades desnecessárias, aceleradores ASIC de IA têm sido usados em uma gama crescente de aplicações, incluindo as seguintes: