Skip to main content
HPC e cloud insieme per l’AI

HPC e cloud insieme per l’AI

| Federica Tanlongo | la nuvola della ricerca e istruzione
Articolo letto 1918 volte

Un laboratorio condiviso per testare soluzioni innovative per la ricerca e l’industria: ecco l’esperienza torinese di HPC4AI

HPC4AI è una collaborazione tra i due atenei torinesi per la creazione di un avanzatissimo centro High Performance Computing dedicato all’intelligenza artificiale. La racconta il coordinatore, Marco Aldinucci, ordinario di computer science e responsabile del gruppo di calcolo parallelo presso l’Università di Torino.

foto di Marco Aldinucci

Marco Aldinucci, ordinario di computer science e responsabile del gruppo di calcolo parallelo presso l’Università di Torino è il coordinatore di HPC4AI

Cos’è HPC4AI e quali sono i suoi obiettivi?

Come in tante discipline, anche nella nostra molto ruota attorno al “laboratorio”: ricerca, sperimentazione, trasferimento tecnologico, ma anche formazione di studenti e giovani ricercatori. HPC4AI è un laboratorio di ricerca focalizzato sulla convergenza di tre temi: AI, calcolo ad alte prestazioni e cloud. Abbiamo scelto un modello distribuito e federato, che consente ai due partner principali, Università e Politecnico di Torino, di mettere a fattore comune conoscenza e strumenti, restando autonomi nella gestione delle attrezzature e nei temi di ricerca.

I laboratori dei 2 atenei hanno fatto scelte armonizzate ma diverse nella progettazione, così anche se ho coordinato tutto il progetto, qui parlerò soprattutto di HPC4AI@UniTO, che ho seguito più da vicino e ha assorbito 2/3 del finanziamento da 4.5M€ (50% del POR-FESR Regione Piemonte e 50% degli Atenei).
Il terzo partner del progetto è GARR: HPC4AI è parte della federazione GARR cloud e ne utilizza diversi risultati.

HPC4AI vuole mettere a disposizione dei ricercatori di diversi domini scientifici una ingente potenza di calcolo al servizio dei metodi dell’AI, che possa essere utilizzata facilmente mediante gli strumenti del cloud computing.

Cosa avete realizzato?

Abbiamo creato un living lab per docenti e studenti, silenzioso, robusto, sostenibile ed energeticamente efficiente: un prototipo allo stato dell’arte, non un prodotto off-the-shelf. Il nostro è un data centre da 250kW, completamente ridondato, con un’efficienza energetica allo stato dell’arte (circa il 95% contro il 65-70% della media). La progettazione ha richiesto mesi di lavoro e lo sviluppo di nuove soluzioni per il contenimento del consumo energetico e del rumore, ma il risultato oggi è visibile a tutti, posizionato in una teca di vetro nel bel mezzo al dipartimento di informatica dell’Università di Torino. Come piattaforma di calcolo utilizziamo sistemi modulari cloud-HPC. Ogni sistema è composto da un modulo cloud e un modulo HPC, che si ottimizzano in modo diverso e per questo conviene realizzarli separatamente e integrarli in modo efficiente, piuttosto che tentare di fonderli. Abbiamo due sistemi cloud-HPC, uno di produzione e di sviluppo, così possiamo applicare il paradigma DevOps a tutto lo stack, dall’hardware ai servizi.

Il sistema di produzione offre IaaS, PaaS e SaaS per le applicazioni in diverse discipline, mentre quello di sviluppo, oltre ad essere usato per mettere a punto gli aggiornamenti del sistema di produzione, è dedicato alla progettazione e al testing del system software: ad esempio i servizi di routing del cloud, la virtualizzazione delle GPU, l’ottimizzazione dei servizi di storage e del load balancing, lo sviluppo di workflow management system moderni e delle nuove PaaS cloud. Sviluppo è progettato per essere più eterogeneo possibile, con diversi tipi di processori, GPU e storage per fare test di ogni tipo: ad esempio abbiamo in programma di integrare, appena sarà disponibile nel 2023, il primo engineer sample del primo processore Europeo ad alte prestazioni prodotto dalla European Processor Initiative, uno dei capisaldi della sovranità digitale europea, su cui la CE ha investito moltissimo.

Abbiamo completato la prima versione di HPC4AI@UniTOa fine 2019, ma continuiamo ad estenderlo, visto che si autofinanzia: nel 2020, nonostante il Covid, è quasi raddoppiato in dimensione ed oggi conta circa 5000 core, oltre 30 TB di RAM, 100 GPU V100/T4 e 3 PB di storage.

Perché l’approccio ibrido HPC-cloud?

I metodi basati su Deep Learning apprendono per esempi: maggiore il volume degli esempi “digeriti”, maggiore la probabilità di generalizzare la conoscenza e trasformarla in capacità di riconoscere e classificare un esempio mai visto prima. A ciò corrisponde un aumento della capacità di calcolo e movimentazione dati richiesta: per questo, metodi e tecnologie legate all’HPC sono una piattaforma abilitante per il Deep Learning. Lo stack software dei sistemi HPC, però, non è molto adeguato a supportare gli utenti AI, ad esempio nel garantire separazione fra utenti diversi e sicurezza del dato: un problema per molte applicazioni importanti del Deep Learning come diagnostica e medicina personalizzata, che l’approccio cloud può aiutare a risolvere.

Quali criticità avete trovato nell’applicare il modello?

Il primo problema è che OpenStack non è esattamente pronto gestire le macchine con GPU: abbiamo dovuto lavorare al livello del control plane per supportare diversi modelli di GPU e persino per poterle contare, funzionalità non prevista almeno fino alla versione Stein (2019) del software. Nell’ultimo anno abbiamo distillato diversi metodi per fornire le GPU con vari livelli di flessibilità: si va dal fornire in modo esclusivo una GPU o una sua frazione alle macchine virtuali, al condividere in modo dinamico le GPU grazie ai containers, sia all’interno delle macchine virtuali che sul cluster HPC, che non è virtualizzato. Un terzo metodo è basato sul nostro servizio PaaS multi-tenant OpenDeepHealth. Ogni istanza di OpenDeepHealth è un secure-tenant basato su Kubernetes segregata dal resto del sistema; ogni Pod di Kubernetes usa in modo esclusivo una o più GPU, ma i Pod si susseguono in esecuzione, distribuendo l’uso delle risorse tra diversi servizi. Il quarto metodo è un servizio SaaS innovativo ancora in sviluppo, nel quale crediamo molto, “Jupyter-as-a-Service”, che permette di distribuire le attività di calcolo del proprio notebook su un insieme di macchine virtuali. Questo permette di attivare dinamicamente i kernel a supporto dei notebook su macchina virtuale con GPU, utilizzando le risorse come in un pool e ottimizzando l’utilizzo del sistema.

Che tipo di servizi offrite?

Offriamo accesso a risorse di calcolo e storage in tutto lo spettro dei modelli di servizio cloud, inclusi i servizi sperimentali. L’accesso ai servizi è regolato da un tariffario oppure offerto come co-finanziamento in progetti di ricerca congiunti. Abbiamo anche un programma di concessione gratuita ad attività che riteniamo meritevoli, ad esempio alcune associazioni no-profit e studentesche e diversi progetti dell’Ateneo.

A che punto siete e quali sono i prossimi passi?

Abbiamo finito la prima fase di deployment e dimostrato di essere in grado di produrre nuovo system software, come OpenDeepHealth, Jupyter-as-a-Service, e Streamflow, il nostro workflow manager progettato specificamente per sistemi ibridi cloud-HPC. Crediamo che la portabilità delle pipeline sia la vera chiave per realizzare applicazioni moderne, in grado di uscire da ambienti di ricerca come HPC4AI e migrare ad uno o più cloud pubblici in modo trasparente. La nostra visione di trasferimento tecnologico è l’esatto contrario del lock-in generalmente imposto dai fornitori, potremmo definirla “lock-less”.

Crediamo che la portabilità delle pipeline sia la vera chiave per realizzare applicazioni moderne

Il futuro di HPC4AI è legato a due nodi cruciali: nuove leve per il nostro team e partner industriali. Siamo pochi e non riusciamo a sviluppare nuove soluzioni alla velocità che vorremmo: reclutare dei giovani è quindi fondamentale ma non facile in una società, anche accademica, che, abbagliata dai miracoli dei BigData e dell’AI, investe sull’analisi dei dati ma non sulle piattaforme in grado di abilitarla, come il cloud. Queste competenze sono merce rara e rischiamo di perderle per sempre e non essere neanche più in grado di definire i nostri requisiti, trovandoci a prendere le soluzioni software che gli OTT decidono per noi, al prezzo da loro deciso in assenza di alternative.

Nell’ambito della collaborazione col privato, abbiamo esperienze positive con RAI (nuovo Auditel basato su concetti socio-semantici) e collaboriamo con diverse cliniche universitarie e grandi gruppi come Cerved group su temi legati al Deep Learning, ma quello che ancora manca è un partner industriale che sappia raccogliere i progetti di ricerca maturi, ingegnerizzarli e metterli sul mercato. Da poco abbiamo iniziato a collaborare con Leonardo Company, vedremo.

E GARR?

La collaborazione con GARR Cloud ci ha permesso di avviare HPC4AI in modo estremamente rapido, mutuando molte ricette che oggi stiamo estendendo ed elaborando per costruire i nostri servizi più innovativi, come OpenDeepHealth. GARR ha anche investito direttamente in HPC4AI, che oggi ospita 4 macchine sperimentali a suo uso, dedicate alla progettazione di un sistema di storage “all-flash”, una soluzione estremamente interessante usata delle compagnie di storage emergenti.

A livello di rete, grazie a GARR e Università di Torino, HPC4AI accede direttamente al PoP GARR di Torino con 4 fibre dedicate a 10 Gbps, il che rende l’accesso mediante internet molto efficiente. A breve speriamo di collaborare anche sul tema della federazione dei servizi cloud per la ricerca.

foto HPC4AI

OpenDeepHealth

OpenDeepHealth nasce nell’ambito del progetto H2020 DeepHealth come soluzione abilitante per la ricerca AI su dati medici o comunque critici. È l’evoluzione di una ricetta (Juju charm) di Canonical per l’installazione di istanze private di Kubernetes su OpenStack in uso a GARR e permette di creare un ambiente sicuro per un gruppo di persone (tenant), con un amministratore che crea gli utenti, configura i diritti di accesso e regola l’accesso da internet (ad esempio via VPN). È garantita la segregazione di ogni istanza e la cifratura e inaccessibilità dei dati memorizzati internamente al tenant a tutti gli altri, inclusi gli amministratori.

Essa costituirebbe un mezzo di ricerca di cui si avvantaggerebbero in modo, oggi quasi inestimabile, tutte le scienze e tutti gli indirizzi di ricerca [E. Fermi, 11 Agosto 1954. Dalla lettera al Rettore Avanzi]

Chi sono i vostri utenti e cosa fanno con HPC4AI?

Abbiamo oltre 40 progetti attivi in questo momento, di cui almeno 10 finanziati da bandi H2020, con una media di 180 macchine virtuali attive. Molti progetti sono di ambito medico e usano tecniche di Deep Learning con centinaia di TB di dati provenienti da trial delle cliniche universitarie di Torino.

HPC4AI esiste per dimostrare che non ci mancano le competenze per costruire una filiera dell’innovazione

Alcuni sono istanze OpenDeepHealth, come ad esempio le comunità dei progetti DeepHealth, CANP e il recentissimo Circular Health for Industry finanziato da Compagnia di San Paolo. DeepHealth è focalizzato sullo sviluppo di librerie attualmente in fase di test su una decina di studi medici, molti dei quali legati alla diagnosi dei tumori mediante tecniche di AI. CANP (la Casa Nel Parco della salute) riguarda invece l’ospedalizzazione a domicilio, che per noi significa andare verso l’edge computing.

Grazie a un finanziamento competitivo del Ministero dello Sviluppo Economico di 14,5 M€, stiamo aprendo un nuovo laboratorio, HPC4AI-ComputeContinuum, dove ci occuperemo di federated learning e di analizzare il dato dove viene prodotto, concentrandoci sulla riservatezza, una caratteristica fondamentale dei dataset di valore (medici, strategici, etc.).

Quali i benefici per il territorio?

In termini di capacità di innovazione, sapere progettare una macchina ha molto più valore che saperla guidare. Costruire questo sapere è il compito delle università, che quando funzionano bene, hanno un ruolo cruciale nella catena del valore di un territorio. Il Piemonte ha una grande tradizione imprenditoriale nella meccatronica e in ambito ICT, eppure molte di queste aziende coprono solo l’ultimo miglio verso le applicazioni, spesso comprando strumenti ICT già maturi e a prezzi alti: è un mercato a basso valore aggiunto, che difficilmente può generare innovazione disruptive. L’AI è un’opportunità, ma rischia di zoppicare senza la ricerca industriale sulle tecnologie abilitanti. HPC4AI esiste per dimostrare che non ci mancano le competenze per costruire una filiera dell’innovazione in grado di canalizzare almeno in parte gli investimenti ICT delle nostre aziende sul territorio. Non è facile, ma è necessario provarci, anche per questo il nostro ateneo si è da poco iscritto al cloud europeo per l’industria GAIA-X. Credo sia la prima Università italiana e spero non sia l’ultima.

Ti è piaciuto questo articolo? Faccelo sapere!
Dai un voto da 1 a 5, ne terremo conto per scrivere i prossimi articoli.

Voto attuale:

HPC e Cloud Insieme per L'AI

Articoli nella rubrica


Archivio GARR NEWS