Cloud Computing e democratizzazione dell'IA
da Raul Reguillo (diplomato ESI e Cloud Architect presso BBVA Next Technologies).
1. Una passeggiata tra le nuvole.
Da anni le tecnologie nuvola Svolgono un ruolo cruciale in qualsiasi azienda. Che sia un Startup, una PMI o una grande azienda, il cloud si è posizionato come ingrediente essenziale nella definizione della strategia tecnologica [1]. Caratteristiche come l'elasticità delle risorse, i costi adeguati e prevedibili, la sicurezza o il numero incipiente dei servizi offerti, posizionano le tecnologie cloud come un valore molto interessante per le aziende. Nei dati, [2] ci mostra un esempio di adozione e proiezione.
All'interno di questi servizi si possono trovare da quelli classici, finalizzati allo storage, ai database o al calcolo, così come i più all'avanguardia, che esplorano gli orizzonti del Quantum Computing [3] o spingendo oltre i limiti dell'Intelligenza Artificiale.
Questa qualità di avvicinare risorse, conoscenze e servizi alle persone è nota come democratizzazione. Nel corso della storia si sono visti molti esempi di democratizzazione, uno dei più rilevanti e iniziali è stato quello dell'invenzione della stampa; Quando i libri erano oggetti di lusso a disposizione di pochi che sapevano leggerli, interpretarli e sfruttarli, la stampa permetteva di renderli più accessibili alle masse e, quindi, di portar loro conoscenza. Possiamo così pensare a tanti altri esempi che possono spaziare dai trasporti e dall'energia alle notizie e alle telecomunicazioni. Il ruolo democratizzante del cloud nelle tendenze tecnologiche è notevole, ampio ed è possibile che sarà uno di quei paradigmi che cambieranno il modo in cui funziona l'informatica [4]. Allo stesso modo, il numero di fornitori di servizi cloud favorisce la copertura globale e prezzi molto convenienti [5]. Non è più necessario fare un grande investimento in server e dischi per ospitare le informazioni, ma lo spazio virtuale può essere affittato per il preciso tempo richiesto a prezzi molto convenienti e delegare aspetti di sicurezza, manutenzione e conformità al fornitore stesso nuvola. Allo stesso modo, una piccola azienda o anche un individuo può così affittare un intero gruppo di elaborazione parallela (potenzialmente centinaia di nodi) per utilizzarlo il tempo strettamente necessario, e quindi rilasciarlo. Questo potente concetto può essere esteso oltre l'informatica o lo storage, raggiungendo altre classi di servizi più specifici (l'elenco è molto ampio [6]) come IoT, Blockchain, migrazione dei dati, robotica o Intelligenza artificiale.
2. Democrazia
È in quest'ultimo campo, l'Intelligenza Artificiale, che gli effetti di questa democratizzazione sembrano più evidenti e in campi molto diversi. Il cloud è arrivato a democratizzare molte cose sotto forma di servizi (PaaS, SaaS, IaaS), il campo dell'intelligenza artificiale è un caso particolare in cui convergono molti di questi rami. In questo articolo parleremo di tre aspetti in cui la democratizzazione dell'IA ha il maggiore impatto: risorse, conoscenza e operazioni.
2.1 Ricorsi
Se pensiamo alla formazione di un modello di Deep Learning la quantità di risorse richiesta da alcuni algoritmi e la necessità hardware Come le GPU o le TPU di fascia alta, possono essere fuori dal budget di molte piccole aziende, studenti o ricercatori. Questo materiale sarebbe disponibile solo per le aziende con sufficiente solvibilità che potrebbero acquistarlo e trarne pieno vantaggio. Vediamolo con un esempio:
ResNet-50 [7] è un modello di Deep Learning orientato alla classificazione delle immagini. Se addestriamo ResNet-50 per 90 epoche con il set di dati ImageNet, può essere necessaria fino a una settimana con una singola GPU. Man mano che aumentiamo il numero di GPU, il tempo di allenamento può essere ridotto, raggiungendo tempi più ragionevoli con almeno 4 GPU. D'altra parte, il set di dati stesso è piuttosto grande: circa 150 GB. Poiché questo è un problema semplice (e relativamente vecchio), iniziamo a vedere che questo tipo di dati è forse meglio avere anche in un ambiente distribuito.
È del tutto evidente che per alcuni problemi di apprendimento profondo la soluzione passa attraverso ambienti distribuiti, sia per il calcolo, sia per l'archiviazione dei dati e non dimentichiamo l'inferenza o lo sfruttamento del modello in ambienti produttivi. A questo punto, possiamo fare i calcoli di quanti nodi vogliamo avere, che uso daremo loro, quante GPU possiamo permetterci e come manterremo tutto aggiornato (versioni della libreria, patch, ecc.). Niente che non sia conveniente, ma richiede a offset notevole metalavoro.
In un ambiente nuvola tuttavia godiamo di uno strato di astrazione di tutto questo. Lo storage distribuito è estremamente economico (centesimi di euro per GB al mese) e i diversi servizi di formazione offrono già configurazioni standard per svolgere questo tipo di formazione: numero di nodi, capacità delle macchine, tipi di GPU, librerie e versioni da utilizzare. Così, con pochi click, puoi contare su un ambiente pronto per addestrare il nostro ResNet-50 in pochi minuti, con un costo del servizio che si aggira intorno ai pochi euro.
2.2 Accoglienza
Forse uno degli aspetti più potenti in cui il cloud può avvicinare l'IA all'utente è in relazione allo sfruttamento della conoscenza. Esiste già un catalogo di modelli addestrati disponibili per l'uso. Un'azienda non deve addestrare da zero un classificatore di immagini o un sistema di raccomandazione; Esistono già servizi che si avvalgono di modelli preformati che possono essere sfruttati da chiunque. Tra i più riusciti ci sono i servizi di analisi del sentimento in testo o immagine, modelli di discorso al testo o di sintesi vocale, rilevamento di frodi, riconoscimento di entità, previsione E un lungo eccetera. Pertanto, un'azienda può utilizzare queste conoscenze sotto forma di servizi, collegandole alle sue soluzioni come componente di Software di più e pagando un canone mensile per sfruttarli. Non è più necessario aver formato un modello all'interno dell'azienda con le problematiche che ciò comporta; mancanza di dati, errori di previsione, riqualificazione e soprattutto acquisizione delle conoscenze e dei profili necessari per realizzarla.
2.3 Operazioni
Infine, uno degli ultimi capitoli aggiunti al catalogo dei servizi è Operations, ovvero facilitare il lavoro necessario che deve essere svolto (quel meta-lavoro menzionato prima) per formare e mettere in produzione un modello di Intelligenza Artificiale.
I fornitori di cloud, consapevoli del complesso loop che governa questo tipo di progetti, facilitano notevolmente la creazione di oleodotti necessario per estrarre i dati, addestrare il modello, portarlo in produzione e monitorarne le prestazioni. Questo insieme di processi, generalmente noto come MLOp [10] è inoltre democratizzato dai fornitori di cloud tramite un livello di astrazione, in modo che con pochi clic tutte le operazioni necessarie siano coperte.
3. Conclusiones
Il cloud è arrivato a rivoluzionare il modo in cui affrontiamo processi e servizi. Nel campo dell'IA, l'impatto è stato noto e il numero di servizi lanciati ogni anno in relazione a questo campo sembra non avere fine. Naturalmente, le tecnologie stesse nuvola richiedono una certa curva di apprendimento per essere utilizzati, quindi non siamo esenti da questo meta-lavoro per farne un uso efficiente, anche se tendono ad essere curve di apprendimento fluide e il vantaggio ottenuto in termini di ottimizzazione di tempi e costi è più che evidente . Ora più che mai, l'Intelligenza Artificiale su qualsiasi scala è alla portata di tutti.