Acelerador de IA
A unidade de processamento neural (NPU), acelerador de IA, ou processador de aprendizado profundo, é um microprocessador do tipo acelerador de hardware especializado em otimizar o desempenho de tarefas assistidas por inteligência artificial e aprendizado de máquina, incluindo redes neurais artificiais e visão computacional.
Imagem: pacogilgon · BY-NC-SA · Openverse
As NPUs e outros aceleradores de IA podem ser empregados tanto no treinamento de modelos de inteligência artificial quanto na execução de modelos já treinados. A utilização de hardware especializado permite otimizar determinadas operações, particularmente aquelas relacionadas a redes neurais e operações matriciais, reduzindo potencialmente o tempo de processamento e o consumo de energia.
Aceleradores de IA são utilizados em processadores e sistemas destinados a dispositivos de consumo, incluindo plataformas da Apple, Qualcomm, Samsung, Huawei e Google. No processamento de imagens, aceleradores de IA podem ser utilizados para executar modelos empregados em técnicas de reconstrução e aprimoramento de imagens. Quando integrados a um sistema de renderização gráfica, esses aceleradores podem permitir que uma cena seja produzida inicialmente em resolução ou taxa de quadros inferiores e posteriormente processada por um modelo de inteligência artificial para gerar uma saída em resolução ou taxa de quadros superiores.
Processamento de visão
As unidades de processamento de visão (VPUs) são aceleradores especializados em algoritmos de visão computacional, incluindo redes neurais convolucionais e SIFT. São utilizadas em dispositivos que precisam acompanhar visualmente objetos e ambientes, como dispositivos de realidade aumentada, realidade virtual e drones. A Apple incorporou aceleradores de inteligência artificial aos seus processadores a partir de 2017, enquanto a Intel e a AMD passaram a incluir unidades especializadas em seus processadores mais recentemente. Os processadores Intel Meteor Lake possuem uma unidade de processamento versátil (VPU) destinada a acelerar tarefas de inferência relacionadas à visão computacional e ao aprendizado profundo.
Desempenho
Em dispositivos de consumo, as NPUs são projetadas para oferecer baixo consumo de energia e desempenho suficiente para executar modelos de inteligência artificial de menor porte. Para isso, muitas dessas unidades suportam operações de baixa largura de bits utilizando formatos como INT4, INT8, FP8 e FP16. Uma métrica frequentemente utilizada para avaliar o desempenho de NPUs é o número de trilhões de operações por segundo (TOPS). Entretanto, TOPS não especifica por si só o tipo de operação utilizada; em muitos casos, os valores divulgados correspondem a operações INT8 de adição e multiplicação.
Aceleradores de IA também são utilizados em servidores de computação em nuvem e em centros de dados. Exemplos incluem as Tensor Processing Units (TPUs), utilizadas pelo Google Cloud, e os aceleradores AWS Trainium e AWS Inferentia, desenvolvidos pela Amazon Web Services. Existem diversas denominações específicas utilizadas por fabricantes para dispositivos dessa categoria. O setor permanece caracterizado pela coexistência de diferentes arquiteturas e soluções, sem um projeto dominante único. Desde o final da década de 2010, GPUs produzidas por empresas como Nvidia e AMD passaram a incorporar unidades funcionais especializadas em operações de multiplicação de matrizes de baixa precisão. Essas GPUs são amplamente utilizadas como aceleradores de IA, tanto para treinamento quanto para inferência.
Embora as NPUs sejam projetadas principalmente para operações de multiplicação de matrizes de baixa precisão, como FP16 e INT8, essas unidades também podem ser utilizadas para emular operações de maior precisão em determinadas aplicações de computação científica. Técnicas de emulação de precisão, como o esquema de Ozaki, podem permitir a realização de operações equivalentes a FP64 utilizando unidades originalmente projetadas para formatos de menor precisão. Estudos demonstraram essa abordagem em GPUs que possuem unidades de multiplicação matricial especializadas, incluindo a NVIDIA TITAN RTX e a A100. Desde versões recentes do CUDA Toolkit, a biblioteca cuBLAS pode utilizar emulação de operações de maior precisão mediante unidades matriciais de menor precisão quando essa abordagem apresenta vantagem de desempenho em determinadas condições.
Um sistema operacional ou uma biblioteca de nível superior pode fornecer interfaces de programação de aplicações (APIs) destinadas ao acesso a aceleradores de IA. Entre os exemplos estão o TensorFlow com LiteRT Next no Android, Core ML no iOS e macOS, e DirectML no Windows. Formatos como ONNX são utilizados para representar redes neurais treinadas. NPUs integradas a CPUs de consumo geralmente são acessadas por meio de APIs específicas dos fabricantes. Entre os exemplos estão AMD (Ryzen AI), Intel (OpenVINO), Apple silicon (Core ML) e Qualcomm (SNPE), cada qual com seu próprio conjunto de ferramentas e interfaces. As GPUs geralmente utilizam pipelines de GPGPU existentes, como CUDA e OpenCL, adaptados para operações de menor precisão e multiplicação de matrizes especializadas. Vulkan também pode ser utilizado para tarefas de computação em GPUs. Sistemas construídos para finalidades específicas, como a Tensor Processing Unit do Google, empregam interfaces próprias.


