Open Data Hub Red Hat per i progetti di Kubeflow

Nell’ultimo anno Red Hat ha aumentato il proprio coinvolgimento su Kubeflow.

intelligenza artificiale

Jeremy Eder (Distinguished Engineer), Ricardo Martinelli de Oliveira (MLOps Senior Software Engineer) e Yuan Tang (Principal Engineer) di Red Hat raccontano Open Data Hub, dedicato a progetti open source pensati per i dati e l’AI/ML.

Nel corso degli anni, Red Hat è stata coinvolta in numerosi progetti relativi all’AI e ai dati. E, sebbene molti di essi supportino il processo di modernizzazione, nessuno ha finora descritto l’intero percorso dell’utente per portare intelligenza artificiale (AI) e apprendimento automatico (ML) in produzione. Per questo motivo abbiamo lanciato Open Data Hub, strumento che aiuta a sviluppare e supportare progetti open source dedicati ai dati e all’AI/ML, come Kubeflow e KServe.

Open Data Hub e Kubeflow

Open Data Hub ha avuto inizio come un semplice operatore che distribuiva software AI/ML e dati su cluster Red Hat OpenShift con un certo livello di integrazione. Tuttavia, quando abbiamo iniziato a incontrare limiti a livello di supportabilità, ci siamo rivolti a Kubeflow. Ovvero un nuovo progetto incentrato sulla semplificazione e scalabilità delle distribuzioni di carichi di lavoro ML su Kubernetes. Riscrivendo Open Data Hub sul codice Kubeflow, siamo stati in grado di creare una nuova matrice di funzionalità di supporto.  Nell’ultimo anno Red Hat ha aumentato il proprio coinvolgimento su Kubeflow non solo per contribuire al codice. Infatti ha contribuito anche ad aiutare la community a raggiungere livelli più elevati di maturità e di adozione da parte degli utenti. Qui di seguito è riportata una panoramica del lavoro che Red Hat attualmente sta svolgendo nella comunità Kubeflow.

Il lancio di Kubeflow 1.9

Dopo essere entrato a far parte della community Kubeflow, Ricardo Martinelli, senior software engineer di Red Hat, si è offerto di lavorare al lancio di Kubeflow 1.9 come release manager. Ha operato insieme agli altri collaboratori della community per creare una roadmap. Di conseguenza, Red Hat ha contribuito con diverse funzionalità a Kubeflow 1.9.

Modello di registro

Rappresenta una funzionalità molto richiesta e uno dei contributi principali di Red Hat a Kubeflow 1.9. Il registro dei modelli si integra con le pipeline e i componenti di servizio di Kubeflow per creare un catalogo di artefatti. Catalogo che comprende modelli, dataset, metriche e altro, e distribuire i relativi modelli dallo storage. Altre funzionalità chiave includono la distribuzione di grafici operatore/helm, RBAC, multi-tenancy e altre ancora. Per supportare la nuova feature di registro dei modelli, la comunità Kubeflow ha sviluppato un nuovo gruppo di lavoro.

intelligenza artificiale

Pipeline di Kubeflow

Red Hat ha anche iniziato a lavorare per Kubeflow Pipelines 2.0, facilitando l’aggiornamento ad Argo Workflows 3.4. Risolvendo così i problemi relativi alla sicurezza e alle licenze di MinIO. Oltre a sviluppare miglioramenti delle prestazioni in entrambe le implementazioni di Argo e Tekton.

Kubeflow Notebooks 2.0

Con il lancio di Kubeflow 1.9, la community ha deciso di avviare i suoi piani di sviluppo per Kubeflow Notebooks 2.0, che prevede una nuova serie di definizioni di risorse personalizzate (Workspace e WorkspaceKind). Queste CRD forniscono all’amministratore maggiore controllo sugli spazi di lavoro, compresa la possibilità di aggiornare la configurazione di un notebook esistente.

Open Data Hub Red Hat

Il progetto è stato avviato nella fase di pianificazione all’inizio del 2024 e il gruppo di lavoro “Notebooks” ne sta guidando l’architettura. Gli ingegneri di Red Hat Andriana Theodorakopoulou, Ramakrishna Pattnaik, Jiri Petrlik e Harshad Reddy Nalla stanno sviluppando il documento di progettazione e puntano a futuri contributi di codice.

KServe

KServe è diventato un progetto autonomo dopo l’incubazione in Kubeflow. La comunità di KServe ha lavorato a stretto contatto con quella di Kubeflow, come parte del gruppo di lavoro Kubeflow serving, per integrare i due progetti. Sviluppando al contempo la crescente community di KServe, e promuovendo funzionalità innovative. Abbiamo lavorato a stretto contatto con la loro comunità guidando le attività in varie aree. Tra queste l’aggiunta dei runtime HuggingFace e vLLM out-of-the-box, il runtime explainer collegabile, miglioramenti e correzioni di bug alla modalità RawDeployment. E ancora: l’ottimizzazione dei CRD KServe sovradimensionati, lo sfruttamento della sicurezza, il miglioramento del processo di rilascio, e altro. Edgar Hernandez Garcia, Jooho Lee, Filippe Spolti e Yuan Tang sono tra i principali collaboratori di KServe di Red Hat. In particolare, Yuan Tang e Edgar Hernandez Garcia sono stati recentemente promossi a Reviewer di KServe.

Quali sono i prossimi sviluppi di Kubeflow?

Red Hat e altri membri della community stanno lavorando per sviluppare Kubeflow in un progetto certificato dalla Cloud Native Computing Foundation (CNCF). Alcuni dei requisiti per tale qualifica includono una revisione dei materiali al fine di soddisfare i requisiti di certificazione CNCF, tra cui la sicurezza e la policy IP. I team di sicurezza dei prodotti e dell’open source program di Red Hat collaborano strettamente con la comunità Kubeflow.

Questo per affrontare questioni relative ai processi di vulnerabilità della sicurezza quando si presentano all’interno dei componenti di Kubeflow. Ad esempio per evitare di rilasciare applicazioni di Kubeflow con CVE non gestite, proponendo l’uso di scanner di sicurezza e un flusso di lavoro per risolvere queste falle.

Open Data Hub Red Hat

In parallelo, il product security team di Red Hat sta lavorando sulla redazione di linee guida generali sulle azioni da intraprendere quando viene segnalato un problema di sicurezza. Un’altra area in cui Red Hat sta contribuendo a Kubeflow è quella della governance, in particolare quando è stato avviato il processo di certificazione CNCF. Fin dall’inizio dei nostri interventi nel progetto, Red Hat sapeva che l’idea di una “distribuzione certificata” sarebbe stata un argomento rilevante da affrontare.

E con il nuovo Comitato Direttivo e il processo di Certificazione del CNCF in corso, Kubeflow potrebbe rivedere il progetto di creare un test di conformità per certificare le sue distribuzioni. C’è ancora molto lavoro da fare in Kubeflow per ottenere la qualifica CNCF. Red Hat si impegna a contribuire ancora di più per raggiungere questo obiettivo.

Kubeflow e Google Summer of Code

In seguito al nostro impegno verso la comunità di Kubeflow e alla nostra esperienza di lavoro su progetti open-source, siamo intervenuti per creare una proposta per conto della comunità Kubeflow alla Google Summer of Code. Abbiamo presentato progetti in collaborazione con altri contributori di Kubeflow. I progetti riguardavano lo sviluppo di API LLM, problemi Github e triage PR, compiti di documentazione e molti altri. Red Hat partecipa al Google Summer of Code da diversi anni, lavorando su numerosi progetti middleware.

Una partnership che sta dando frutti

Questa esperienza ci ha portato a ottenere l’approvazione per partecipare all’evento con l’aiuto della comunità Kubeflow. Il ruolo di mentori per gli studenti e la possibilità di insegnare loro come la collaborazione open source favorisca l’innovazione e migliori la formazione e la carriera con un’esperienza di sviluppo reale è particolarmente entusiasmante. L’impegno di Red Hat nella comunità Kubeflow e la relazione che si è creata nel tempo rappresenta un esempio di come le community possano collaborare. Una collaborazione importante per costruire insieme un software migliore. Ci auguriamo molti anni di continui successi e ringraziamo la comunità Kubeflow per averci accolto a braccia aperte.