Le 5 sfide dell’Intelligenza Artificiale per i prossimi 10 anni
L’IMEC (Centro Interuniversitario di Microlettronica) ha la sede in Belgio ed è nella top 10 a livello globale delle organizzazioni di ricerca e tecnologia.
Svolge attività sia di ricerca pura che applicata e individua ricerche promettenti per l’industrializzazione e le prepara per l’uso nell’industria.
Per fare tutto questo l’IMEC riunisce gli operatori industriali per collaborare alle innovazioni tecnologiche che avranno un impatto nei prossimi 10 anni.
I partner condividono la propria expertise e la proprietà intellettuale nonché i costi e i rischi. IMEC collabora con partner universitari sia in Belgio che all’estero, ricercatori affiliati all’università e così via.
Uno di questi ricercatori è Steven Latrè, il quale dirige la ricerca sull’Intelligenza Artificiale presso l’IMEC ed è anche professore part-time presso l’Università di Anversa.
Secondo Latrè, l’IA si sta avvicinando ad una fase critica in cui gli algoritmi richiedono una potenza di calcolo superiore a quella che l’hardware può fornire. Il progresso dell’IA incontrerà presto un collo di bottiglia.
Siamo d’accordo?
Più o meno, ma facciamo un passo indietro.
Un progetto di Intelligenza Artificiale incontra spesso dei colli di bottiglia
Partiamo dal presupposto che siamo assolutamente d’accordo con quanto detto da Steven Latrè.
È più facile sviluppare software che hardware, e la crescita del software è sempre stata motivo di crescita dell’hardware.
Se vuoi un paragone con il passato, i videogiochi hanno aumentato l’interesse verso la potenza di calcolo delle GPU, le quali sono diventate sempre più potenti per far girare videogiochi più potenti.
Siamo arrivati però al punto in cui la richiesta di potenza di calcolo è superiore a quella che l’hardware può dare, ma perché?
La risposta ce la dà proprio Steven Latrè.
«La quantità di intelligenza di questi modelli è molto elevata e produce risultati straordinari. Il rovescio della medaglia è che la quantità di calcolo di cui hanno bisogno sta aumentando a dismisura».
«Fino a circa dieci anni fa, la richiesta di potenza di calcolo di questi modelli aumentava di circa due volte ogni due anni. Ciò corrispondeva perfettamente all’evoluzione delle CPU, che raddoppiavano la loro potenza ogni due anni circa».
«Tuttavia, negli ultimi dieci anni abbiamo visto la domanda della potenza di calcolo aumentare per potenze di 10 ogni anno. Ciò significa che qualsiasi cosa costruiamo oggi, tra due anni la velocità di calcolo sarà raddoppiata, ma la quantità di calcolo richiesta dall’IA sarà centuplicata (10^2)».
Riassumendo ciò che dice Latrè: noi stiamo raggiungendo un punto tale per cui ci potrebbe essere un nuovo inverno dell’Intelligenza Artificiale tra cinque o dieci anni.
Ora, può sembrare una visione catastrofica (e per certi aspetti lo è), perciò bisogna mettere i puntini sulle i e parlare di ‘aspettative’.
In questo momento stiamo avendo quello che noi definiamo “hype” riguardo all’Intelligenza Artificiale, supportato da hardware funzionante. Contemporaneamente esistono dei modelli con un’efficienza molto alta (cosa che in passato non avevamo) e con una velocità adeguata alle richieste.
È chiaro che se ti aspetti che un algoritmo efficiente come GPT-3 giri su un dispositivo come uno smart-watch, allora è hai delle aspettative troppo alte.
Se ti aspetti un GPT-3 da utilizzare attraverso API o cloud, puoi già usufruirne.
Se ti aspetti che lo SmartWatch faccia girare il GPT-3 fra dieci anni, il processo di miniaturizzazione dei processori potrebbe sopperire alla richiesta.
Se invece vuoi un’assistente vocale basato su GPT-3 che parli attraverso la rete, non c’è bisogno di andare così lontano nel tempo.
Insomma, è vero che potremmo andare verso un enorme collo di bottiglia nel futuro, ma non vuol dire che l’Intelligenza Artificiale si arresterà all’improvviso.
Sfida n°1: Rendere sostenibile la potenza di calcolo per le aziende
Questo è un problema che affrontiamo spesso, poiché creando i nostri modelli e le nostre infrastrutture, i clienti ci chiedono sempre algoritmi che rispondano alle richieste molto velocemente.
Non passa mai inosservato il fattore velocità unito al costo delle prestazioni – è un fattore chiave in fase di analisi e di avvio di progetto.
Dobbiamo dire che ci sono dei progetti in cui la velocità è un elemento fondamentale, mentre ce ne sono altri in cui non lo è.
Nell’industria si richiede una velocità di risposta nell’ordine dei secondi o millisecondi.
Le immagini per il controllo qualità devono essere analizzate nel minor tempo possibile per dare una risposta rapida agli operatori del ciclo di produzione, per esempio.
Se parliamo di cercare elementi all’interno di documenti o se dobbiamo generarne in un ambiente di linguaggio naturale, si può ragionare nell’ordine dei secondi o minuti.
Sicuramente sono due ambiti diversi che però richiedono comunque delle performance diverse da quelle che chiedevano anni fa.
Dobbiamo anche calcolare il costo, non solo la quantità di tempo.
Ci troviamo spesso a lavorare con schede grafiche NVidia A100 da 12000€ così come schede NVidia GeForce 3090 a 1500€.
Sono sicuramente prezzi che vanno a pesare sul costo generale di progetto.
Soprattutto nell’industria, un conto è mettere dei PC a bordo macchina con una scheda da 1500€, un conto è mettere un A100 per ogni macchina.
Se a livello di progettazione emerge la necessità di avere un budget ben specifico, è chiaro che si lavora sul software in modo da adattarlo all’hardware.
Si ragiona comunque su modelli magari più piccoli ma più efficienti o più specializzati, quindi non ampiamente generici come il GPT-3, pertanto meno pesanti, meno esosi di risorse e che lavorano in modo diverso.
La soluzione più comune sarebbe la Cloud AI.
Negli anni abbiamo visto sempre di più spostare le attività nel cloud, sempre e comunque a seconda delle necessità di progetto.
Si può avere necessità di un modello di machine learning a bordo macchina per risolvere le prime problematiche, e avere poi un’unità computazionale AaaS per le operazioni di lunga previsione. Sicuramente anche l’architettura giusta può risolvere questo problema. Anche perché il cloud permette di scalare le risorse di cui si ha bisogno.
Sfida n°2: Portare modelli complessi su sistemi semplici
Questi sistemi hanno dei consumi non indifferenti poiché utilizzano molte risorse del PC in fase di inferenza, che siano nel cloud o nell’embedded.
È un calcolo molto corposo e pesante per un PC, che si traduce poi in consumi elettrici, che si traducono poi in costi e in impatto ambientale.
Se parliamo dello Smart Watch che ti dice come comportarti nel tuo allenamento quotidiano, il machine learning al suo interno consumerebbe tutta la potenza computazionale per trovare i suggerimenti giusti e farti raggiungere il massimo delle performance.
In poche parole, il machine learning all’interno di uno smart watch farebbe scaricare la batteria dopo un’ora di allenamento, rendendolo inutilizzabile.
Naturalmente, pur essendo un software molto apprezzato dagli utenti poiché personalizzato, i costi energetici porterebbero ad un abbandono dell’utilizzo.
Questo ci porta inevitabilmente alla necessità di ridurre la complessità dei modelli.
Avere un GPT-3 trainato con tutte le informazioni del Web può non essere ideale per casi d’uso molto ridotti che non hanno bisogno di tutta l’informazione di Internet per funzionare.
Di conseguenza per questi casi d’uso si può optare per un modello di text-generation più ristretto e focalizzato che ha dei anche dei consumi nettamente di meno.
Ci stiamo avvicinando al’Edge AI?
Questo ci ricorda un trend molto particolare, quello dell’Edge AI.
Tutto parte dal trovare soluzioni per ridurre la potenza di calcolo, o comunque fare in modo che sia sostenibile per le aziende, anche a livello di consumi.
Una di queste modalità è l’Edge AI che consiste nell’utilizzare un algoritmo di IA su un dispositivo delimitato tendenzialmente collegato ad Internet (IoT). Per esempio uno Smart Watch potrebbe essere un dispositivo di Edge AI.
Stiamo andando verso questa direzione?
Sicuramente è una strada che verrà percorsa, ma facciamo un paragone con il passato per capirci.
Prima avevamo il PC in casa che si connetteva una volta al giorno ad Internet tramite il modem a 56k, mentre adesso abbiamo tutti il nostro cellulare e lo smartwatch.
Quindi, come abbiamo portato la potenza di calcolo dal PC all’orologio, si vuole portare l’IA dal server al polso della persona.
Chiaramente, bisogna individuare casi d’uso per cui sia giustificato il costo dell’hardware che bisognerà comprare per averlo sul polso. Non possiamo comunque escludere che la strada sia quella.
Sfida n°3: Rendere i modelli perfettamente comprensibili
Passiamo all’Explainable AI.
Abbiamo dei modelli che danno dei suggerimenti e il mercato continua, giustamente, a chiedere spiegazioni.
Sicuramente è un trend in forte crescita: adesso i modelli devono autogiustificare le proprie scelte a prescindere dalle metodologie per farlo (descrizioni testuali, mappe di calore etc).
È una cosa che vediamo anche nei nostri progetti.
Magari abbiamo a che fare con un team, con capi reparto, project manager, responsabili di prodotto che sicuramente conoscono il progetto dall’inizio alla fine, conoscono la documentazione, cosa stanno per installare, come lo useranno e diffonderanno il verbo con i nostri corsi di formazione.
Nel momento in cui c’è un ricambio all’interno del reparto, che sia generazionale o di competenze, chiedere formazione sui nuovi arrivati inizia ad essere difficile. Per questo motivo diventa sempre più facile chiedere che sia l’IA stessa a spiegare e giustificare le proprie scelte, senza che sia coinvolto il team di esperti che ha creato l’IA.
Sfida n°4: Dimostrare l’affidabilità dei modelli
L’efficienza è la prima feature richiesta da un modello.
Quindi si cercano modelli che raggiungano il 98-99% di efficienza, ma c’è sempre quell’1% di inefficienza. Per l’industria questo è un dramma comprensibile. Se portiamo allo stremo la situazione in cui un’auto a guida autonoma si trova in una situazione non chiara, nessuno vorrebbe si trovasse in uno stallo in cui non sa che cosa fare e fa esplodere il cofano. Di conseguenza, va gestito anche quell’1%.
Anche qui, in fase di analisi e costruzione del modello, bisogna mappare la maggior parte dei casi possibili e, a sua volta, sia in fase di explainability che in fase di strati di logica e di software costruito attorno, gestire i casi in cui siamo nell’1% e che non vada a danno di tutta la situazione che sta gestendo l’IA.
Anni fa abbiamo parlato di un algoritmo capace di comunicare l’affidabilità del proprio risultato, cioè di dire da sola con quale probabilità è riuscita ad ottenerlo.
Stiamo andando verso quella direzione? Un’Intelligenza Artificiale sta diventando sempre più autonoma da potersi spiegare da sola e comunicare il livello di affidabilità?
Sicuramente si arriverà anche a quello.
Facciamo presente che il ‘cervello’ di una Tesla lavora doppio. Quindi, l’input dei sensori viene inviato a due diverse unità di Intelligenza Artificiale, il cui risultato viene confrontato. Quindi, stesso modello installato su entrambe, viene lanciato lo stesso input e si verifica che l’output sia identico.
Chiaramente la velocità di calcolo è dell’ordine dei millisecondi, quindi si possono mettere anche lì a discutere, però intanto decidono se frenare o accelerare. E questo sicuramente è un esempio di come si può andare a garantire l’efficienza di un modello di AI.
Sfida n°5: Offrire servizi personalizzati senza violare la privacy
Qui viene messo in risalto quello che viene definito federated learning o “apprendimento federato”.
È un tipo di architettura che permette la decentralizzazione dei dati e l’anonimizzazione.
Di fatto, si “pescano” dati da federazioni ed entità diverse e si raccolgono solo in fase di training e necessità pura. Rimangono comunque decentralizzati, all’interno di entità separate da quella che sta eseguendo il modello, e quindi si permette una migliore gestione del dato e della privacy.
Nel nostro caso è difficile avere entità che hanno dati in strutture diverse.
Per i nostri progetti normalmente l’industria ha il controllo dei propri dati, quindi sa esattamente in quali server e in quali parti dell’IT si trovano.
Il federated learning rappresenta architetture più complesse in cui ad esempio devo prendere un referto da un ospedale con un identity provider da un’altra entità, che a sua volta fa riferimento ad un’altra ASL. Unire tutto questo per raccogliere i dati software così ampi ancora non li abbiamo affrontati.
Nella quotidianità dell’azienda al momento il federated learning può nascere su piccole entità, magari l’azienda vuole tenere separati determinati dati rispetto ai reparti, concepiti come una federazione.
Si raccolgono i dati da tutti per fare, ipotizzando, una predizione o un forecasting su come organizzare le risorse interne e gestire la produzione.
Di fatto, non avendo dati di privacy, si può anche pensare come l’accesso a 5 database diversi e le query vengono fatte e si crea il dataset e di conseguenza il modello.
Stai cercando qualcuno con cui comiciare il tuo progetto di Intelligenza Artificiale?
Puoi contattarci al numero verde 800270021.
Puoi inviarci un’email a info@bluetensor.ai.
Puoi compilare il modulo che trovi QUI.
Un nostro esperto ti contatterà presto.