Cos'è una NPU?

Sistema di neuroni con connessioni luminose su sfondo nero

Cos'è una NPU? 

Una NPU (unità di elaborazione neurale) è un microprocessore informatico specializzato progettato per imitare la funzione di elaborazione del cervello umano. È ottimizzata per reti neurali di intelligenza artificiale (AI), attività e applicazioni di deep learning e machine learning.

A differenza delle unità di elaborazione centrale (CPU) o delle unità di elaborazione grafica (GPU) generiche, le NPU sono personalizzate per accelerare le attività e i workload di AI, come il calcolo dei livelli di rete neurale composti da matematica scalare, vettoriale e tensoriale.

Conosciute anche come AI chip o AI accelerator, le NPU vengono generalmente utilizzate all’interno di architetture informatiche eterogenee che combinano più processori (ad esempio, CPU e GPU). I data center su larga scala possono utilizzare NPU autonome collegate direttamente alla scheda madre di un sistema.

Tuttavia, la maggior parte delle applicazioni di consumo, come smartphone, dispositivi mobili e laptop, combinano le NPU con altri coprocessori su un singolo microchip a semiconduttore noto come system-on-chip (SoC).

Integrando una NPU dedicata, i produttori sono in grado di offrire ai dispositivi app di AI generativa in grado di elaborare applicazioni e workload di AI e algoritmi di machine learning in tempo reale con un consumo energetico relativamente basso e un throughput elevato.     

Caratteristiche principali delle NPU

Le NPU (unità di elaborazione neurale) sono adatte ad attività che richiedono elaborazione parallela a bassa latenza, come l’elaborazione di algoritmi di deep learning, riconoscimento vocale, elaborazione del linguaggio naturale, elaborazione di foto e video e rilevamento di oggetti

Le caratteristiche principali delle NPU includono quanto segue:

  • Elaborazione parallela: le NPU possono suddividere problemi più grandi in componenti per la risoluzione multitasking dei problemi. Questo consente al processore di eseguire più operazioni di rete neurale contemporaneamente. 
  • Aritmetica a bassa precisione: le NPU spesso supportano operazioni a 8 bit (o meno) per ridurre la complessità computazionale e aumentare l’efficienza energetica. 
  • Memoria a larghezza di banda elevata: molte NPU sono dotate di memoria on-chip ad alta larghezza di banda per eseguire in modo efficiente attività di elaborazione dell’AI che richiedono set di dati di grandi dimensioni.
  • Accelerazione hardware: i progressi nella progettazione delle NPU hanno portato all’incorporazione di tecniche di accelerazione hardware, come architetture di array sistolici o una migliore elaborazione tensoriale.  

Come funzionano le NPU?

Basate sulle reti neurali del cervello, le NPU (unità di elaborazione neurale) funzionano simulando il comportamento dei neuroni umani e delle sinapsi a livello del circuito. Ciò consente l’elaborazione di set di istruzioni di deep learning in cui un’istruzione completa l’elaborazione di un set di neuroni virtuali.

A differenza dei processori tradizionali, le NPU non sono costruite per calcoli precisi. Sono appositamente progettate per le funzioni di risoluzione dei problemi e possono migliorare nel tempo, imparando da diversi tipi di dati e input. Sfruttando il machine learning, i sistemi di AI che le incorporano possono fornire soluzioni personalizzate più velocemente, senza la necessità di ulteriori programmazioni manuali.

Come caratteristica, le NPU offrono un’elaborazione parallela superiore e sono in grado di accelerare le operazioni AI attraverso core semplificati ad alta capacità che sono liberi dall’eseguire più tipi di attività.

Una NPU include moduli specifici per moltiplicazione e addizione, funzioni di attivazione, operazioni sui dati 2D e decompressione.

Il modulo specializzato di moltiplicazione e addizione viene utilizzato per eseguire operazioni relative alle applicazioni di reti neurali, come il calcolo della moltiplicazione e dell’addizione di matrici, la convoluzione, il prodotto scalare e altre funzioni. 

Mentre i processori tradizionali richiedono migliaia di istruzioni per completare questo tipo di elaborazione dei neuroni, una NPU potrebbe essere in grado di completare un’operazione simile con una sola. In più, integrerà anche storage e il calcolo tramite pesi sinaptici, una variabile computazionale fluida assegnata ai nodi che indica la probabilità di un risultato “corretto” o “desiderato” che può adattarsi o “imparare” nel tempo, portando a una migliore efficienza operativa.

Sebbene lo sviluppo delle NPU continui ad evolversi, i test hanno dimostrato che, a parità di consumo energetico, alcune delle loro prestazioni sono oltre 100 volte migliori di una GPU comparabile. 

Smart Talks with IBM

Come l'infrastruttura alimenta l'era dell'AI

Scopri come le funzionalità hardware supportano le funzioni delle matrici necessarie per eseguire modelli linguistici di grandi dimensioni e approfondisci alcuni esempi creativi per mettere l'AI al tuo servizio, dalla tua banca al bar dietro l'angolo.

Principali vantaggi delle NPU

Le NPU (unità di elaborazione neurale) non sono progettate, né previste, per sostituire le CPU e le GPU tradizionali. Tuttavia, l’architettura di una NPU migliora il design di entrambi i processori per fornire parallelismo e apprendimento automatico senza precedenti e più efficienti.

In grado di migliorare le operazioni generali (ma più adatte per determinati tipi di attività generali), se combinate con CPU e GPU, le NPU offrono diversi vantaggi preziosi rispetto ai sistemi tradizionali. 

I vantaggi principali sono i seguenti:

  • Elaborazione parallela: come detto, le NPU possono suddividere problemi più grandi in componenti per la risoluzione dei problemi multitasking. La chiave è che, sebbene le GPU eccellano anche nell’elaborazione parallela, la struttura unica di una NPU può superare una GPU equivalente con un consumo energetico ridotto e un’impronta inferiore. 
  • Efficienza migliorata: mentre le GPU sono spesso utilizzate per il calcolo ad alte prestazioni e compiti di AI, le NPU possono eseguire un’elaborazione parallela simile con un’efficienza energetica molto migliore. Poiché AI e altri sistemi di calcolo ad alte prestazioni diventano sempre più comuni e richiedono più energia, le NPU offrono una soluzione preziosa per ridurre il consumo energetico critico. 
  • Trattamento dei dati multimediali in tempo reale: le NPU sono progettate per trattare e rispondere meglio a una gamma più ampia di input, tra cui immagini, video e voce. L’aumento di applicazioni come la robotica, i dispositivi Internet of Things (IoT) e i dispositivi indossabili con NPU può fornire feedback in tempo reale, ridurre l’attrito operativo e fornire feedback critici e soluzioni quando i tempi di risposta sono più importanti. 

NPU, GPU e CPU

Nel mondo dell’informatica classica, l’unità di elaborazione centrale (CPU) è considerata il “cervello” del computer. La CPU elabora la maggior parte delle attività informatiche tradizionali ed è responsabile di un’ampia gamma di potenziali applicazioni.

Sebbene ne esistano molti tipi diversi, generalmente tutte le CPU eseguono le operazioni in ordine lineare, rispondendo alle richieste nell’ordine in cui arrivano. 

Dagli anni ‘50 agli anni ‘90, le CPU hanno subito il peso di praticamente tutte le elaborazioni informatiche, l’esecuzione di istruzioni per eseguire programmi, controllare i sistemi e gestire gli input/output (I/O).

Le applicazioni esigenti hanno spinto generazione dopo generazione di progetti di CPU ai limiti delle possibilità dell’hardware, spesso causando rallentamenti significativi o addirittura guasti del sistema. Ma con l’avvento dei giochi per personal computer e della progettazione assistita (CAD) negli anni ‘80, il settore aveva bisogno di una soluzione più veloce ed efficiente per il rendering della grafica computerizzata. 

L’unità di elaborazione grafica (GPU) è stata inizialmente creata per scaricare le impegnative attività di elaborazione delle immagini dalla CPU principale. Mentre le GPU tendono a utilizzare meno core per eseguire operazioni lineari, le GPU hanno le caratteristiche di centinaia o migliaia di core con la capacità di eseguire l’elaborazione parallela, un processo in cui le attività di grandi dimensioni vengono suddivise in problemi più piccoli che possono essere risolti contemporaneamente da più processori e/o core. 

Inizialmente sviluppato per gestire le esigenze di elaborazione di video e immagini, le funzionalità di elaborazione parallela delle GPU hanno reso l’hardware particolarmente adatto ad altre applicazioni informatiche impegnative, come attività relative alla blockchain e AI.

Sebbene le GPU non siano l’unico tipo di processore in grado di eseguire l’elaborazione parallela o il calcolo parallelo, sono adatte per il parallelismo. Tuttavia, anche loro hanno dei limiti e, in genere, richiedono un consumo di energia estremamente costoso per eseguire operazioni più impegnative. Con le GPU, un aumento delle prestazioni comporta un aumento dei costi energetici. 

Le NPU e altri acceleratori AI offrono alternative più efficienti. Incorporando e migliorando il parallelismo avanzato delle GPU, sono specificamente progettate per le operazioni di AI forniscono prestazioni elevate con un consumo energetico inferiore (e il vantaggio aggiuntivo di un’impronta ridotta).

Confronto dei processori

  • Unità centrali di elaborazione: il “cervello” del computer. Le CPU in genere allocano circa il 70% dei loro transistor interni per costruire la memoria cache e fanno parte dell’unità di controllo di un computer. Contengono relativamente pochi core, utilizzano architetture di serial computing per la risoluzione lineare dei problemi e sono progettati per operazioni di controllo logico precise. 
  • Unità di elaborazione grafica: inizialmente sviluppate per gestire l’elaborazione di immagini e video, le GPU contengono molti più core rispetto alle CPU e utilizzano la maggior parte dei loro transistor per costruire più unità computazionali, ciascuna con bassa complessità computazionale, consentendo un’elaborazione parallela avanzata.

    Adatte a workload che richiedono trattamento dei dati, le GPU hanno trovato una notevole utilità aggiuntiva nei big data, nei centri server back-end e nelle applicazioni blockchain.
  • Unità di elaborazione neurale: basandosi sul parallelismo delle GPU, le NPU utilizzano un’architettura informatica progettata per simulare i neuroni del cervello umano per fornire prestazioni elevate altamente efficienti. Utilizzano pesi sinaptici per integrare sia lo storage che le funzioni di calcolo, fornendo a volte soluzioni meno precise a una bassa latenza.

    Mentre le CPU sono progettate per un calcolo preciso e lineare, le NPU sono progettate per il machine learning, con conseguente miglioramento del multitasking, dell’elaborazione parallela e della capacità di regolare e personalizzare le operazioni nel tempo senza la necessità di ulteriore programmazione. 

Casi d'uso delle NPU

Come tecnologia emergente, molti dei principali produttori di computer e hardware, tra cui Microsoft, Intel, Nvidia, Qualcomm e Samsung, offrono unità di elaborazione neurale (NPU) autonome o varianti integrate, come Apple Neural Engine.

L’integrazione delle NPU nell’elettronica di consumo offre una vasta gamma di vantaggi, come un migliore riconoscimento delle immagini e l’ottimizzazione per le fotocamere abilitate all’AI per sfocare meglio lo sfondo durante le videochiamate.

Di seguito sono riportate alcune applicazioni aggiuntive per le NPU.

Intelligenza artificiale e modelli linguistici di grandi dimensioni

Come tipo di acceleratore AI, le NPU sono progettate appositamente per migliorare le prestazioni dei sistemi di AI e ML, come le reti neurali.

Complementando le GPU, il parallelismo potenziato delle NPU offre miglioramenti drammatici per i modelli linguistici di grandi dimensioni che richiedono un’elaborazione adattiva a bassa latenza per interpretare i segnali multimediali, eseguire il riconoscimento vocale e produrre il linguaggio naturale e l’arte utilizzati in strumenti come gli ai chatbot e le applicazioni di immagini e video di AI generativa.  

Dispositivi Internet of Things (IoT)

Con eccezionali capacità di elaborazione parallela e auto-apprendimento, le NPU sono adatte per dispositivi IoT in rete, come dispositivi indossabili, assistenti vocali ed elettrodomestici intelligenti. 

Data center

AI e machine learning sono stati un grande vantaggio per i data center che vogliono ottimizzare le risorse energetiche. Le NPU ad alte prestazioni e ad alta efficienza energetica offrono un enorme valore per i data center offrendo una migliore gestione delle risorse per il cloud computing

Veicoli a guida autonoma

I veicoli autonomi, come i droni o le auto e i camion a guida autonoma, traggono grandi vantaggi dalle capacità di elaborazione in tempo reale delle NPU, che consentono una correzione della rotta più rapida e migliore in base all’input del sensore multimediale.

Con un’elaborazione parallela senza pari, le NPU possono aiutare i veicoli autonomi a interpretare ed elaborare input in rapido sviluppo, come segnali stradali, schemi di traffico e persino ostacoli imprevisti.

Edge computing ed edge AI

Sebbene il cloud computing offra soluzioni avanzate di dati e risorse off-site per IoT, dispositivi intelligenti e altri dispositivi di personal computing, l’edge computing e l’edge AI cercano di avvicinare fisicamente i dati e le risorse di calcolo critici agli utenti per ridurre la latenza, attenuare il consumo energetico e rafforzare la privacy.

Poiché richiedono meno energia e offrono un’impronta fisica ridotta, le NPU stanno diventando un componente prezioso dell’edge computing e dell’AI sui dispositivi. 

Robotica

Le NPU, esperte nella gestione di attività che richiedono machine learning e computer vision, offrono un supporto fondamentale allo sviluppo del settore della robotica.

La robotica basata sull’AI, dagli assistenti domestici agli strumenti chirurgici automatizzati, si affida alle NPU per sviluppare la capacità di rilevare, apprendere e reagire ai loro ambienti. 

Soluzioni correlate
IBM Storage Fusion

Una piattaforma hybrid cloud, nativa per container, che offre storage scalabile, protezione dei dati e gestione unificata per i workload moderni su Kubernetes.

Esplora IBM Storage Fusion
Soluzioni per l'infrastruttura AI

IBM fornisce soluzioni per l'infrastruttura AI per accelerare l'impatto su tutta l'azienda con una strategia hybrid by design.

Scopri le soluzioni per l'infrastruttura AI
Consulenza e servizi sull'AI

Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di consulenza per l'AI
Prossimi passi

Alimenta workload di AI e hybrid cloud attraverso uno storage unificato ad alte prestazioni e infrastrutture pronte per l'AI, progettati per scalare, automatizzare e accelerare l'innovazione.

  1. Esplora IBM Storage Fusion
  2. Esplora le soluzioni per l'infrastruttura AI