Accelerazione hardware per il Deep Learning, tutte le soluzioni in campo | Agenda Digitale

l'approfondimento

Accelerazione hardware per il Deep Learning, tutte le soluzioni in campo

La complessità dei parametri delle reti neurali profonde rende fondamentale introdurre modelli di computazione efficienti che sfruttino unità di elaborazione hardware per accelerare i calcoli. Vediamo quali e con quali vantaggi

08 Gen 2021
Cristina Silvano

Politecnico di Milano

Nelle reti neurali profonde, sebbene si debbano eseguire operazioni elementari come moltiplicazioni ed addizioni, oltre a passare i risultati attraverso dei filtri e delle semplici funzioni non lineari, la numerosità e la complessità dei livelli mette in gioco un numero di pesi molto elevato.

La complessità della rete in termini di numero e tipo dei livelli, dimensione e numero dei filtri, numero dei canali e numero dei pesi presenti nel modello impattano i requisiti di memoria della topologia di rete. Invece il numero di operazioni di tipo moltiplicazione ed accumulazione (MAC) sono indicativi delle prestazioni che potrà raggiungere la rete in termini di throughput misurato come numero di operazioni svolte al secondo.

Le DNN (deep neural networks) che raggiungono decine di livelli possono richiedere l’elaborazione di un numero di pesi nell’ordine delle centinaia di milioni e un numero di decine di miliardi di operazioni di tipo MAC per ogni immagine elaborata. La complessità dei parametri delle DNN ci consente di capire quanto sia fondamentale introdurre modelli di computazione efficienti che sfruttino unità di elaborazione hardware per accelerare i calcoli.

In particolare, le elaborazioni svolte all’interno delle DNN sono altamente parallelizzabili e pertanto le architetture hardware ad elevato parallelismo, come le GPU (chip grafici), risultano particolarmente adatte ad accelerare i tempi di elaborazione.

Le principali soluzioni hardware per accelerare le reti neurali profonde sono basate su architetture di processori ad elevato parallelismo come Graphics Processing Unit (GPU) e Tensor Core e acceleratori hardware di tipo Field Programmble Gate Array (FPGA) e Application Specific Integrated Circuit (ASIC).

Architetture ad elevato parallelismo: GPU e Tensor Core

Le architetture vettoriali che si basano sul modello di computazione Single Instruction Multiple Data (SIMD) sono adatte a raggiungere alte prestazioni per carichi di lavoro caratterizzati da un massivo parallelismo dei dati soggetti alla stessa computazione. Tra le prime architetture SIMD apparse sul mercato troviamo le estensioni della famiglia di processori Intel per la gestione dello streaming (SSE) e l’estensione al calcolo vettoriale (AVX) che include istruzioni vettoriali specializzate per reti neurali (VNNI). In particolare, l’architettura AVX-512 rappresenta l’estensione SIMD a 512 bit dell’architettura Intel x86 proposta nel 2013 e implementata nella famiglia di processori Intel Xeon Phi (Knights Landing) introdotti sul mercato nel 2013 ed usati in supercalcolatori e nella successiva famiglia Xeon Skylake-X. Il principale vantaggio introdotto dall’architettura AVX-512 consiste nella compatibilità del codice sviluppato per processori x-86. Sebbene Intel abbia deciso nel 2018 di interromperne la produzione, la famiglia di processori Intel Xeon Phi è stata per molti anni il concorrente diretto delle GPU Nvidia e delle GP-GPU Radeon di AMD.

candidati entro il 20/5
Tornano i Digital360 Awards! Partecipa al contest: oltre 160 CIO valuteranno il tuo progetto

La famiglia di schede grafiche Radeon di AMD è stata creata per applicazioni nel campo del deep learning e videogiochi di fascia alta. Le ultime due generazioni architetturali della famiglia Radeon, Vega e Navi, sono state introdotte sul mercato rispettivamente nel 2017 e nel 2019.

Il modello di calcolo parallelo Single Instruction Multiple Thread (SIMT) viene adottato dalle unità di elaborazione grafica (GPU) che sono ampiamente utilizzate in molti ambiti applicativi grazie al modello di programmazione denominato Compute Unified Device Architecture (CUDA) di Nvidia. Tale modello consente ai programmatori di sfruttare l’elevato grado di parallelismo delle GPU per applicazioni general purpose (GP-GPU) così come esclusivamente per carichi di lavoro di elaborazione grafica.

Come nel caso delle funzionalità SIMD delle CPU, anche l’introduzione delle GP-GPU ha focalizzato l’attenzione della comunità del deep learning. Grazie al massiccio parallelismo disponibile nelle architetture GPU che consente di raggiungere un throughput molto elevato per l’elaborazione parallela dei thread di dati, l’introduzione delle GP-GPU è considerato uno dei fattori abilitanti dell’adozione e della popolarità di tecniche di deep learning.

Acceleratori basati su FPGA e ASIC

Tradizionalmente le implementazioni hardware seguono due diverse stili di progettazione: da un lato i circuti configurabili di tipo Field Programmable Gate Array e dall’altro i circuiti hardware dedicati di tipo Application Specific Integrated Circuit (ASIC). Entrambi gli stili di progettazione sono focalizzati sulla riduzione della latenza nella fase di inferenza delle reti neurali profonde nel rispetto dei vincoli sul consumo di potenza per applicazioni edge computing.

Le architetture programmabili di tipo FPGA rappresentano una soluzione molto diversa rispetto sia agli acceleratori hardware di tipo ASIC sia all’ecosistema software disponibile nei processori. Inizialmente pensati per essere usati in fase di prototipizzazione, gli FPGA hanno raggiunto fette di mercato significative non solo nelle applicazioni embedded grazie all’incremento della densità di integrazione dei processi tecnologici e all’impiego di strumenti automatici di sintesi ad alto livello impiegati per la loro progettazione on-field. Seguendo questa tendenza, l’impiego di acceleratori basati su soluzioni FPGA per applicazioni deep learning si è concentrato soprattutto per accelerare la fase di training dei modelli nei data center e nei centri di supercalcolo e per le fasi di inferenza nelle soluzioni on-the-edge. Nel settore delle applicazioni deep learning, negli ultimi anni sono state proposte diverse soluzioni basate su acceleratori FPGA sia in ambito di ricerca sia commerciali.

La dimostrazione dell’interesse commerciale verso le soluzioni FPGA offerte dai due principali produttori “storici” Altera e Xilinx è sfociata nel 2015 nell’acquisizione di Altera da parte di Intel e dalla recentissima acquisizione di Xilinx da parte di AMD. Quest’ultima acquisizione rappresenta dunque il secondo caso in cui un fornitore leader di processori acquista un’azienda specializzata in FPGA con lo scopo di ottenere il controllo su una tecnologia FPGA ritenuta complementare alla tecnologia dei processori e fondamentale soprattutto per l’accelerazione di carichi di lavoro di intelligenza artificiale (AI).

Acceleratori dedicati di tipo ASIC

Nell’ambito degli acceleratori dedicati di tipo ASIC diverse sono state le soluzioni proposte sia in ambito di ricerca come l’architettura Eyeriss proposta da MIT e basata sul modello data-flow e sia in ambito commerciale.

L’architettura della Tensor Processor Unit (TPU) è stata sviluppata da Google per accelerare in hardware le prestazioni del calcolo tensoriale e degli accessi alla memoria. L’architettura è particolarmente adatta alla fase di apprendimento delle reti profonde ed è supportata dal modello di programmazione Cloud TPU che sfrutta al massimo il parallelismo dei dati nell’elaborazione di matrici dense.

L’acceleratore NVDLA di Nvidia si rivolge invece al mercato dell’edge computing con un’architettura simile a quella della TPU contenente un core dedicato alle operazioni di convoluzione e usato anche per le moltiplicazione di matrici e un core dedicato per le operazioni di attivazione e di pooling.

Infine, l’architettura Orlando di STMicrolectronics è stata introdotta nel 2017 come sistema on-chip a bassissima dissipazione di potenza per reti neurali convoluzionali e adatto al mercato dei sistemi embedded intelligenti e ai dispostitivi IoT. In particolare, il sistema on-chip Orlando include un microcontrollore ARM Cortex, 8 Digital Signal Processor e un sistema riconfigurabile composto da 8 acceleratori convoluzionali dotati di connessione DMA streaming.

EVENTO
[Evento, 10.06] Sai misurare il ROI delle tue strategie marketing? Partecipa DemandGeneretaionLAB
@RIPRODUZIONE RISERVATA

Articolo 1 di 3