GPU Appliance per l’Intelligenza Artificiale
L’intelligenza artificiale pervade ormai il nostro quotidiano, non è più solo un tema da fantascienza
Le aziende all’avanguardia usano già l’Apprendimento Automatico. L’integrazione delle capacità umane con i nuovi sistemi intelligenti sta rendendo i processi di lavoro più agili e precisi: grazie alle nuove applicazioni di Intelligenza Artificiale, il tuo business ora può evolvere rapidamente ed anticipare i cambiamenti del mercato
Alla base di questa rivoluzione ci sono i Big Data ed il GPU Computing
Le piattaforme per l’elaborazione dei Big Data richiedono significative risorse computazionali e di storage, che devono essere però “valorizzate” da uno stack software che offra le funzionalità necessarie per gestire l’intero ciclo di vita del dato: dalla raccolta e pulizia dei dati da elaborare, all’implementazione su GPU di complessi modelli matematici in grado di estrarre conoscenza dai dati.
Perché GAIA?
“Nella mitologia greca, Gaia (/ ˈɡaɪə, ˈɡeɪə / GHY-ə, GAY-ə; dal greco antico Γαῖα, una forma poetica di Γῆ Gē,” terra “),
è la personificazione della Terra e una delle divinità primordiali greche.
Gaia è la madre ancestrale di tutta la vita: la primitiva dea della Madre Terra”
Wikipedia – Gaia
GAIA (GPU Artificial Intelligence Appliance) è la piattaforma ad alte prestazioni e scalabile studiata da E4 Computer Engineering per i carichi di lavoro di Data Analytics, Machine Learning e Deep Learning su GPU. La soluzione è costituita da un potente server multi-GPU, sul quale è installato E4 Analytics Studio, uno stack software moderno, completo ed interamente containerizzato che integra i principali strumenti e framework oggi utilizzati per lo sviluppo di applicazioni di Analisi Avanzata dei Dati.
GAIA è la soluzione di calcolo ad alte prestazioni disegnata dai Data Scientist di E4 Analytics per massimizzare la produttività dei professionisti dell’analisi dati, che devono raccogliere, ripulire e trasformare i dati aziendali, implementare e testare i più avanzati algoritmi di apprendimento automatico e mettere in produzione i servizi necessari per fruire dei risultati dell’analisi. Inserire GAIA nella tua organizzazione è il primo passo per “democratizzare” le tecnologie dell’Artificial Intelligence ed avviare la trasformazione del tuo business in una attività realmente Data Driven!
POTENTE
La componente Hardware di GAIA è un super server, che integra CPU fino a 64 core, RAM fino a 2 TB e può ospitare fino a 8 GPU interconnesse all-to-all. Evidentemente non può mancare un sotto-sistema per lo storage dei dati capiente e veloce, interamente basato sulle migliori tecnologie all-flash.
CONTAINERIZZATA
Gli ambienti di lavoro sono sempre implementati attraverso immagini di container. L’End User di GAIA dispone così di una molteplicità di ambienti di lavoro, tutti studiati per implementare al meglio i diversi stage del tipico workflow della Data Science, senza alcun compromesso in termini di performance.
FACILE
GAIA integra un’interfaccia web multi-utente basata sui Jupyter Notebook, ormai uno standard per gli ambienti interattivi per l’analisi dati: un’ambiente che permette di integrare codice scritto nei linguaggi Python o R, con testo descrittivo, formule, visualizzazione grafica e contenuti multimediali.
FLESSIBILE
Oltre all’interfaccia Jupyter Notebook, tutti gli ambienti di lavoro disponibili nello stack software di GAIA integrano Visual Studio Code Server, una soluzione server-side che offre efficienti funzionalità di completamento automatico del codice ed integra strumenti avanzati per il visual debugging.
Fino a qualche anno fa, per estrarre conoscenza dai Big Data, erano necessarie infrastrutture multi-server, configurate con complesse piattaforme di calcolo distribuito per l’analisi massiva dei dati. Grazie alla enorme potenza di calcolo offerta dal GPU Computing è oggi possibile addestrare i più complessi Data Model, utilizzando infrastrutture di calcolo più semplici ma ugualmente potenti, derivate dal concetto di Fat Node, tipico del settore HPC. Si tratta di un server equipaggiato con 2 CPU a molti core (fino a 64!), con grandi quantità di RAM ed uno storage locale capiente e veloce, basato sulla tecnologia NVME.
GAIA è un Fat Node, cui abbiamo aggiunto un set di GPU, connesse tra loro alla massima velocità possibile: una soluzione HW semplice, ma in grado di affrontare con successo la sfida computazionale del training dei più complessi modelli di Deep Learning, gli unici che abilitano ad un Processing del Linguaggio Naturale ad alte prestazioni, ad una “Computer Vision” minuziosa o ad un Forecasting non solo accurato, ma in cui sia possibile comprendere le ragioni per cui i dati di input producono la previsione… solo per fare qualche esempio!
GAIA è un “FAT Node” multi-GPU arricchito da uno stack software, disegnato per semplificare il lavoro del Data Scientist, che voglia utilizzare i principali framework open-source per Data Analytics, Machine Learning e Deep Learning; tutti gli ambienti di lavoro sono pre-configurati per utilizzare a pieno la potenza di calcolo disponibile sul server e soprattutto sono semplici da usare. Con GAIA il tuo viaggio nell’AI sarà sempre un’esperienza produttiva!
Scopri i dettagli
E4 Analytics Studio: lo stack software per Data Analytics e AI integrato in GAIA
E4 Analytics Studio è uno stack software che offre all’utente finale una molteplicità di ambienti di lavoro containerizzati per lo sviluppo di applicazioni di Data Analytics, Machine Learning, Deep Learning e per la visualizzazione avanzata dei dati. I diversi ambienti sono costruiti per utilizzare l’hardware sottostante alle massime prestazioni e disegnati per garantire sempre la stessa esperienza d’uso all’utente finale.
Dai survey annuali pubblicati da Kaggle.com – la più grande community al mondo di Data Scientist e Data Engineer – emerge come il linguaggio Python sia largamente il più utilizzato nel settore e l’ambiente interattivo di lavoro preferito sia quello offerto da Jupyterlab, l’interfaccia di seconda generazione per lavorare con i Jupyter Notebook.
Sulla base di questi elementi, il punto d’accesso principale agli ambienti di lavoro di E4 Analytics Studio è una versione customizzata di JupyterHub, necessario per fornire la multi-utenza allo stack software. Una volta autenticato, l’utente finale dispone di un’interfaccia per scegliere l’ambiente di lavoro da utilizzare a partire da una lista di immagini di container predisposti da E4 Analytics; la lista degli ambienti di lavoro può essere arricchita da immagini di container predisposte dal cliente, seguendo una semplice procedura documentata per costruire, a partire da un’immagine di base, nuove container image compatibili con l’architettura di E4 Analytics Studio.
Tutti gli ambienti di lavoro containerizzati inclusi nella versione attuale di E4 Analytics Studio supportano lo sviluppo in Python3 ed incorporano i servizi di JupyterLab, che fornisce la “User Interface” dell’intero ambiente, dalla quale è altresì possibile accedere ad una implementazione server di Visual Studio Code.
Oltre ai container di base, che includono solo l’interprete python, la versione attuale di E4 Analytics Studio offre i seguenti ambienti di lavoro:
- NVidia RAPIDS è un ambiente che offre gran parte delle API dei tipici strumenti di Data Analysis in Python (Numpy, Pandas, Scikit-learn, …), ma in versione totalmente GPU based, consentendo così di utilizzare il GPU Computing anche, ad esempio, per le attività di preparazione, trasformazione ed arricchimento dei dati, necessarie prima di utilizzare modelli specifici di Apprendimento Automatico.
- Python Dask è un ambiente per il calcolo distribuito orientato alla Data Science, che fornisce allo sviluppatore le stesse API di Numpy, Pandas e Scikit-Learn, ma in grado di utilizzare tutti i core presenti sul server.
- Tensorflow2 è una “piattaforma open source end-to-end per il Machine Learning” dotata di un ecosistema completo e flessibile di strumenti e librerie stato dell’arte nel Machine Learning;
- PyTorch è un framework ad alte prestazioni per lo sviluppo applicazioni di Deep Learning che comprende una serie di strumenti e librerie per lo sviluppo di applicazioni di Artificial Vision, di Processing del Linguaggio Naturale e di Time Series Analysis basate sul Deep Learning.
- MXnet è un framework snello, flessibile e ultra-scalabile per lo sviluppo di modelli di Deep Learning, gestito dalla Apache Software Foundation. L’ambiente di lavoro MXnet include anche i moduli Gluon ad alte prestazioni per Computer Vision, NLP ed Analisi delle Serie Temporali.
- Holoviz è un ambiente per la visualizzazione avanzata dei dati, con il supporto, ove necessario, delle GPU; questo ambiente integra anche strumenti per navigare i dati e per lo sviluppo rapido di dashboard per la fruizione dei risultati dell’analisi.
Oltre ai moduli e framework specifici, tutti gli ambienti di lavoro integrati in E4 Analytics Studio offrono i seguenti componenti di base:
- pyData Stack (NumPy, Pandas, SciPy, Scikit-learn, Matplotlib, …), configurato per utilizzare alle massime prestazioni le CPU presenti sul Server. Ai moduli di base di pyData, sono poi aggiunti Numba e Cython, per l’ottimizzazione del codice python non vettorizzabile tramite NumPy;
- MLflow e Papermill, per gestire il ciclo di vita di esperimenti di Machine Learning e eseguire workload basati su Notebook parametrizzati;
- Plotly-Dash e Streamlit per lo sviluppo rapido in Python di Dashboard di accesso ai risultati dell’analisi
Indipendentemente dall’ambiente di lavoro selezionato, la home directory del container è sempre mappata su una porzione della home directory dell’utente sul server, in modo da garantire la data persistency ai container stessi. Inoltre, è possibile configurare E4 Analytics Studio in modo che ogni utente possa anche accedere, da ogni container, ad un’area dati condivisa, anch’essa permanente, ospitata su una directory del file system del server.
Naturalmente gli ambienti di lavoro containerizzati di E4 Analytics Studio possono essere utilizzati non solo via web con le modalità appena descritte, ma anche da CLI dopo una connessione ssh sul server host o da un client esterno che supporti lo sviluppo remoto attraverso il protocollo ssh (Visual Studio Code Client, PyCharm, …).
Le funzionalità uniche di GAIA: cosa la distingue dalla concorrenza!
GAIA è una soluzione pronta all’uso e ad alte prestazioni, per lo sviluppo, il testing ed il deployment di applicazioni di Data Analytics, Machine Learning e Deep Learning scalabili.
High Performance Appliance: grazie ad un’accurata selezione dei componenti Hardware e all’integrazione di un ambienti software disegnato per utilizzare al meglio le risorse hardware sottostanti, GAIA è la soluzione ideale per rendere privo di ostacoli il viaggio verso le tecnologie del Data Analytics e dell’Apprendimento Automatico, la strada maestra per estrarre valore dalla enorme mole di dati oggi disponibile.
AI Open Platform: E4 Analytics Studio, lo stack software di GAIA, è un’architettura aperta, concepita per integrare nel modo più semplice e veloce possibile gli enormi progressi che stanno caratterizzando l’evoluzione delle tecnologie del Big Data Analytics e del Machine Learning in questi anni. Il Team di E4 Analytics aggiorna lo stack software di GAIA almeno 2 volte all’anno, non solo per un upgrade degli ambienti esistenti, ma anche integrando le innovazioni più significative prodotte dalla community open-source del settore. L’architettura modulare di E4 Analytics Studio consente all’end-user sia d’integrare immagini di container self-made, che d’utilizzare in GAIA immagini scaricate da Docker Hub (il più utilizzato repository di container pronti all’uso) o NVidia GPU Cloud (il repository specializzato per il GPU Computing, mantenuto direttamente da NVidia)
Enhanced User Experience: E4 Analytics Studio è specificatamente disegnato per le esigenze di Data Scientist e Data Engineer, non solo perché i suoi container attivano i servizi di Jupyterlab in ambiente Python, ma anche per la configurazione specifica dell’ambiente interattivo. Solo per fare un esempio, in tutti gli ambienti di lavoro disponibili, Jupyterlab è sempre configurato per offrire funzionalità di completamento automatico e di accesso alla documentazione attraverso i servizi di Language Server Protocol e sono integrate le estensioni necessarie per utilizzare strumenti di version control del codice o per monitorare l’utilizzo delle risorse di calcolo disponibili sul server host.
Va detto però che non tutti i professionisti dell’analisi dati amano utilizzare l’interfaccia dei Jupyter Notebook e, per loro, E4 Analytics Studio integra anche la versione server di Visual Studio Code, da cui è possibile accedere a efficienti funzionalità di completamento automatico del codice e a potenti strumenti di visual debugging.
Nota: su richiesta, è possibile integrare in E4 Analytics Studio anche strumenti per lo sviluppo in linguaggio R, corredati da librerie e framework specifici per Data Analysis, Machine Learning e Deep Learning, nonché da ambienti interattivi specifici come RStudio.
GAIA 1.2: specifiche tecniche
E4 GAIA monta il sistema operativo Ubuntu Linux Server 18.04 o 20.04, su cui, oltre ai servizi necessari per l’accesso in ssh, sono installati solo il driver Nvidia ed i pacchetti necessari per utilizzare container Docker con supporto per le GPU Nvidia stesse. Su richiesta è possibile configurare il sistema con sistema operativo RedHat Enterprise Linux.
NVidia Cuda: versioni 10 e 11
Python: versioni 3.7 e 3.8
JupyterHub: versione 1.3
JupyterLab: versione 3.0.14
NVidia RAPIDS: versione 0.19
Python Dask: versione 2021.04
Tensorflow: versione 2.4.1
pyTorch: versione 1.8.1
MXnet: versione 1.8.0
Holoviz: versione 0.11
GPU Appliance