O que é uma unidade de processamento neural (NPU)?

Sistema de neurônios com conexões brilhantes em um fundo preto

O que é uma unidade de processamento neural (NPU)?

Uma unidade de processamento neural (NPU) é um microprocessador de computador especializado projetado para imitar a função de processamento do cérebro humano. Elas são otimizadas para redes neurais de inteligência artificial (IA), tarefas e aplicações de deep learning e aprendizado de máquina.

Diferentemente das unidades de processamento central (CPUs) de uso geral ou das unidades de processamento gráfico (GPUs), as NPUs são adaptadas para acelerar tarefas e cargas de trabalho de IA, como o cálculo de redes neurais compostas por matemática escalar, vetorial e de tensores.

Também conhecidos como chip de IA ou acelerador de IA, as NPUs são normalmente usadas em arquiteturas de computação heterogênea que combinam vários processadores (por exemplo, CPUs e GPUs). Data centers de grande escala podem usar NPUs autônomas conectadas diretamente à placa-mãe de um sistema; no entanto, a maioria das aplicações para consumidores, como smartphones, dispositivos móveis e notebooks, combina o NPU com outros coprocessadores em um único microchip semicondutor conhecido como system-on-chip (SoC).

Ao integrar uma NPU dedicada, os fabricantes podem oferecer aplicativos de IA generativa no dispositivo capazes de processar aplicações de IA, cargas de trabalho de IA e algoritmos de aprendizado de máquina em tempo real com consumo de energia relativamente baixo e alto rendimento.     

As mais recentes notícias de tecnologia, corroboradas por insights de especialistas.

Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.

Agradecemos sua inscrição!

Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Características principais das NPUs

As unidades de processamento neural (NPUs) são adequadas para tarefas que exigem computação paralela de baixa latência, como o processamento de algoritmos de deep learning, reconhecimento de fala, processamento de linguagem natural, processamento de fotos e vídeos e detecção de objetos

As características principais das NPUs incluem as seguintes:

  • Processamento paralelo: as NPUs podem decompor problemas maiores em componentes para a resolução de problemas de multitarefa. Isso permite que o processador execute múltiplas operações de redes neurais simultaneamente. 
  • Aritmética de baixa precisão: as NPUs geralmente são compatíveis com operações de 8 bits (ou inferior) para reduzir a complexidade computacional e aumentar a eficiência energética. 
  • Memória de alta largura de banda: muitas NPUs possuem funcionalidade de memória de alta largura de banda no chip para executar com eficiência tarefas de processamento de IA que exigem grandes conjuntos de dados.
  • Aceleração de hardware: os avanços no projeto de NPUs levaram à incorporação de técnicas de aceleração de hardware, como arquiteturas de matriz sistólica ou processamento tensor aprimorado.  

Como funcionam as NPUs

Com base nas redes neurais do cérebro, as unidades de processamento neural (NPUs) funcionam simulando o comportamento de neurônios e sinapses humanas na camada de circuito. Isso permite o processamento de conjuntos de instruções de deep learning nos quais uma instrução conclui o processamento de um conjunto de neurônios virtuais.

Ao contrário dos processadores tradicionais, as NPUs não são criados para cálculos precisos. Em vez disso, as NPUs são criadas especificamente para funções de resolução de problemas e podem melhorar com o tempo, aprendendo com diferentes tipos de dados e entradas. Aproveitando o aprendizado de máquina, os sistemas de IA que incorporam NPUs podem fornecer soluções personalizadas com mais rapidez, sem a necessidade de mais programação manual.

Como funcionalidade de destaque, as NPUs oferecem processamento paralelo superior e são capazes de acelerar as operações de IA por meio de núcleos simplificados de alta capacidade que são liberados de realizar vários tipos de tarefas. Uma NPU inclui módulos específicos para multiplicação e adição, funções de ativação, operações de dados 2D e descompressão. O módulo especializado de multiplicação e adição é usado para realizar operações relevantes ao processamento de aplicações de redes neurais, como cálculo de multiplicação e adição de matrizes, convolução, produto escalar e outras funções. 

Embora os processadores tradicionais exijam milhares de instruções para concluir esse tipo de processamento de neurônio, uma NPU pode conseguir concluir uma operação semelhante com apenas uma. Uma NPU também integra armazenamento e computação por meio de pesos sinápticos, uma variável computacional fluida atribuída a nós que indica a probabilidade de resultados que pode se ajustar ou "aprender" com o tempo, levando a uma melhor eficiência operacional.

Embora o desenvolvimento das NPUs continue a evoluir, os testes mostraram que o desempenho de algumas NPUs é mais de 100 vezes melhor do que uma GPU comparável, com o mesmo consumo de energia. 

Smart Talks with IBM

Como a infraestrutura está impulsionando a era da IA

Aprenda como os recursos de hardware permitem a matemática de matriz necessária para executar grandes modelos de linguagem e mergulhe em alguns exemplos criativos de como colocar a IA em ação: do seu banco à sua cafeteria local.

Principais vantagens das NPUs

As unidades de processamento neural (NPUs) não foram projetadas para substituir CPUs e GPUs tradicionais (nem se espera que o façam). No entanto, a arquitetura de uma NPU melhora o design de ambos os processadores para fornecer paralelismo e aprendizado de máquina incomparáveis e mais eficientes. Capazes de melhorar operações gerais (mas mais adequadas para determinados tipos de tarefas gerais), quando combinadas com CPUs e GPUs, as NPUs oferecem várias vantagens valiosas em relação aos sistemas tradicionais. 

As principais vantagens incluem:

  • Processamento paralelo: como mencionado, as NPUs podem dividir problemas maiores em componentes para a resolução de problemas de multitarefas. A chave é que, embora as GPUs também se destaquem no processamento paralelo, a estrutura única de uma NPU pode superar uma GPU equivalente com consumo de energia reduzido e pegada de carbono física menor. 
  • Eficiência aprimorada: enquanto as GPUs são frequentemente usadas para computação de alto desempenho e tarefas de IA, as NPUs podem realizar processamento paralelo semelhante com eficiência energética muito melhor. À medida que a IA e outras computações de alto desempenho se tornam cada vez mais comuns e exigem mais energia, as NPUs oferecem uma solução valiosa para reduzir o consumo de energia crítica. 
  • Processamento de dados multimídia em tempo real: as NPUs são projetadas para processar e responder melhor a uma gama mais ampla de entradas de dados, incluindo imagens, vídeo e fala. Aumentar aplicativos como robótica, dispositivos de Internet das coisas (IOT) e vestíveis com NPUs pode fornecer feedback em tempo real, reduzindo o atrito operacional e fornecendo feedback crítico e soluções quando o tempo de resposta mais importa. 

NPUs versus GPUs versus CPUs

No mundo da ciência da computação clássica, a unidade central de processamento (CPU) é considerada o “cérebro” do computador. A CPU processa a maioria das tarefas de computação tradicionais e é responsável por uma ampla gama de aplicações em potencial. Embora existam muitos tipos diferentes, geralmente todas as CPUs executam operações em ordem linear, respondendo às solicitações na ordem em que chegam. 

Entre as décadas de 1950 e 1990, as CPUs suportaram o peso de praticamente todo o processamento computacional, executando instruções para executar programas, sistemas de controle e gerenciar a entrada/saída (E/S).

Aplicações exigentes regularmente levaram geração após geração de designs de CPU ao limite de seu hardware, muitas vezes causando lentidão significativa ou até mesmo falhas no sistema. Porém, com o advento dos jogos de computador pessoal e do design auxiliado por computador (CAD) na década de 1980, o setor precisava de uma solução mais rápida e eficiente para a renderização de gráficos de computador. 

A unidade de processamento gráfico (GPU) foi criada inicialmente para descarregar tarefas exigentes de processamento de imagem da CPU principal. Enquanto as GPUs tendem a usar menos núcleos para realizar operações lineares, as GPUs têm a funcionalidade de centenas a milhares de núcleos com a capacidade de realizar processamento paralelo, um processo no qual tarefas grandes são divididas em problemas menores que podem ser resolvidos simultaneamente por vários processadores e/ou núcleos. 

Inicialmente desenvolvido para lidar com as necessidades de processamento de vídeo e imagem, os recursos de processamento paralelo das GPUs tornaram o hardware especialmente adequado para outras aplicações de computação exigentes, como tarefas relacionadas a blockchain e IA. Embora as GPUs não sejam o único tipo de processador capaz de realizar processamento paralelo ou computação paralela, elas são adequadas para paralelismo. No entanto, as GPUs não estão isentas de limitações e normalmente exigem um consumo de energia extremamente caro para executar operações mais exigentes. Com as GPUs, o aumento do desempenho acarreta um aumento no custo de energia. 

NPUs e outros aceleradores de IA oferecem alternativas mais eficientes. Incorporando e melhorando o paralelismo avançado das GPUs, as NPUs projetadas especificamente para operações de IA fornecem alto desempenho com menor consumo de energia (e o bônus adicional de uma pegada de carbono menor).

Comparação de processadores

  • Unidades centrais de processamento: o "cérebro" do computador. As CPUs normalmente alocam cerca de 70% de seus transistores internos para construir memória cache e fazem parte da unidade de controle do computador. Elas contêm relativamente poucos núcleos, utilizam arquiteturas de computação serial para a solução de problemas lineares e são projetadas para operações precisas de controle lógico. 
  • Unidades de processamento gráfico: desenvolvidas inicialmente para lidar com o processamento de imagens e vídeo, as GPUs contêm muito mais núcleos do que CPUs e usam a maioria de seus transistores para construir várias unidades computacionais, cada uma com baixa complexidade computacional, permitindo um processamento paralelo avançado. Adequadas para cargas de trabalho que exigem processamento de dados em grande escala, as GPUs encontraram uma grande utilidade extra em big data, centros de servidores de back-end e aplicações de blockchain.
  • Unidades de processamento neural: com base no paralelismo das GPUs, as NPUs usam uma arquitetura de computador projetada para simular os neurônios do cérebro humano para fornecer um desempenho altamente eficiente. As NPUs usam pesos sinápticos para integrar o armazenamento de memória e as funções de computação, fornecendo soluções ocasionalmente menos precisas a uma baixa latência. Enquanto as CPUs são projetadas para computação precisa e linear, as NPUs são desenvolvidas para aprendizado de máquina, resultando em uma multitarefa aprimorada, processamento paralelo e a capacidade de ajustar e personalizar operações extras ao longo do tempo sem a necessidade de outras programações. 

Casos de uso de NPUs

Como uma tecnologia emergente, muitos dos principais fabricantes de computadores e hardware, incluindo Microsoft, Intel, Nvidia, Qualcomm e Samsung, oferecem unidades de processamento neural (NPUs) independentes ou variações integradas, como o Apple Neural Engine.

A incorporação de NPUs em eletrônicos de consumo oferece uma ampla gama de benefícios, como melhor reconhecimento de imagens e otimização de câmeras com IA para desfocar melhor o fundo em chamadas de vídeo. Algumas aplicações adicionais para NPUs incluem as seguintes:

Inteligência artificial e grandes modelos de linguagem

Como um tipo de acelerador de IA, as NPUs são projetadas para melhorar o desempenho dos sistemas de IA e ML, como as redes neurais. Complementando as GPUs, o paralelismo aprimorado das NPUs oferece melhorias significativas para grandes modelos de linguagem, que exigem processamento adaptativo de baixa latência para interpretar sinais multimídia, realizar reconhecimento de fala e produzir a linguagem natural e a arte usadas em ferramentas como chatbot IA e aplicações de IA generativa.  

Dispositivos de Internet das coisas (IoT)

Com recursos excepcionais de processamento paralelo e autoaprendizagem, as NPUs são adequadas para dispositivos de IoT em rede, como vestíveis, assistentes de voz e dispositivos inteligentes. 

Data centers

A IA e o aprendizado de máquina têm sido um grande benefício para os data centers que buscam otimizar os recursos. As NPUs de alto desempenho e eficientes em termos de energia oferecem um enorme valor para os data centers, oferecendo um melhor gerenciamento de Recursos para computação em nuvem

Veículos autônomos

Veículos autônomos como drones ou carros e caminhões autônomos se beneficiam muito dos recursos de processamento em tempo real das NPUs, permitindo uma correção de curso mais rápida e melhor com base na entrada do sensor multimídia. Com processamento paralelo incomparável, as NPUs podem ajudar veículos autônomos a interpretar e processar entradas em rápido desenvolvimento, como sinais de trânsito, padrões de tráfego e até obstáculos inesperados.

Edge computing e IA de edge

Enquanto a computação em nuvem oferece soluções avançadas de dados e recursos externos para IoT, dispositivos inteligentes e outros dispositivos de computação pessoal, a edge computing e a edge AI buscam fisicamente aproximar fisicamente os usuários de dados críticos e recursos de computação. Isso reduz a latência, mitiga o consumo de energia e reforça a privacidade. Exigindo menos energia e oferecendo uma pegada de carbono menor, as NPUs estão se tornando um componente valioso na edge computing e na IA no dispositivo. 

Robótica

Adeptas a lidar com tarefas que exigem aprendizado de máquina e visão computacional, as NPUs oferecem suporte crítico ao desenvolvimento do setor de robótica. A robótica habilitadas por IA, desde assistentes domésticos até ferramentas cirúrgicas automatizadas, depende de NPUs para desenvolver a capacidade de detectar, aprender e reagir a seus ambientes. 

Soluções relacionadas
Análise de dados e IA 

Use frameworks e ferramentas de código aberto para aplicar IA e aprendizado de máquina aos dados empresariais mais valiosos em mainframes IBM zSystems.

Explore o IBM Z
Soluções de infraestrutura de IA

A IBM oferece soluções de infraestrutura para IA que aceleram o impacto em toda a sua empresa com uma estratégia híbrida por design.

Explore nossas soluções de infraestrutura de IA
Consultoria e serviços de IA

Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights que proporciona vantagem comercial.

Explore os serviços de IA
Dê o próximo passo

Impulsione suas cargas de trabalho de IA com uma infraestrutura otimizada para desempenho, confiabilidade e integração com nuvem híbrida, criada para as demandas reais das empresas.

Explore nossas soluções de infraestrutura de IA Veja mais informações