Il futuro è arrivato, le tecnologie di intelligenza artificiale e apprendimento automatico sono già utilizzate con successo dai vostri negozi, aziende di trasporto e persino dalle fattorie che allevano tacchini.

E se qualcosa esiste, significa che c'è già... un progetto aperto su Internet! Scoprite come Open Data Hub aiuta a scalare nuove tecnologie e a evitare difficoltà nella loro implementazione.
Nonostante i vantaggi dell'intelligenza artificiale (artificial Intelligence, AI) e dell'apprendimento automatico (machine learning, ML), le organizzazioni spesso incontrano difficoltà nell'integrare queste tecnologie. Le principali problematiche sono generalmente le seguenti:
- Scambio di informazioni e collaborazione – è praticamente impossibile scambiare informazioni senza sforzi e collaborare in modalità di rapide iterazioni.
- Accesso ai dati – per ogni compito deve essere creato manualmente e da zero, il che richiede molto tempo.
- Accesso on demand – non c'è modo di avere accesso on-demand a strumenti e piattaforme di apprendimento automatico, nonché all'infrastruttura computazionale.
- Produzione – i modelli rimangono a livello di prototipo e non vengono portati in produzione.
- Monitoraggio e spiegazione dei risultati dell'AI – la riproducibilità, il monitoraggio e la spiegazione dei risultati AI/ML sono problematici.
Se non affrontate, queste problematiche influenzano negativamente la velocità, l'efficienza e la produttività dei preziosi specialisti nella gestione e analisi dei dati. Questo porta a frustrazione, insoddisfazione lavorativa e, alla fine, le aspettative aziendali riguardo a AI/ML vengono vanificate.
La responsabilità di affrontare queste problematiche ricade sugli specialisti IT, che devono fornire ai data analyst – correttamente, qualcosa come un cloud. In termini più ampi, è necessaria una piattaforma che offra libertà di scelta e accesso comodo e semplice. Deve essere veloce, facilmente riconfigurabile, scalabile a richiesta e resistente ai guasti. Costruire tale piattaforma usando tecnologie open source aiuta a non diventare dipendenti dai fornitori e mantenere un vantaggio strategico a lungo termine in termini di controllo dei costi.
Qualche anno fa, qualcosa di simile è accaduto nello sviluppo delle applicazioni, portando alla nascita dei microservizi, degli ambienti cloud ibridi, dell'automazione IT e dei processi agili. Per affrontare tutto ciò, gli specialisti IT hanno iniziato a utilizzare contenitori, Kubernetes e cloud ibridi aperti.
Ora questa esperienza viene applicata per rispondere alle sfide dell'AI. Pertanto, gli specialisti IT stanno creando piattaforme basate su contenitori che consentono di sviluppare servizi AI/ML all'interno di processi agili, accelerano l'innovazione e sono progettate per il cloud ibrido.

Inizieremo a costruire tale piattaforma con Red Hat OpenShift, la nostra piattaforma Kubernetes per il cloud ibrido, che ha un ecosistema in rapida crescita di soluzioni ML software e hardware (NVIDIA, H2O.ai, Starburst, PerceptiLabs, ecc.). Alcuni clienti di Red Hat, come BMW Group, ExxonMobil e altri, hanno già implementato catene di strumenti ML e processi DevOps containerizzati basati su questa piattaforma e il suo ecosistema, per portare le loro architetture ML in modalità di produzione e accelerare il lavoro dei data analyst.
Un altro motivo per cui abbiamo avviato il progetto Open Data Hub è dimostrare un esempio di architettura basata su diversi progetti open source e mostrare come realizzare l'intero ciclo di vita di una soluzione ML sulla piattaforma OpenShift.
Progetto Open Data Hub
Questo è un progetto open source che si sviluppa all'interno della relativa comunità di sviluppo e implementa l'intero ciclo delle operazioni – dall'importazione e trasformazione dei dati iniziali alla creazione, formazione e manutenzione del modello – per affrontare le sfide AI/ML utilizzando contenitori e Kubernetes sulla piattaforma OpenShift. Questo progetto può essere considerato una implementazione di riferimento, un esempio di come costruire una soluzione open source di classe 'AI/ML come servizio' basata su OpenShift e strumenti open source pertinenti, come Tensorflow, JupyterHub, Spark e altri. È importante notare che Red Hat stessa utilizza questo progetto per fornire i suoi servizi AI/ML. Inoltre, OpenShift si integra con le soluzioni ML software e hardware di fornitori leader come NVIDIA, Seldon, Starburst e altri, facilitando la creazione e l'avvio di sistemi di apprendimento automatico proprietari.

Il progetto Open Data Hub è rivolto alle seguenti categorie di utenti e scenari d'uso:
- Data analyst che ha bisogno di una soluzione per implementare progetti ML organizzata come un servizio cloud con funzionalità di self-service.
- Data analyst che ha bisogno del massimo della scelta tra una vasta gamma di nuovi strumenti e piattaforme AI/ML open source.
- Data analyst che ha bisogno di accesso a fonti di dati durante l'addestramento dei modelli.
- Data analyst che ha bisogno di accesso a risorse computazionali (CPU, GPU, memoria).
- Data analyst che richiede la possibilità di collaborare e condividere i risultati con i colleghi, ricevere feedback e implementare miglioramenti tramite rapide iterazioni.
- Data analyst che desidera interagire con sviluppatori (e team DevOps) affinché i suoi modelli ML e risultati vengano messi in produzione.
- Data engineer che deve fornire agli analisti di dati accesso a una varietà di fonti di dati, rispettando norme e requisiti di sicurezza.
- Amministratore/operator IT che ha bisogno della possibilità di controllare senza sforzo il ciclo di vita (installazione, configurazione, aggiornamento) dei componenti e delle tecnologie open source. Ha bisogno anche degli strumenti di gestione e di quota appropriati.
Il progetto Open Data Hub comprende una serie di strumenti open source per la realizzazione dell'intero ciclo di operazioni AI/ML. Come principale strumento di lavoro per il data analyst si utilizza Jupyter Notebook. Questo strumento è oggi molto popolare tra gli specialisti di elaborazione e analisi dei dati, e Open Data Hub consente loro di creare e gestire facilmente aree di lavoro Jupyter Notebook, utilizzando il JupyterHub integrato. Oltre alla creazione e importazione di notebook Jupyter, il progetto Open Data Hub contiene anche una serie di notebook già pronti sotto forma di AI Library.
Questa libreria è una raccolta di componenti open source per l'apprendimento automatico e soluzioni per casi d'uso tipici, che semplificano il rapido prototipaggio. JupyterHub è integrato con il modello di accesso RBAC di OpenShift, consentendo di utilizzare gli account OpenShift esistenti e implementare un single sign-on. Inoltre, JupyterHub offre un'interfaccia utente comoda chiamata spawner, che consente all'utente di configurare facilmente la quantità di risorse computazionali (nuclei di CPU, memoria, GPU) per il Jupyter Notebook scelto.
Dopo che il data analyst ha creato e configurato il notebook, tutte le altre preoccupazioni vengono gestite dallo scheduler Kubernetes, che fa parte di OpenShift. Gli utenti possono così eseguire i propri esperimenti, salvare e condividere i risultati del proprio lavoro. Inoltre, gli utenti esperti possono accedere direttamente alla shell CLI di OpenShift dai notebook Jupyter per utilizzare i primitivi Kubernetes, come Job, o le funzionalità di OpenShift, come Tekton o Knative. In alternativa, possono utilizzare la GUI di OpenShift, chiamata 'web console di OpenShift'.


Passando alla fase successiva, Open Data Hub consente di gestire i data pipeline. A tal fine, si utilizza un oggetto Ceph, fornito come archivio oggetti compatibile con S3. Apache Spark consente il streaming dei dati da fonti esterne o dall'archivio integrato Ceph S3, nonché l'esecuzione di trasformazioni preliminari dei dati. Apache Kafka fornisce una gestione avanzata dei data pipeline, consentendo operazioni di caricamento, trasformazione, analisi e salvataggio dei dati.
Quindi, il data analyst ha accesso ai dati e ha costruito il modello. Ora desidera condividere i risultati ottenuti con i colleghi o gli sviluppatori di applicazioni, offrendo loro il proprio modello in modalità servizio. Per questo è necessario un server di output, e Open Data Hub dispone di un tale server, chiamato Seldon, che consente di pubblicare il modello come servizio RESTful.
A un certo punto, ci sono diversi modelli sul server Seldon, e nasce la necessità di monitorare come vengono utilizzati. A questo scopo, Open Data Hub offre una collezione di metriche pertinenti e un motore di report basato su strumenti di monitoraggio open source ampiamente diffusi come Prometheus e Grafana. Di conseguenza, otteniamo feedback per monitorare l'utilizzo dei modelli AI, in particolare in ambiente di produzione.

In questo modo, Open Data Hub fornisce un approccio cloud-like per l'intero ciclo di operazioni AI/ML, dall'accesso e preparazione dei dati fino all'addestramento e all'implementazione industriale del modello.
Mettiamo tutto insieme
Ora la domanda è come organizzare tutto ciò per l'amministratore di OpenShift. Ed è qui che entra in gioco un operatore Kubernetes speciale per i progetti Open Data Hub.

Questo operatore gestisce l'installazione, la configurazione e il ciclo di vita del progetto Open Data Hub, inclusa l'implementazione di strumenti come JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus e Grafana. Il progetto Open Data Hub può essere trovato nella console web di OpenShift, nella sezione operatori community. In questo modo, l'amministratore di OpenShift può impostare i relativi progetti OpenShift come appartenenti alla categoria 'progetto Open Data Hub'. Questa operazione viene effettuata una sola volta. Dopodiché, il data analyst accede al suo spazio di progetto nella console web di OpenShift e vede che il corrispondente operatore Kubernetes è installato e disponibile per i suoi progetti. Successivamente, crea un'istanza del progetto Open Data Hub con un semplice clic e ottiene immediatamente accesso agli strumenti sopra descritti. Tutto ciò può essere configurato in modalità ad alta disponibilità e tolleranza ai guasti.

Se desideri provare il progetto Open Data Hub con le tue mani, inizia con . I dettagli tecnici dell'architettura Open Data Hub possono essere trovati , i piani di sviluppo del progetto – . In futuro si prevede di implementare ulteriore integrazione con Kubeflow, risolvere alcune questioni relative alla regolamentazione dei dati e alla sicurezza, e organizzare integrazioni con sistemi basati su regole come Drools e Optaplanner. È possibile esprimere la propria opinione e diventare parte del progetto sulla pagina .
Riassumendo: seri problemi di scalabilità ostacolano le organizzazioni nel realizzare appieno il potenziale dell'intelligenza artificiale e del machine learning. Red Hat OpenShift è utilizzato da tempo con successo per affrontare problemi simili nel settore del software. Il progetto Open Data Hub, realizzato nell'ambito della comunità di sviluppo open source, offre un'architettura di riferimento per l'organizzazione del ciclo completo delle operazioni AI/ML basato sul cloud ibrido OpenShift. Abbiamo un piano chiaro e ben pensato per lo sviluppo di questo progetto e siamo seriamente intenzionati a creare intorno ad esso una comunità di sviluppo attiva e produttiva di soluzioni AI open source sulla piattaforma OpenShift.
Fonte: habr.com
