Acceleratore IA

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Un acceleratore IA (o anche NPU, Neural Processing Unit[1]) è una classe di microprocessori progettati per fornire accelerazione hardware a reti neurali artificiali, visione automatica e algoritmi di apprendimento automatico per la robotica, l'Internet delle cose e altre applicazioni basate sull'uso dei dati.

Le possibili applicazioni di tali dispositivi includono le auto a guida autonoma, gli aeromobili a pilotaggio remoto, la diagnostica medica, l'elaborazione del linguaggio naturale e la traduzione automatica.

Storia[modifica | modifica wikitesto]

Nei computer le CPU sono spesso affiancate da acceleratori hardware per svolgere meglio determinate funzioni, tra cui ad esempio le schede video e le schede audio. Con l'aumento delle attività legate all'apprendimento profondo e all'intelligenza artificiale, sono state sviluppate unità hardware specializzate per accelerare lo svolgimento di queste attività.

Primi sviluppi[modifica | modifica wikitesto]

Già nei primi anni novanta i processori di segnali digitali venivano impiegati come acceleratori di reti neurali per i software di riconoscimento ottico dei caratteri e sempre in quegli anni vi furono anche dei tentativi di utilizzo di acceleratori basati su FPGA.

Calcolo eterogeneo[modifica | modifica wikitesto]

Il calcolo eterogeneo ha dato il via all'inserimento di diversi processori in un singolo sistema, ciascuno dei quali specializzato per un'apposita funzione. Architetture come i processori Cell hanno introdotto alcune caratteristiche tipiche degli acceleratori IA, tra cui l'architettura dataflow. Gli stessi processori Cell sono stati in seguito utilizzati per l'IA.

Uso delle GPU[modifica | modifica wikitesto]

Le GPU sono dispositivi hardware specializzati nella manipolazione di immagini. Poiché le reti neurali e la manipolazione di immagini condividono le stesse basi matematiche, le GPU sono frequentemente utilizzate per applicazioni di apprendimento automatico. Per questo motivo, i produttori di GPU hanno cominciato a incorporare hardware specifico per le reti neurali, come ad esempio i tensor core.

Uso dei FPGA[modifica | modifica wikitesto]

I framework per l'apprendimento profondo sono in continua evoluzione e questo rende difficoltosa la progettazione di hardware specifico. Dispositivi riconfigurabili come i Field Programmable Gate Array (FPGA) semplificano la gestione di hardware e software in evoluzione.

Esempi[modifica | modifica wikitesto]

Chip specifici[modifica | modifica wikitesto]

Google ha sviluppato un acceleratore chiamato tensor processing unit specificamente progettato per il suo framework TensorFlow, estensivamente usato per le reti neurali convoluzionali.[2]

Intel ha sviluppato il Nervana NNP, un chip progettato con un'architettura per l'apprendimento profondo.[3]

GPU[modifica | modifica wikitesto]

La linea di GPU Tesla di NVIDIA dispongono di funzioni per l'intelligenza artificiale.[4]

AMD produce la linea di GPU Radeon Instinct specificamente orientata all'apprendimento profondo.[5]

Coprocessori[modifica | modifica wikitesto]

I SoC Apple A11 Bionic (e successori a questo) dispongono di un acceleratore IA chiamato Neural Engine.[6]

Il microprocessore Snapdragon 845 di Qualcomm contiene un core per il processamento IA.[7]

Un acceleratore basato su reti neurali è anche presente nei processori Kirin 970[8] e 980[9] di HiSilicon.

Nel gennaio 2018, CEVA ha lanciato una famiglia di quattro microprocessori per l'intelligenza artificiale chiamati NeuPro.[10]

Note[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica