Funções do Copilot+ chegarão a notebooks AMD e Intel em novembro

Um jeito de justificar preço altos com coisa inúteis

3 Likes

Faz tempo que eu quero fazer essa pergunta (sempre me esqueço de pesquisar): As NPU só servirão para as tarefas de IA?

O Windows ou qualquer outro, não poderão utilizar dessas unidades de processamentos para outra coisa?

Creio que sim, embora TPUs me parecem muito melhores para propósito geral:

As unidades de processamento de tensor (TPUs) também são chips especializados projetados para acelerar o processamento de redes neurais. Entretanto, diferentemente das NPUs, as TPUs não se baseiam na arquitetura tradicional de von Neumann, que separa a memória e as unidades de processamento. Em vez disso, as TPUs usam uma nova arquitetura, chamada de matriz sistólica, que integra a memória e as unidades de processamento em um único chip. Isso permite que as TPUs executem cálculos paralelos com mais rapidez e eficiência do que as NPUs.

(Fonte: NPU vs TPU: The Future of AI Hardware Explained | by Craig Adebanji | Medium )

Ambos TPUs e NPUs são feitos para acelerar processos que geralmente são usados em Inteligências Artificiais (como multiplicação matricial e convolução). Esses processos também são usados para processamento gráfico (por exemplo, o já antigo filtro de “nitidez” ou “embaçamento” em editores gráficos também, nos bastidores, usa convolução e multiplicação de matrizes). Mas as TPUs são mais versáteis e mais baratas que NPUs.

Vejo as seguintes possibilidades de uso para chips TPUs/NPUs:

  • Áudio e DSP (conversão de domínio do tempo para domínio frequencial (“FFT”) em tempo real)
  • Imagens (compressão JPEG), acelerando passos como DCT (Discrete Cosine Transform) através do chip.
  • Criptografia: aceleração do cálculo para EC, RSA e AES, possibilidade de trabalhar com chaves maiores de criptografia
  • Compressão: Huffman, por exemplo
  • Renderização 3D (tanto CAD quanto jogos): aceleração de processos de ray tracing, simulação física, transformação vetorial, etc

Pode ser, entretanto, que o chip só seja acessível por drivers proprietários, o que dificulta um pouco o uso deles para essas outras tarefas, ou por sistemas operacionais como distros Linux.

2 Likes

Até aonde eu sei já se usam DSPs (tipo o Hexagon da Qualcomm) pra processamento de sinais, mas, sei lá, talvez passem a usar esses cores como um DSP mais generalista?

Compressão de JPEG acho que qualquer CPU moderna já faz com um pé nas costas e o outro também. Compressão de vídeo em geral tem blocos dedicados ou aceleração por GPU (e geralmente até às GPUs usam blocos dedicados em vez de usar os núcleos generalistas.

No Windows aparentemente expõem isso como parte do DirectX!!! Mas não deve impedir o uso de APIs proprietárias também.

Aliás, os míticos recursos de IA dos “Copilot PCs” estão realmente usando as NPUSs? Por que tem coisa por aí de “IA” que tem usado mais a nuvem para processamento que qualquer coisa (Circle to Search é legal mas vejo zero motivo técnico para a limitação em só certos aparelhos da Samsung).
Acho que até os recursos de edição de imagem estão usando cloud em vez de processamento local.

2 Likes

A Microsoft meio que dita as regras do mercado de PCs. Com a gradual adoção desses chips nos computadores, e a tendência de maior disponibilidade de NPUs, a probabilidade de novos softwares começarem a sair com aproveitamento dessas capacidades (principalmente se a Microsoft documentar bem suas APIs Windows de acesso ao NPU) será maior.

Hoje em dia, softwares como o FL Studio, um DAW de áudio em tempo real, não contam com aceleração de hardware (ao menos foi o que obtive de informação pelo Perplexity.ai e pelo Microsoft Copilot, acerca da versão atual do FL Studio). Embora computadores modernos tendem a rodar DAWs de forma lisa, quanto mais VSTs e VSTis, maior será a carga, principalmente para mixagem em tempo real (como alguns DJs fazem em baladas). Os VSTs costumam converter o sinal contínuo para o domínio frequencial (FFT), manipular determinadas frequências, pra posteriormente converter de volta para sinal contínuo (Inverse FFT), que será usado pelo próximo VST na cadeia de efeitos. É comum uma cadeia de efeitos com dezenas de VSTs, cada um tendo que fazer FFT e IFFT. Aí é onde eu vejo que poderiam entrar os NPUs, paralelizando o FFT/IFFT, transformando os VSTs mais ou menos como GLSL Shaders.

Sim, inclusive é algo relativamente fácil de fazer até mesmo do zero, como prova de conceito (já implementei algoritmo de DCT usando Javascript). Eu falo de acelerar a compressão JPEG em cenários onde faz-se necessário desconverter e reconverter milhares de JPEGs simultaneamente. Nesses cenários, qualquer aceleração é interessante para reduzir o tempo.

Bom, aí sim. Se for aberto o suficiente o acesso, vejo ser possível até usar essas capacidades de NPU em Linux.

Não sei não, mas é bem capaz, sim, de jogarem para a nuvem mesmo com a presença de um NPU, até mesmo para justificar uma cobrança de assinatura (porque, senão, como vão justificar a cobrança do uso de um NPU local? Na nuvem há a desculpa razoável de que precisam arcar com os custos dos data centers).

O que pode acontecer também é que os NPUs gerenciados por Windows se tornem parte de um cluster global, como se fosse um SETI@home coercitivo da Microsoft. Então o processamento de IA poderia ser distribuído para todos os usuários WIndows que tivessem um PC com NPU e, assim, a Microsoft poderia reduzir seus custos com data center enquanto lucram com a assinatura empurrada de serviços como o 365. Sei lá, é uma teoria, mas que tem uma lógica de negócio por trás. Um negócio bem lucrativo.

1 Like