Sono nei telefoni, nei televisori, ovviamente nei computer e persino dentro aspirapolveri e lavatrici, oggi è impossibile non sentire parlare reti neurali, deep learning o di intelligenza artificiale. Siamo sicuri di conoscere esattamente le differenze fra CPU, GPU e NPU?
Le unità NPU, Neural Processing Unit, sono dei microprocessori con un’architettura interna che simula la rete neurale di un cervello umano per accelerare il calcolo parallelo in modo rapido ed efficiente in attività che richiedono un’elaborazione molto veloce di enormi quantità di dati audio/video. Possono essere viste come l’evoluzione di quelli che una volta si chiamavano coprocessori, ovvero dei chip aggiuntivi installati per svolgere compiti specifici, sgravando così l’unità centrale, o CPU (Central Processing Unit) da compiti onerosi in termini di calcolo numerico. In linea di massima esistono due grandi “modi” di progettare processori:
- CISC (Complex Instruction Set Computer), dotati di una serie di istruzioni a livello hardware, capaci di eseguire molteplici compiti, di diversa complessità, in una sola volta impiegando più cicli di clock
- RISC (Reduced Instruction Set Computer), capaci di eseguire istruzioni molto semplici in modo molto veloce, una per ogni ciclo di clock
Alla prima categoria appartengono nomi famosi come i Motorola 68000, tutta la generazione x86 di Intel (8086, 386, Pentium, Core e così via) o di AMD (Athlon, Opteron, Ryzen), mentre alla seconda, gli UltraSpark di Sun e, ovviamente, tutti gli ARM (Advanced Risc Machine) e i suoi derivati come le varie GPU di Nvidia o i velocissimi M1/M2/M3 di Apple.Laddove i processori x86 richiedono energia, nell’ordine di 70/100 W per le varianti desktop, attingendo direttamente alla presa di corrente (e dissipando grande calore), i corrispettivi ARM del mondo telefonia mobile giocano una partita completamente diversa potendo contare su un assorbimento di pochi watt (tipicamente meno di 5) oltre ad avere a disposizione molto meno spazio per la dissipazione del calore. Basti pensare allo spessore di un comune telefonino.
Così come negli anni abbiamo assistito prima alla corsa ai MegaHertz, poi all’incremento del numero di core passando ai vari set di istruzioni specifici (MMX, SSE, AVX) così oggi, con le recenti NPU si parla di TOPS, un coefficiente numerico dato da una formula matematica che misura il numero di operazioni come addizioni, multipli, ecc. eseguite in un secondo ed espresse in trilioni quantificando le capacità di una NPU in trilioni di operazioni al secondo.
IA, Intelligenza Artificiale
Perché il termine di NPU è quasi sempre associato all’IA? L’intelligenza artificiale descrive la pratica di far sì che le macchine imitino l’intelligenza umana per svolgere determinati compiti. Se vi vengono in mente le “chiacchierate” con Siri o Alexa siete sulla strada giusta. Con il termine di IA è spesso associato quello di machine learning o apprendimento automatico che è un modello di apprendimento per le IA in modo che possano imparare da modelli preesistenti senza l’intervento umano, esattamente come noi umani facciamo con il pensiero cognitivo, che presuppone di utilizzare una conoscenza esistente per generare una nuova conoscenza.
Proprio in virtù di cquanto appena detto, l’uso della parola “intelligenza” è un po’ fuorviante poiché presuppone una volontà di esercitare il pensiero cognitivo, cosa che attualmente non avviene.
Ogni IA è addestrata per volontà umana e, solo dopo un accurato processo di apprendimento, è in grado di fare grandi cose dal dialogare allo scrivere articoli o dipingere o programmare attingendo però da un vastissimo bacino preesistente qual è il patrimonio umano
I vantaggi delle NPU sono innegabili e tangibili:
- Velocità ineguagliabile da CPU tradizionali
- Efficienza energetica ottimizzata per ridurre i consumi ed avere un impatto climatico migliore
- Scalabilità estrema, potendole integrare in data center, computer e telefonini
I campi di applicazione principali possono spaziare dall’elaborazione di immagini/video con riconoscimento di oggetti, alla simulazione del linguaggio naturale, dalla guida autonoma al campo della salute grazie all’analisi e al confronto delle immagini diagnostiche o allo sviluppo dei farmaci, oppure ancora al campo della finanza con rilevamento delle frodi o la gestione dei rischi tramite l’analisi del mercato azionario o a quello della sicurezza informatica.C’è da dire, però, che non necessariamente un numero più alto di TOPS indica una IA più veloce, poiché il numero di TOPS generalmente indicato per le NPU si riferisce al picco di frequenza operativa che non può essere mantenuta per sempre per non influire in modo negativo sulla durata della batteria e, quindi, sull’esperienza utente.
Va da sé che un processore nato per fare bene un po’ tutto come una CPU cisc, fatica a tenere il passo con uno progettato specificamente per un determinato compito. In quest’ottica si inseriscono prima le GPU (Graphic Processing Unit) e, poi, le NPU con i loro compiti specifici.
Ad esempio sfocare lo sfondo durante una videochiamata, ricercare lo stesso volto fra migliaia di foto o video. Suona familiare? Molti dei nostri telefonini lo fanno già, catalogando le foto per volti o per luoghi o traducendo le telefonate in altre lingue in tempo reale. Sono compiti che un normale processore potrebbe fare, ma impiegherebbe molto più tempo e sprecherebbe energie preziose da dedicare ad altri compiti rispetto ad una NPU progettata specificamente per questo scopo. Le NPU, quindi, non sono in “concorrenza” con le CPU o GPU, quanto piuttosto sono loro complementari poiché le liberano dai compiti specifici integrandole perfettamente. Infatti, da molto tempo, non si fa più riferimento alla sola CPU, bensì al SOC, System On a Chip, per indicare il “cervello centrale” di un dispositivo elettronico. Ad esempio il nuovissimo Qualcom Snapdragon X Plus/Elite (nell’immagine in alto) è composto da diverse unità accorpate in un’unica soluzione: una CPU (Oryon), una GPU (Adreno) e una NPU (Hexagon), oltre ad altri componenti cruciali come la memoria, il modem, il modulo WiFi e la sezione audio.
Una strada analoga è quella intrapresa da Apple, già dal 2017 con l’iPhone X fino a giungere agli odierni SOC M1/M2/M3 dei suoi computer più potenti. Ovviamente, i principali attori del panorama dei microprocessori, non stanno certo a guardare integrando le NPU in maniera sempre più prepotente all’interno dei loro prodotti da quelli base alle unità più performanti, come Intel con i sui processori Ultra e Amd con la serie AI300.
Nell’ambito a noi più congeniale, abbiamo già incontrato i processori Cognitive XR di Sony, che, sfruttando l’intelligenza artificiale, concentrano la loro elaborazione audio/video sul punto focale dell’immagine che la mente vedrà come prima cosa per poi estenderlo a tutto il contesto.
Mediatek è uno dei principali attori in questo campo con i suoi SOC praticamente presenti su moltissimi TV (e dispositivi video) dai più economici MT9602 alla serie Pentonic 700/800/1000 per il 4K e Pentonic 2000 per l’8K, soluzioni che offrono CPU Arm Cortex, GPU Mali e NPU Mediatek DLA per offrire la gestione di tutte le caratteristiche che si ricercano nei moderni TV 4K come upscaling, decodifica dei codec audio/video più recenti e alti refresh anche per il gaming come la soluzione custom (basata su Pentonic) adottata da Panasonic per i suoi nuovi TV con il processore HCX Pro AI MkII.
L’integrazione delle NPU per compiti di intelligenza artificiale è già una realtà che sta conoscendo una fortissima espansione e si propone come una soluzione alla gestione dell’incredibile mole di dati generati dall’ Intelligenza Artificiale. Come sempre, noi di AF cercheremo di raccontarvelo alla nostra maniera.
Stay tuned!
© 2024, MBEditore – TPFF srl. Riproduzione riservata.