Três unidades, pontos fortes diferentes

CPU, GPU e NPU são frequentemente apresentadas como três motores de processamento, mas não são opções intercambiáveis para a mesma tarefa. Cada uma tem uma arquitetura e uma finalidade predominante: a CPU coordena e executa tarefas gerais, a GPU destaca-se quando uma carga pode ser distribuída por muitos cálculos semelhantes, e a NPU está orientada para operações utilizadas por redes neuronais e outros modelos de IA. A fronteira não é absoluta: o trabalho efetivo depende do programa, das respetivas bibliotecas e dos recursos disponíveis no computador.

A CPU é o processador de uso geral que executa instruções do sistema operativo e das aplicações. Pode tratar de cálculos, lógica, entrada e saída e sequências de instruções que exigem decisões sucessivas. A sua versatilidade torna-a necessária mesmo num computador com aceleradores: organiza o trabalho, executa as partes que não são delegadas e trata das tarefas do sistema. Não é rigoroso resumi-la como «a mais lenta» ou «a mais rápida» sem especificar uma carga de trabalho, porque a comparação varia consoante o tipo de operação. A Microsoft descreve a CPU como o componente que dirige os outros elementos de um dispositivo.

A GPU começou por ser uma unidade para gráficos, mas a capacidade de executar muitos cálculos em paralelo também é útil para além da renderização. A distinção prática não é que a GPU faça tudo melhor, mas que pode processar uma carga com eficiência quando as operações podem ser distribuídas em paralelo. Uma tarefa com dependências sequenciais ou muita lógica de controlo pode não beneficiar da mesma forma. A documentação da NVIDIA sobre computação GPU e a explicação da AWS sobre GPU e CPU descrevem precisamente esta especialização em cálculos paralelos. NVIDIA · AWS.

A NPU, por sua vez, é um acelerador concebido para executar determinados cálculos associados à inteligência artificial. A sua presença não significa que todas as funções de IA sejam executadas nela: o modelo, o formato das operações, os controladores e o software de execução têm de ser compatíveis. Se esse percurso não estiver disponível, o sistema pode executar a inferência na CPU ou na GPU. A designação do chip descreve uma capacidade, mas não garante a sua utilização por todas as aplicações nem uma melhoria universal da velocidade ou do consumo energético.

Uma aplicação pode distribuir uma carga de trabalho

Num programa real, uma operação visível para o utilizador pode incluir várias etapas: preparar os dados, executar o modelo, processar o resultado e apresentá-lo no ecrã. Não há motivo para todas essas fases corresponderem a um único chip. A CPU pode preparar as entradas e coordenar a execução, um acelerador pode resolver as operações mais intensivas e a CPU ou a GPU pode tratar das etapas seguintes. A divisão concreta depende da forma como a aplicação foi escrita e da infraestrutura de software que liga o modelo ao hardware.

O Windows ML oferece um exemplo documentado desta camada de coordenação no Windows: a Microsoft descreve-o como uma estrutura de inferência local baseada no ONNX Runtime, capaz de executar modelos em CPU, GPU ou NPU através de fornecedores de execução. A documentação indica que o Windows gere esses fornecedores e que a seleção depende do percurso de execução disponível; isso não significa que todos os modelos utilizem todas as unidades ou que uma carga de trabalho seja automaticamente distribuída entre elas. Documentação do Windows ML.

Convém distinguir a distribuição do trabalho de uma aplicação da divisão de um único cálculo. Um programa pode usar a CPU para algumas funções e a GPU para outras sem distribuir uma só operação entre ambas. Também pode delegar parte do modelo e manter outras etapas no processador central. Para saber qual destas situações ocorre, é necessária documentação da estrutura ou da aplicação; não basta que o computador apresente vários processadores.

O que o software pode decidir

A aplicação, o formato do modelo, o fornecedor de execução, o controlador e o sistema operativo formam uma cadeia. Se um dos elos não suportar determinada operação, poderá ser necessário recorrer a outra unidade ou implementação. Por isso, uma aplicação pode comportar-se de maneira diferente em dois computadores que anunciam uma NPU ou GPU: podem variar a compatibilidade, o controlador, a memória disponível e a versão do software.

A documentação do Windows ML indica que a execução local pode recorrer à CPU, GPU e NPU, mas essa possibilidade não demonstra que todas as aplicações sigam uma política idêntica. O dado relevante é o percurso de execução ativado pela aplicação, não apenas o inventário de hardware. As especificações gerais do processador também não identificam a unidade que executou determinada função durante uma sessão.

A aceleração disponível não garante desempenho

O facto de um computador poder acelerar uma tarefa significa que há hardware e software capazes de disponibilizar um percurso de execução compatível. Não demonstra o grau de aceleração, se o resultado será percetivelmente mais rápido ou se o consumo total de energia será menor. Para chegar a essas conclusões, seriam necessárias medições reproduzíveis com a mesma carga, configuração, versão de software e condições de comparação. Disponibilidade e resultado são questões diferentes.

A GPU pode ser adequada a cargas paralelas, mas o benefício efetivo também depende de a tarefa se ajustar a esse padrão e do tempo gasto a transferir dados ou coordenar operações. Uma tarefa pequena pode não compensar o custo da delegação. Do mesmo modo, uma NPU pode melhorar a eficiência de uma operação compatível, mas a mera presença do acelerador não permite extrapolar o resultado para todos os modelos ou para toda a aplicação. A documentação dos fabricantes explica a conceção e as utilizações previstas; não substitui um teste da carga concreta.

O contexto também importa. Num ambiente de trabalho virtual, por exemplo, a aceleração pode abranger tanto a renderização como a codificação dos fotogramas enviados pela rede. A Microsoft alerta que a codificação acelerada por GPU pode melhorar a experiência, mas também consumir mais largura de banda e recursos do cliente e do anfitrião. É um lembrete útil: mesmo quando se identifica uma unidade concreta, os custos deslocam-se entre recursos, e o resultado depende do sistema completo. Microsoft: aceleração GPU no Azure Virtual Desktop.

Por isso, as comparações úteis especificam o que está a ser medido: tempo de resposta, desempenho sustentado, consumo do computador, qualidade do resultado ou carga da rede. Uma afirmação genérica como «usa a GPU» não responde a estas perguntas. Se a fonte não publicar uma metodologia e resultados pertinentes, é mais rigoroso descrever a capacidade técnica do que prometer uma melhoria quantificada.

Execução local e privacidade: uma afirmação com limites

Inferência local significa que um modelo é executado no dispositivo, em vez de enviar necessariamente toda a execução para um serviço remoto. O Windows ML é apresentado como uma estrutura para executar modelos localmente no hardware do utilizador e aceder à CPU, GPU ou NPU. Isso permite que uma aplicação processe determinados dados sem uma ligação à nuvem para essa etapa, mas não demonstra que a aplicação completa não envie dados por outros motivos. Microsoft: Windows ML.

Um acelerador, por si só, não prova para onde seguem os dados. Ter uma GPU ou NPU não confirma que uma função opere sem ligação, que todos os dados permaneçam no dispositivo ou que a aplicação não contacte servidores para autenticação, sincronização, telemetria ou outras tarefas. Para avaliar a privacidade, é necessário consultar a documentação e a política da aplicação, identificar que informação processa e verificar que funções requerem ligação à rede. O modelo de execução e o comportamento da aplicação são camadas relacionadas, mas não idênticas.

A mesma cautela aplica-se à palavra local. Pode referir-se a uma etapa específica de inferência, não necessariamente a todos os componentes de um serviço. Se um fabricante afirmar que uma função é processada no dispositivo, as perguntas úteis são: que função, que dados e em que configuração? Uma afirmação delimitada esclarece melhor o âmbito do que uma promessa geral de «IA privada» baseada apenas no tipo de chip.

Ejecución local y privacidad: una afirmación con límites La inferencia local significa que un modelo se ejecuta en el dispositivo, en lugar de enviar necesariamente toda esa ejecuc...
Imagen generada con IA por BytePreview · AI generated editorial image

Como verificar que unidade está a ser utilizada

Para verificar uma afirmação de aceleração, convém começar pela documentação mais específica e avançar depois para os indicadores do sistema. Primeiro, deve consultar-se a documentação da aplicação ou da estrutura e verificar que unidades suporta, que versões requer e se a função está ativada por predefinição. Depois, pode consultar-se a documentação do sistema operativo e do fabricante do hardware. A compatibilidade anunciada é um primeiro filtro, não uma prova de utilização efetiva.

Um gestor de tarefas ou outra ferramenta de monitorização pode dar pistas sobre a atividade da CPU, GPU ou NPU durante uma operação. No entanto, um gráfico de utilização nem sempre identifica o processo, o subcomponente ou a etapa que gera a atividade; também não prova, por si só, que o resultado tenha sido acelerado. A visibilidade depende da versão do sistema, do controlador e das capacidades de monitorização. Se o sistema não disponibilizar um contador específico, não se deve inferir que a unidade está inativa: pode simplesmente faltar essa observação.

Uma verificação prática pode seguir estes passos:

  • Identificar a função exata e o nome do modelo ou da tarefa executada.
  • Verificar se a aplicação declara compatibilidade com CPU, GPU ou NPU e que fornecedor de execução utiliza.
  • Consultar os requisitos do sistema, o controlador e a versão da aplicação.
  • Observar a atividade dos recursos durante uma tarefa controlada, sem tratar o indicador como prova conclusiva.
  • Se o desempenho for importante, comparar a mesma carga com uma metodologia e condições documentadas.

Para chegar a uma conclusão sólida, é necessário combinar as declarações do software com uma observação adequada e, quando se afirma uma melhoria, com uma medição comparável. Não há um único indicador que responda a todas as perguntas: um monitor pode assinalar atividade, a documentação pode confirmar compatibilidade e um teste pode medir desempenho, mas cada evidência responde a algo diferente.

Uma regra útil para interpretar as designações

A forma mais segura de interpretar CPU, GPU e NPU é considerá-las especializações complementares, não uma escala em que cada chip novo substitui o anterior. A CPU mantém o papel geral e de coordenação; a GPU pode acelerar cargas gráficas e paralelizáveis; a NPU pode tratar de operações de IA que o software e o modelo consigam encaminhar para ela. A combinação depende da carga e do suporte de software, não apenas do nome indicado numa ficha técnica.

Perante uma afirmação como «a IA é executada na NPU», convém perguntar que função é executada nela, se o modelo e o programa suportam esse percurso, como se verifica a atividade e que resultado foi medido. Perante «funciona localmente», importa precisar que etapa é executada no dispositivo e que dados podem continuar a ser comunicados a serviços externos. Estas perguntas distinguem uma capacidade real de uma conclusão mais abrangente que as evidências não sustentam.

A distinção final é simples: as especificações descrevem aquilo para que um componente foi concebido; a documentação do software explica que percursos pode utilizar; a monitorização mostra atividade num contexto concreto; e os testes comparáveis permitem avaliar o resultado. Nenhum destes elementos, isoladamente, demonstra todos os restantes. Em conjunto, ajudam a compreender o que o computador está a fazer sem transformar uma designação de aceleração numa promessa de desempenho, eficiência ou privacidade.