Neural Processing Unit (NPU)
Uma unidade de processamento neural (NPU) é um processador desenvolvido para cálculos de redes neurais, que executa modelos quantizados com eficiência em celulares, PCs e câmeras.
Uma unidade de processamento neural (NPU) é um processador concebido para executar redes neurais, construído em torno de grandes matrizes de unidades de multiplicação e acumulação alimentadas por memória integrada no chip. A maioria das NPU são blocos dentro de um sistema num chip, junto à CPU e à GPU, onde executam inferência para funcionalidades de câmara, voz e visão com uma fração da energia consumida pelos outros dois processadores. O Kirin 970 da Huawei e o A11 Bionic da Apple, cujo Neural Engine tinha uma capacidade anunciada de 600 mil milhões de operações por segundo, introduziram NPU nos telemóveis em 2017; seguiram-se a NPU Hexagon da Qualcomm, a NPU da Intel nos processadores para computadores portáteis Core Ultra, a partir de dezembro de 2023, e os chips Ryzen AI da AMD. Os computadores Copilot+ PC da Microsoft exigem uma NPU com capacidade superior a 40 biliões de operações por segundo (TOPS). O termo também abrange chips de centros de dados: a Huawei chama NPU aos seus aceleradores Ascend para centros de dados e utiliza-os para treinar modelos de grande escala.
Diferenças entre NPU, CPU e GPU#
A inferência de aprendizagem profunda é dominada por multiplicações de matrizes e convoluções sobre dados previsíveis; por isso, uma NPU elimina a maior parte da lógica de controlo e da memória cache de que uma CPU precisa para executar código geral, assim como a flexibilidade que uma GPU mantém para gráficos. Dedica esse silício a matrizes de computação de função fixa e mantém pesos e ativações na memória local, pois transferir dados consome mais energia do que calculá-los. As NPU também operam com baixa precisão, sobretudo INT8 e FP16, razão pela qual um modelo costuma precisar de quantização antes de ser executado numa NPU e o débito das NPU é indicado em TOPS INT8. A Edge TPU Coral da Google, por exemplo, executa 4 TOPS a 2 TOPS por watt.
- CPU: Executa qualquer código, trata operações que uma NPU não suporta e é a mais lenta das três em cálculos matriciais de grande dimensão.
- GPU: Processador paralelo programável que treina e executa modelos em vírgula flutuante com elevado débito, mas consome mais energia do que uma NPU.
- TPU: Família de aceleradores matriciais da Google. As TPU na nuvem treinam e servem modelos em centros de dados, enquanto a Edge TPU é uma NPU em tudo menos no nome.
- Chips neuromórficos: Processam picos de redes neurais de picos e são adequados para sensores orientados a eventos, um modelo de computação diferente dos cálculos matriciais densos de uma NPU.
Executar um modelo numa NPU#
Uma NPU executa um programa compilado, em vez de um grafo PyTorch ou ONNX. Um compilador do fabricante converte a rede antecipadamente ou quando o ambiente de execução a carrega, quantiza-a muitas vezes para INT8 com imagens de calibração, costuma fixar a forma da entrada e mapeia cada camada para o hardware. As camadas não suportadas pela NPU são encaminhadas para a CPU ou GPU, e cada encaminhamento copia tensores entre processadores:
Cada alternativa acrescenta transferências e deixa um processador à espera do outro; por isso, as arquiteturas para dispositivos de periferia privilegiam operadores padrão, como convoluções, ativações da família ReLU e operações de pooling. Ambientes de execução como o ONNX Runtime, o Core ML da Apple, o LiteRT da Google e o OpenVINO da Intel gerem esta divisão e selecionam a NPU quando esta está disponível.
Onde se utilizam NPU#
Os smartphones usam as NPU para fotografia computacional, reconhecimento de voz no dispositivo, reconhecimento facial e tradução em tempo real, mantendo imagens e áudio no dispositivo e protegendo a privacidade dos dados. Nos PC com IA, o Windows Studio Effects executa no NPU o desfoque de fundo, a correção do contacto visual e o enquadramento automático para videochamadas, deixando a CPU e a GPU livres. Na IA de periferia, NPU da Rockchip, da Hailo e da DEEPX executam deteção de objetos em câmaras de segurança, drones e robôs sem ligação à rede.
O Ultralytics YOLO26 exporta para os formatos compilados exigidos por estas NPU através do modo de exportação, incluindo OpenVINO para NPU Intel, Core ML para o Apple Neural Engine, QNN para a NPU Hexagon da Qualcomm, RKNN para Rockchip e o formato .om para Huawei Ascend. Também treina em NPU Ascend, selecionadas com device="npu:0" ou device="npu:0,1" para treino com várias NPU.










