TECH | 19 Feb 2019

Dai dinosauri all’Intelligenza Artificiale

Il primo Jurassic Park ne ha dimostrato il potenziale. Le tante applicazioni nel campo dell'AI le ha rese indispensabili. Storia (e crescita) del mercato delle GPU.

Alzi la mano chi non ha mai visto almeno una volta Jurassic Park. Alzi la mano chi non ricorda quell’ormai mitico Tirannosauro Rex che, avanzando nel fango, ha turbato per anni i sogni di generazioni. Jurassic Park fu uno dei primi film che sfruttò effetti speciali generati da computer grafica (per ben 4 minuti). E forse non tutti sanno che la storia dell’Intelligenza Artificiale è passata anche da lì.

                        Rendering e Intelligenza Artificiale

Andiamo con ordine. Quando un artista cristallizza un’idea o un nuovo personaggio usando carta, matite e chine, i suoi bozzetti vengono passati a degli specialisti di grafica digitale. A loro spetta il compito di dare fisicità, volume e colore a schizzi bidimensionali. Gli esperti, seduti al proprio computer e con varie tecniche, realizzano dei modelli virtuali tridimensionali del bozzetto iniziale, formati da centinaia di migliaia di minuscoli “poligoni”, ruotati, deformati e quindi animati. I modelli vengono colorati e illuminati, per riprodurre forme, colori, vapori, schizzi incredibilmente realistici. Grosso modo in questo consiste il rendering digitale, che oggi è alla base del cinema a effetti speciali e di qualunque videogame.

Generare un singolo fotogramma “renderizzato” può richiedere una quantità di calcoli impressionante, delegati a speciali componenti hardware, le schede grafiche, che hanno il compito di trasformare poligoni e vertici in segnali video, ovvero immagini. Il “cuore” delle schede grafiche sono le GPU (Graphic Processing Units), processori pensati per permettere a spettatori e gamer, di godere di impressionanti effetti speciali.

 

Il ruolo delle GPU

Fu proprio la disponibilità su larga scala di GPU programmabili e a basso costo uno dei fattori che permisero ai sistemi di Intelligenza Artificiale di imporsi con forza sul mercato.

Le prime implementazioni commerciali su larga scala di GPU iniziarono alla fine degli anni ‘90, quando alcune case produttrici di microchip come NVIDIA o ATI (successivamente acquisita da AMD) iniziarono a commercializzare le prime schede grafiche programmabili, principalmente per migliorare la user experience di famosi videogiochi.

Mentre il cuore della macchina, la CPU (Central Processing Unit), nasceva per ottimizzare il processamento di istruzioni in sequenza in tempi brevi, le GPU erano rivolte all’esecuzione di grandi moli di calcoli, mantenendo al tempo stesso bassi consumi energetici: per dare un’idea, secondo alcune stime, se il supercomputer Exaflop fosse basato su CPU standard, avrebbe un consumo energetico paragonabile a quello delle città di San Francisco e San José messi insieme.

Queste caratteristiche rendevano le GPU delle ottime candidate non solo per effettuare rendering di modelli digitali, ma anche per eseguire algoritmi che richiedessero calcoli intensivi, che potessero essere eseguiti in parallelo, come le logiche di Data Mining o di Deep Learning. Fu così che i nuovi processori iniziarono a imporre su larga scala nuovi paradigmi di programmazione.

Negli ultimi vent’anni il mercato delle GPU ha conosciuto una crescita inarrestabile e la GPU è diventata il simbolo del calcolo ad alte prestazioni, oggi essenziale in molti settori di business, quali la finanza, la sicurezza, l’automotive, i text analytics, l’image processing o i sistemi di guida autonoma. Per addestrare un sistema di riconoscimento facciale, ad esempio, sono necessarie milioni di immagini e sarebbe impossibile pensare di riuscirci senza preventivare l’acquisto o il noleggio di GPU, che per alcune operazioni permette una riduzione dei tempi di calcolo di 50-100 volte rispetto a una CPU standard.

Alcuni eccellenti portali di lezioni e tutorial, rivolti a coloro che volessero accostarsi al mondo dell’Intelligenza Artificiale, come per esempio fast.ai, non solo promuovono l’uso di piattaforme supportate da GPU, ma ne suggeriscono anche il dimensionamento.

GPU e Analytics

Per capire l’importanza delle GPU nel mercato degli Analytics, bisogna guardare alla penetrazione che esse hanno avuto nel mondo dei fornitori di soluzioni in-cloud. Oggi è molto semplice disporre di soluzioni PaaS (Platform as a Service) o IaaS (Infrastructure as a Service) basate su GPU con formule pay-per-use, specificamente pensate per il Machine Learning e il Deep Learning. Fra questi Microsoft Azure, AWS, GoogleCloud, ma anche PaperSpace, Crestle, FloydHub. Costo approssimativo? A partire (circa) da 0.5 euro/ora.

E mentre il mercato dell’Intelligenza Artificiale alimenta la corsa alla GPU, i grandi provider di servizi di Intelligenza Artificiale annunciano nuovi microchip, pensati specificamente per l’esecuzione di reti neurali: dalle TPU (Tensor Processing Units) di Google, ai chipset di MobilEye, prodotto specificamente per la guida autonoma.

Questo scenario sta segnando profonde trasformazioni nel mercato degli analytics. Nonostante molte librerie di sviluppo oggi cerchino di semplificare le complessità imposte dall’uso di questi microprocessori, l’expertise tecnica necessaria per la programmazione in ambienti forniti di GPU, CPU multi-core, o su sistemi Big Data distribuiti (come i cluster di macchine) può differire significativamente. Queste differenze si traducono spesso in competenze professionali complementari, fra Data Scientist, Data Engineer ed esperti di Big Data, che sono chiamati, da un lato, a conoscere perfettamente i limiti e le potenzialità della propria infrastruttura, dall’altro a esplorare nuovi algoritmi che rispondano a requisiti di business quali volume, velocità e scalabilità.

È abbastanza divertente pensare quanto oggi, nel campo dell’Intelligenza Artificiale, nell’epoca del cloud e delle macchine virtuali, solo la perfetta padronanza dell’accoppiamento tra hardware e algoritmi si possa tradurre in un formidabile vantaggio di business.

Ricordo che i primi amici che mi introdussero nel mondo dell’informatica, scomodarono una delle metafore più antiche della storia per spiegarmi la differenza tra software e hardware: “Il software è l’anima della macchina, l’hardware è il corpo”. Oggi mente e corpo tornano a essere una cosa sola. Ma è mai andata così diversamente?

 

Michele Gabusi

 

Per saperne di più