Il futuro è arrivato, le tecnologie dell'intelligenza artificiale e del machine learning sono già utilizzate con successo dai tuoi negozi preferiti, dalle compagnie di trasporti e persino dalle fattorie che allevano tacchini.

E se qualcosa esiste, allora su internet c'è già... un progetto aperto! Scopri come Open Data Hub aiuta a scalare nuove tecnologie ed evitare difficoltà nella loro implementazione.
Nonostante tutti i vantaggi dell'intelligenza artificiale (artificial Intelligence, AI) e del machine learning (machine learning, ML), le organizzazioni si trovano spesso ad affrontare difficoltà nella scalabilità di queste tecnologie. I principali problemi sono solitamente i seguenti:
- Scambio di informazioni e collaborazione – scambiare informazioni senza sforzi e collaborare in modalità di iterazioni rapide è praticamente impossibile.
- Accesso ai dati – per ogni compito deve essere ricostruito manualmente, il che richiede molto tempo.
- Accesso on demand – non è possibile ottenere accesso on-demand agli strumenti e alla piattaforma di machine learning, così come all'infrastruttura di calcolo.
- Produzione – i modelli rimangono in fase di prototipo e non vengono portati in produzione.
- Monitoraggio e spiegazione dei risultati del lavoro AI – la riproducibilità, il monitoraggio e la spiegazione dei risultati AI/ML sono difficoltosi.
Se non risolti, questi problemi influiscono negativamente sulla velocità, sull'efficienza e sulla produttività degli specialisti preziosi nell'elaborazione e nell'analisi dei dati. Questo porta alla loro frustrazione, alla delusione sul lavoro e, in ultima analisi, le aspettative del business riguardo all'AI/ML si vanificano.
La responsabilità per risolvere questi problemi ricade sugli specialisti IT, che devono fornire ai data analyst – giusto, qualcosa di simile a un cloud. Se vogliamo essere più dettagliati, necessitiamo di una piattaforma che offra libertà di scelta e abbia un accesso comodo e semplice. Deve essere veloce, facilmente riconfigurabile, scalabile on demand e resistente ai guasti. Costruire tale piattaforma su tecnologie open source aiuta a non cadere in dipendenza da vendor e a mantenere un vantaggio strategico a lungo termine nel controllo dei costi.
Qualche anno fa, qualcosa di simile stava accadendo nello sviluppo di applicazioni e ha portato alla nascita dei microservizi, di ambienti cloud ibridi, dell'automazione IT e dei processi agile. Per gestire tutto ciò, gli specialisti IT hanno iniziato a utilizzare container, Kubernetes e cloud ibridi aperti.
Ora questa esperienza viene applicata per rispondere alle sfide dell'intelligenza artificiale. Pertanto, gli specialisti IT stanno creando piattaforme basate su container che consentono di sviluppare servizi AI/ML nell'ambito dei processi agile, accelerano l'innovazione e sono progettate per il cloud ibrido.

Costruiremo tale piattaforma partendo da Red Hat OpenShift, la nostra piattaforma container Kubernetes per il cloud ibrido, che ha un ecosistema in rapida crescita di soluzioni software e hardware per il ML (NVIDIA, H2O.ai, Starburst, PerceptiLabs, ecc.). Alcuni dei clienti di Red Hat, come BMW Group, ExxonMobil e altri, hanno già implementato catene di strumenti ML containerizzati e processi DevOps basati su questa piattaforma e il suo ecosistema, per portare le loro architetture ML in modalità di produzione industriale e accelerare il lavoro degli analisti di dati.
Un'altra ragione 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 basata sulla piattaforma OpenShift.
Progetto Open Data Hub
Si tratta di un progetto open source che si sviluppa all'interno della comunità di sviluppo pertinente e realizza l'intero ciclo di operazioni, dalla carreggiata e trasformazione dei dati iniziali fino alla creazione, addestramento e supporto del modello, affrontando le sfide AI/ML tramite container e Kubernetes sulla piattaforma OpenShift. Questo progetto può essere visto come un'implementazione di riferimento, un esempio di come costruire una soluzione aperta di tipo "AI/ML come servizio" basata su OpenShift e sugli strumenti open source pertinenti, come Tensorflow, JupyterHub, Spark e altri. È importante notare che Red Hat stessa utilizza questo progetto per fornire i propri servizi AI/ML. Inoltre, OpenShift si integra con le principali soluzioni software e hardware per il ML di NVIDIA, Seldon, Starburst e altri fornitori, facilitando la costruzione e l'avvio di sistemi di apprendimento automatico personalizzati.

Il progetto Open Data Hub è rivolto alle seguenti categorie di utenti e scenari di utilizzo:
- Data analyst che necessita di una soluzione per implementare progetti di ML organizzata come un servizio cloud con funzioni di self-service.
- Data analyst che ha bisogno della massima scelta tra la vasta gamma di strumenti e piattaforme AI/ML open source più recenti.
- Data analyst che necessita di accesso a fonti di dati per l'addestramento dei modelli.
- Data analyst che richiede accesso a risorse computazionali (CPU, GPU, memoria).
- Data analyst che ha bisogno della possibilità di collaborare e condividere i risultati con i colleghi, ricevere feedback e apportare miglioramenti mediante iterazioni rapide.
- Data analyst che desidera interagire con sviluppatori (e team devops) affinché i suoi modelli ML e risultati vengano messi in produzione.
- Ingegnere dei dati che deve garantire l'accesso della data analytics a diverse fonti di dati nel rispetto delle norme e dei requisiti di sicurezza.
- Amministratore/operatori di sistemi IT che ha bisogno della possibilità di monitorare senza sforzi il ciclo di vita (installazione, configurazione, aggiornamento) di componenti e tecnologie open source. Sono inoltre necessari strumenti di gestione e quotazione appropriati.
Il progetto Open Data Hub riunisce una serie di strumenti open source per l'implementazione dell'intero ciclo delle operazioni AI/ML. Jupyter Notebook è lo strumento di lavoro principale per i data analyst. Questo strumento è oggi molto popolare tra gli specialisti dell'elaborazione e analisi dei dati, e Open Data Hub consente loro di creare e gestire facilmente gli ambienti di lavoro Jupyter Notebook, utilizzando JupyterHub integrato. Oltre alla creazione e all'importazione dei notebook Jupyter, il progetto Open Data Hub contiene anche una serie di notebook già pronti sotto forma di biblioteca AI Library.
Questa libreria è una collezione di componenti open-source per l'apprendimento automatico e soluzioni per scenari tipici, che semplificano il rapido prototipaggio. JupyterHub è integrato con il modello di accesso RBAC di OpenShift, permettendo di utilizzare gli account OpenShift esistenti e implementare un accesso unico al sistema. Inoltre, JupyterHub offre un'interfaccia utente comoda chiamata spawner, tramite la quale l'utente può facilmente configurare la quantità di risorse computazionali (nuclei della CPU, memoria, GPU) per il Jupyter Notebook scelto.
Dopo che l'analista dei dati ha creato e configurato il notebook, tutte le altre preoccupazioni riguardanti esso vengono gestite dal pianificatore Kubernetes, che fa parte di OpenShift. Gli utenti devono solo eseguire i propri esperimenti, salvare e condividere i risultati del proprio lavoro. Inoltre, gli utenti esperti possono accedere direttamente alla shell CLI di OpenShift direttamente dai notebook Jupyter, per interagire con i primitivi Kubernetes, come Job, o con le funzionalità di OpenShift, come Tekton o Knative. In alternativa, si può utilizzare l'interfaccia grafica OpenShift, chiamata "console web di OpenShift".


Passando alla fase successiva, Open Data Hub consente di gestire i pipeline di dati. A tal fine viene utilizzato un oggetto Ceph, fornito sotto forma di storage a oggetti compatibile con S3. Apache Spark fornisce lo streaming dei dati da fonti esterne o dallo storage integrato Ceph S3, consentendo anche di eseguire trasformazioni preliminari dei dati. Apache Kafka offre gestione avanzata dei pipeline di dati (dove è possibile eseguire caricamenti multipli, oltre a operazioni di trasformazione, analisi e salvataggio dei dati).
Quindi, l'analista dei dati ha avuto accesso ai dati e ha costruito un modello. Ora desidera condividere i risultati ottenuti con i colleghi o gli sviluppatori di applicazioni, offrendo loro il proprio modello secondo la logica di servizio. A tal fine è necessario un server di output, e Open Data Hub dispone di tale server, chiamato Seldon, che consente di pubblicare il modello come servizio RESTful.
A un certo punto, su un server Seldon, ci sono più modelli e si manifesta la necessità di monitorare come vengono utilizzati. Per questo, Open Data Hub offre una raccolta di metriche pertinenti e un motore di report basato su strumenti di monitoraggio open source ampiamente utilizzati, come Prometheus e Grafana. Di conseguenza, otteniamo un riscontro per monitorare l'uso dei modelli AI, in particolare nell'ambiente di produzione.

In questo modo, Open Data Hub fornisce un approccio cloud-like durante tutto il ciclo delle operazioni AI/ML, dall'accesso e preparazione dei dati fino all'addestramento e all'implementazione industriale del modello.
Mettiamo tutto insieme
Ora sorge la domanda su come organizzare tutto ciò per l'amministratore 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, incluso il dispiegamento 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 degli operatori comunitari. In questo modo, l'amministratore di OpenShift può specificare che i progetti OpenShift pertinenti rientrano nella categoria "progetto Open Data Hub". Questo viene fatto una sola volta. Dopodiché, l'analista dati accede al proprio spazio di progetto tramite la console web di OpenShift e vede che per i suoi progetti è installato e disponibile l'operatore Kubernetes corrispondente. Può quindi creare un'istanza del progetto Open Data Hub con un clic e avere immediatamente accesso agli strumenti descritti sopra. E tutto questo può essere configurato in modalità ad alta disponibilità e resilienza.

Se desideri provare il progetto Open Data Hub con le tue mani, inizia con . I dettagli tecnici dell'architettura di Open Data Hub possono essere trovati , i piani di sviluppo del progetto - . In futuro, è prevista un'ulteriore integrazione con Kubeflow, la risoluzione di varie questioni relative alla regolamentazione dei dati e alla sicurezza, e l'organizzazione dell'integrazione con sistemi basati su regole Drools e Optaplanner. Puoi esprimere la tua opinione e diventare parte del progetto nella pagina .
In sintesi: seri problemi di scalabilità impediscono alle organizzazioni di sfruttare appieno il potenziale dell'intelligenza artificiale e del machine learning. Red Hat OpenShift è da tempo usato con successo per risolvere 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 organizzare l'intero ciclo operativo dell'AI/ML su cloud ibrido OpenShift. Abbiamo un piano di sviluppo chiaro e ben concepito per questo progetto, e siamo seriamente intenzionati a creare attorno ad esso una comunità di sviluppo attiva e proficua per soluzioni AI open source sulla piattaforma OpenShift.
Fonte: habr.com
