Una Neural Processing Unit (NPU) — talvolta indicata come acceleratore di IA o Tensor Processing Unit (TPU) — è una classe specializzata di architettura di microprocessore. A differenza delle CPU general-purpose, ottimizzate per la logica sequenziale e i salti condizionati intensivi, le NPU sono progettate a livello hardware per eseguire in modo particolarmente efficiente le operazioni matematiche vettoriali con un elevato grado di parallelismo, in particolare le operazioni di Multiply-Accumulate (MAC).
Le operazioni MAC (a * b + c) sono i blocchi matematici fondamentali delle reti neurali artificiali (ANN).
Perché le CPU e le GPU faticano nell’inferenza di IA
- CPU: un tradizionale MCU o MPU (come un Cortex-A o Cortex-M) elabora i dati in modo sequenziale. Anche con le estensioni SIMD (Single Instruction, Multiple Data), calcolare un milione di operazioni MAC per un singolo frame di inferenza di un’immagine richiede di attraversare la pipeline fetch-decode-execute della CPU un milione di volte, consumando enormi quantità di tempo e di energia della batteria.
- GPU: le Graphics Processing Unit sono eccellenti nella matematica parallela, motivo per cui rappresentano lo standard per l’addestramento dei modelli di IA nel cloud. Tuttavia, le GPU sono estremamente avide di energia, ingombranti e costose. Non possono essere collocate all’interno di un sensore IoT da 5 dollari alimentato a batteria e dispiegato sul campo.
Il vantaggio delle NPU all’edge
Una NPU colma questo divario, abilitando la rivoluzione dell’Edge AI e del TinyML.
Dedicando area di silicio specificamente a massicci array MAC e a SRAM fortemente localizzata (per evitare di sprecare energia recuperando i pesi dalla RAM esterna), una NPU può eseguire un’attività di inferenza (come il rilevamento di una parola di attivazione o il riconoscimento visivo di anomalie) in una frazione del tempo e utilizzando una frazione dell’energia di un processore general-purpose.
Metriche chiave delle NPU:
- TOPS (Tera Operations Per Second): una metrica comune (anche se spesso promossa in modo fuorviante) del throughput grezzo. Per l’Edge AI, in genere misuriamo in GOPS (Giga Operations).
- TOPS/Watt: la vera metrica critica per l’ingegneria embedded. Misura l’efficienza energetica dell’inferenza. Un elevato rapporto TOPS/Watt consente di eseguire modelli di IA complessi su batterie a bottone.
- Supporto alla quantizzazione: le NPU moderne supportano nativamente la matematica INT8 o persino INT4 (interi). Quantizzando una rete neurale (convertendola da virgola mobile a 32 bit FP32 a interi a 8 bit), la NPU può elaborare il modello fino a 4 volte più velocemente e con un ingombro di memoria significativamente inferiore, spesso con un calo di accuratezza trascurabile.