Da diversi anni l'intelligenza artificiale è entrata nella nostra quotidianità, anche se non lo sappiamo. Ancor di più ci entrerà nel futuro prossimo, quando le aziende avranno capito non solo che l'IA è un vantaggio, ma anche come inserirla correttamente nei loro processi produttivi. Oggi le persone comuni stanno iniziando a familiarizzare con termini come "natural language processing", "knowledge graph", "machine learning", "deep learning" e sanno che dietro qualunque funzione particolarmente smart del proprio smartphone c'è un algoritmo di intelligenza artificiale.
La fotografia computazionale, ad esempio, è in grado di elaborare le immagini scattate con uno smartphone di medio livello per correggere gli errori più grossolani del fotografo o quelli derivanti dai limiti fisici della piccola ottica del telefono. Si tratta di qualcosa ormai a disposizione di molti, basata sugli algoritmi di machine learning.
Sempre per restare nel campo degli smartphone e dell'elettronica di consumo, poi, come non citare gli assistenti digitali che riescono a interpretare i nostri comandi vocali e ad eseguire compiti, o darci delle risposte. In questo caso ciò è possibile grazie agli algoritmi di natural language processing.
Una buona parte dei risultati offerti agli utenti dai motori di ricerca per il Web, Google compreso, dipendono invece da uno o più knowledge graph, cioè “grafi della conoscenza”, una sorta di mappa relazionale delle informazioni disponibili, che aggregano dati non strutturati su persone, luoghi e avvenimenti e riescono a produrre un risultato coerente. In questo modo, quando l'utente cerca il nome di uno calciatore, il motore di ricerca gli offre informazioni anche su altri sportivi che hanno giocato con lui nella stessa squadra, sulle squadre in cui tale giocatore ha giocato, sui membri della sua famiglia e molto altro.
Di esempi del genere se ne potrebbero fare già molti, ma si tratta solo della punta dell'iceberg perché l'era dell'IA è appena iniziata.
La svolta vera arriverà tra pochi anni, quando l'IA sarà entrata nei processi produttivi e organizzativi della grande e piccola industria per trasformarli. A quel punto le aziende saranno in grado di offrire ai loro clienti beni e servizi sempre più personalizzati, prodotti in tempi sempre più brevi ottimizzando sempre di più l'uso di risorse ed energia.
Tutto questo, però, non è affatto semplice da ottenere perché lo sviluppo dell'intelligenza artificiale richiede un contestuale sviluppo della capacità di calcolo dei dati.
Training, inferenza, AIaaS
Non è possibile capire come, e soprattutto quando, l'IA cambierà le nostre vite se non si focalizzano i due concetti di training e inferenza negli algoritmi di deep learning, quelli al momento più diffusi. Il deep learning è un processo al termine del quale un calcolatore, dopo aver imparato ad elaborare dei dati al fine di fornire delle risposte nel modo richiesto dall'essere umano (fase di training), riesce fornire tali risposte in autonomia e senza necessità di correzioni (fase di inferenza) applicando il modello precedentemente imparato ai nuovi dati forniti.
Facciamo un esempio pratico, per capire di cosa stiamo parlando. Per creare un sistema automatico di riconoscimento facciale da applicare a delle telecamere di sorveglianza, prima si prendono delle riprese contenenti dei volti e le si fanno elaborare all'algoritmo di deep learning su un calcolatore molto potente (training) e poi, quando l'algoritmo sarà arrivato al livello di precisione richiesto, tramite un processo di raffinamento progressivo guidato da un essere umano, lo si potrà applicare al flusso dati in tempo reale proveniente dalle videocamere (inferenza).
Il training consiste quindi nell'imparare una nuova capacità partendo dall’analisi dei dati esistenti, solitamente sotto la guida di un essere umano, mentre l'inferenza nell'applicare tali capacità a nuovi dati. Lo smartphone che riesce a riconoscere automaticamente il volto nei selfie, per sfocare solo lo sfondo, è un altro esempio pratico: durante la fase di sviluppo del dispositivo è stato portato a termine il training con milioni di foto di volti umani, quando l'utente lo usa con le sue nuove foto è la fase di inferenza.
Tutto questo, però, comporta due grosse esigenze di calcolo: la prima per il training e la seconda per l'inferenza.
Ma se la fase di inferenza è particolarmente complessa da eseguire è molto difficile che un dispositivo elettronico di largo consumo abbia la potenza di calcolo sufficiente a portarla a termine. Per questo motivo è stato negli anni implementato il modello di Artificial Intelligence as a Service (AIaaS, o AI SaaS). Con questo modello l'inferenza non avviene sul dispositivo, bensì in cloud inviando i dati da elaborare a una rete di server ottimizzati per questo tipo di calcoli.
Un esempio di AIaaS sono gli assistenti vocali degli smartphone e degli smart speaker.
Le loro prime versioni, per eseguire qualsiasi compito, dovevano essere connesse a Internet perché all'interno dei device non c'era un hardware abbastanza potente per svolgere i calcoli necessari. Gli ultimi modelli di smart speaker e di smartphone, invece, integrano al loro interno chip dotati di Neural Engine, un coprocessore dedicato proprio agli algoritmi di IA. Questi device ora riescono ad eseguire almeno i compiti base, che poi sono la maggior parte, senza connessione a Internet. Ciò aumenta anche la privacy, perché la voce e i dati dell'utente non hanno più la necessità di essere inviati dal device in rete, per raggiungere i servizi computazionali in cloud.
IA: quanta potenza serve
In una sola parola: tanta. Ad essere più precisi, però, non serve più potenza di quella che abbiamo a disposizione oggi ma una potenza diversa, processori diversi per compiti nuovi. Per decenni i processori sono stati ingegnerizzati per offrire le massime prestazioni nel calcolo sequenziale: processata un'informazione si passa all'altra e poi all'altra ancora. Questo ha portato alla corsa ai GHz, in cerca della frequenza di clock maggiore possibile per smaltire la coda di operazioni in fretta. L'effetto secondario è stato che la famosa legge di Moore ha iniziato ad andare in crisi.
Per l'IA, però, questo tipo di processori non va bene: gli algoritmi di machine learning corrono veloci solo se l'esecuzione, all'interno del chip, è parallela e non sequenziale.
Non più una operazione dietro l'altra, ma la stessa operazione su più dati contemporaneamente. Per questo motivo, negli ultimi anni, i risultati migliori sono stati ottenuti non con le CPU ma con le GPU, i processori grafici, che hanno proprio la caratteristica di offrire un parallelismo spinto grazie alla loro struttura: non pochi core molto complessi e veloci, ma migliaia di core più semplici che lavorano in parallelo. Il passo successivo è stato l'uso di processori ad hoc di tipo ASIC (Application specific integrated circuit) ed FPGA (Field Programmable Gate Array).
IA: cosa ci aspetta (e quando arriverà)
Un report del 2019 di IDC sull'implementazione dell'intelligenza artificiale nell'industria e nei servizi ha messo in luce quali sono i limiti principali riscontrati dalle aziende quando hanno iniziato a introdurre queste tecnologie nei loro processi interni. I due problemi principali sono stati la difficoltà di “scalare” verso l'alto (ovvero adattare automaticamente le proprie risorse alla mole di dati e calcoli necessari in situazioni più complesse) le soluzioni implementate e i limiti di performance dell'hardware.
I risultati sono stati simili sia in caso di applicazione dell'IA con hardware in loco, sia nel caso di utilizzo dell'AI as a Service in cloud.
Tra i problemi secondari vanno citati l'elevata richiesta energetica dell'hardware, con conseguente difficoltà a smaltire il calore prodotto dai computer, l'insufficienza della memoria disponibile per i dati e la lentezza dei sistemi nell'incamerare i dati. Secondo IDC, però, già nel 2024 l'IA "avrà completamente trasformato il modo in cui viviamo, facciamo business e gestiamo un datacenter" grazie all'introduzione e alla diffusione di hardware di nuova generazione particolarmente efficiente nell'elaborazione degli algoritmi di intelligenza artificiale.
Hardware come il Power System AC922 di IBM, che tra l'altro costituisce l'ossatura sulla quale si basa Summit, uno dei supercomputer più potenti al mondo (è quello usato dall'Oak Ridge National Laboratory del Tennessee). L’AC922 è dotato di processore POWER9 ad alto parallelismo, che riesce ad elaborare 5,6 volte più thread (“istanze”, ovvero flussi di calcoli) rispetto ai concorrenti con architettura x86 ed è disponibile in configurazioni fino a 44 core. Gran parte dei calcoli per l'IA è svolta dalle GPU Nvidia Tesla V100, dotate di NVLink (una interconnessione che permette a più GPU di scambiarsi i dati ad altissima velocità). La cosa molto interessante di Power AC922 di IBM è che permette alle applicazioni in esecuzione di sfruttare la memoria di sistema come memoria GPU e ciò riduce i problemi di scalabilità verso l’alto.
La bontà di Power System AC922 è testimoniata dal fatto che esso costituisce la base anche per un altro supercomputer: il Sierra del Lawrence Livermore National Laboratory, che viene usato anche dalla National Nuclear Security Administration americana. IBM ha sviluppato un set di librerie software specifiche per l'AC922, chiamate Distributed Deep Learning (DDL), che consente a ogni singolo lavoro di essere “scalato” in modo quasi lineare su centinaia di server AC922 in modo completamente trasparente per gli scienziati: tutto quello che devono fare è effettuare una semplice chiamata e richiedere il numero di GPU che desiderano, in base alla complessità dei calcoli che devono eseguire.
Si tratta di un esempio concreto di come l'AI as a Service sia molto più facile da “scalare in alto” rispetto ai sistemi in loco. Se queste promesse verranno mantenute, quindi, IDC avrà quindi ragione e, già nel 2024, l'intelligenza artificiale avrà veramente cambiato le nostre vite.