Nvidia: dai videogiochi all’analisi dati | ZeroUno

Nvidia: dai videogiochi all’analisi dati

pittogramma Zerouno

Tech In Depth

Nvidia: dai videogiochi all’analisi dati

Pensate per i videogiochi, le GPU (Graphic Processing Unit) hanno fatto irruzione nel mondo dell’analisi dati grazie alle loro superiori capacità di calcolo. Gli scenari di elaborazione dati che si sono aperti sembrano usciti da un film di fantascienza, ma sono reali: a partire dai login con riconoscimento facciale fino alle auto che si guidano da sole.

22 Dic 2020

di Pablo Cerini

GPU è l’acronimo di Graphic Processing Unit, ossia una periferica dedicata all’elaborazione grafica, caratterizzata dalla predisposizione alle operazioni in floating point e all’elaborazione parallela di calcoli di algebra lineare. In quelli che erano solo gli anni Ottanta, ma che a parlarne ora sembrano una preistoria informatica, la GPU era una raffinata estensione degli hardware di fascia alta, dove, chi poteva permetterselo, affiancava questa pipeline di calcolo supplementare alla CPU, la principale unità di elaborazione di un computer. La GPU trovava impiego su oscure workstation di nicchia, dai nomi esotici e utilizzate per attività esoteriche basate su software di rendering e librerie grafiche comprensibili solo a una ristretta setta di adepti.

La GPU: dai nerd al NASDAQ

La GPU è entrata poi in una fase di crescita esponenziale, spinta prima in sordina da un sempre più crescente gruppo di appassionati, che hanno formato il core di quella che oggi è una delle industrie più fiorenti del pianeta: quella videoludica. Trainata dalle sempre maggiori esigenze dei videogiochi, assetati di grafiche realistiche e interazioni basate su principi fisici sempre più vicini alla realtà, i produttori di GPU hanno continuato ad arricchire le loro creature di pipeline di calcolo e steroidi algoritmici, fino a farle diventare delle vere e proprie belve dal punto di vista prestazionale, capaci di frantumare anche i benchmark più esigenti.

La guerra dei produttori di GPU ha visto diversi competitor, che si sono combattuti il mercato a suon di innovazioni tecnologiche e marketing, tra cui la vincente sulla lunga distanza è stata Nvidia, sia grazie al suo know how superiore, sia anche a un marketing che ha saputo coinvolgere produttori di terze parti, ISV, sviluppatori e community.

La GPU si è così lasciata alle spalle il periodo in cui veniva considerata con perplessità come un giocattolone costoso per sbarcare (e sbancare) sui mercati, fino a diventare una star delle quotazioni di borsa.

La strada che porta all’AI

AI oggi è un termine sulla bocca di tutti, ed è un concetto che ha condiviso in qualche modo l’impressionante luce della ribalta della GPU. Anche essa oggetto iniziale di culti misteriosofici di pochi addetti ai lavori, l’intelligenza artificiale si è diffusa in un variegato campo di applicazioni quotidiane, che si sono rivelate sempre più esigenti in termini di esigenze di calcolo e interazioni sensoriali.

Ed è proprio nel fertile terreno dell’analisi dati che AI e GPU hanno trovato il loro connubio perfetto. La scia delle crescenti richieste di data mining richiesta da aziende e organizzazioni istituzionali ha portato all’evoluzione dei tool dedicati all’analisi dati. Questa escalation ci ha fatto assistere al passaggio dall’analisi dati on premise di Qlikview all’impiego di tool di reporting basati sul cloud come Power BI, ma questo non è stato sufficiente a soddisfare il bisogno ormai incontenibile di approfondire sempre di più le logiche di business da parte dei nuovi controller aziendali. I tool di analisi dati hanno dovuto crescere e implementare meccanismi di machine learning, che a loro volta hanno portato allo sviluppo di complesse reti neurali.

E qui il sogno di ogni data scientist si è trovato a doversi confrontare con un grande ostacolo, ossia le capacità computazionali richieste dai modelli di apprendimento più complessi. Il training di una AI, infatti, può richiedere tempi e risorse di calcolo molto pesanti, e difficilmente un utente accademico o freelance può permettersi l’accesso a datacenter strutturati. Qui sono entrate in gioco le GPU, per permettere a una platea più ampia di operatori di poter eseguire modelli di training anche complessi.

Velocizzare il training dei modelli di apprendimento

Una rete neurale semplice può avere migliaia o centinaia di migliaia di parametri, e richiedere ore di elaborazione per essere processata. Ma, se passiamo a una rete neurale complessa, i parametri in gioco posso arrivare a miliardi o bilioni, e in questo caso è impensabile di eseguirne il training con i sistemi informatici tradizionali.

C’è un metodo, però, per velocizzare il tempo di training di una rete neurale: invece di una pipeline che preveda un’esecuzione seriale delle operazioni, queste possono essere eseguite in parallelo, simultaneamente. Come può essere ottenuto un simile risultato? Impiegando un GPU per effettuare il training del modello.

WEBINAR
Intelligenza Artificiale: nuovi scenari e nuove regole. Scoprilo nel webinar del 3 febbraio
Intelligenza Artificiale
Istruzione

La principale differenza tra una CPU e una GPU, infatti, è che la GPU devolve la maggior parte dei circuiti alle applicazioni logiche e matematiche richieste per il rendering delle complesse grafiche dei videogiochi, mentre invece la CPU è più specializzata nel caching di dati e nel controllo di flusso. Quindi, mentre la CPU è più dedicata all’interpretazione di una sequenza di codice, la GPU si presta maggiormente all’esecuzione di pesanti carichi di calcoli geometrici e aritmetici. La maggior disponibilità di ALU (Arithmetic Logic Unit) rende infatti una GPU più veloce di almeno 10-15 volte di una CPU di fascia equivalente. Inoltre, la struttura di una GPU la rende capace di processare multiple operazioni contemporaneamente, che la rende perfetta per il training di modelli di apprendimento complessi.

Perché scegliere la GPU per il Deep learning

Le GPU sono ottimizzate per il training delle intelligenze artificiali perché possono processare computazioni multiple simultaneamente. Hanno un largo numero di core che permette loro di gestire i cospicui volumi di dati necessari per il deep learning. Questo grazie alla caratteristica tecnica di posseder una maggiore banda di computazione, che rende più veloce su una GPU le operazioni basate sui grandi dataset utilizzati nel deep learning. Queste complesse operazioni di confronto e modellazione di pesanti dataset beneficiano della distribuzione dell’elaborazione su più core delle GPU, che in questo modo evita il collo di bottiglia dell’elaborazione sequenziale. Inoltre, la GPU può beneficiare della VRAM impiegandola come un serbatoio di memoria computazionale aggiuntiva.

Le applicazioni

Gli orizzonti che la combinazione tra GPU e AI ha aperto sono sotto gli occhi di tutti.

Molte aziende i cui operatori sono impiegati in mansioni tecniche complesse beneficiano di metodologie di training basate sulla realtà aumentata. In questi percorsi di addestramento alla propria mansione, gli operatori indossano visori che estendono l’esperienza della realtà, mostrando all’utente come compiere determinate operazioni.

L’analisi dati, anche in campo finanziario, beneficia delle maggiori capacità di calcolo e dalla possibilità di applicare metodologie di analisi dati basate sul riconoscimento di pattern grafici anche molto complessi.

Sul mercato sono apparsi device che interagiscono con le persone in base a mutamenti delle espressioni facciali, impiegando innovativi meccanismi per gestire la sicurezza delle applicazioni, ad esempio autorizzando un login dopo aver riconosciuto un viso, oppure un pagamento in seguito a un sorriso.

Si arriva poi all’applicazione più disruptive, che sta rivoluzionando il mercato dell’automobile, ossia la funzione Autopilot introdotta da Tesla, basata appunto su una complessa AI che, tramite il riconoscimento di segnali grafici, interpreta le condizioni del traffico e prende decisioni sulla gestione della crociera.

Con il costante aumento delle capacità di calcolo e il lavoro di ricerca e sviluppo sulle piattaforme software, le GPU diventeranno sempre più protagoniste in tutti gli ambiti della digitalizzazione, soprattutto dei processi aziendali, sia gestionali che amministrativi.

Pablo Cerini

Giornalista

Sviluppatore software, cresciuto nel mondo ERP, ma appassionato del mondo DEV a 360°. Affascinato dalla statistica e dal machine learning, con un chiodo fisso per le candele giapponesi

Argomenti trattati

Approfondimenti

I
Intelligenza Artificiale
Tech InDepth

Articolo 1 di 4