Di seguito condividiamo l’articolo di Jeremy Eder, Distinguished Engineer, Red Hat – Ricardo Martinelli de Oliveira, MLOps Senior Software Engineer, Red Hat eYuan Tang, Principal Engineer, Red Hat nel quale viene spiegato come, attraverso lo strumento Open Dat Hub, Red Hat supporta progetti open source dedicati a dati e all’AI/ML quali Kubeflow e KServe.
Buona lettura!
L’AI open source di Red Hat: il nostro percorso nella community
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, uno 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, 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 sulla community non solo per contribuire al codice, ma anche per 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à.
Il lancio di Kubeflow 1.9
Dopo essere entrato a far parte della community, Ricardo Martinelli, senior software engineer di Red Hat, si è offerto di lavorare al lancio di Kubeflow 1.9 come release manager, operando 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, 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.
- Pipeline di Kubeflow – Red Hat ha anche iniziato a lavorare per Kubeflow Pipelines 2.0, facilitando l’aggiornamento ad Argo Workflows 3.4, risolvendo i problemi relativi alla sicurezza e alle licenze di MinIO e sviluppando 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. 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 cui l’aggiunta dei runtime HuggingFace e vLLM out-of-the-box, il runtime explainer collegabile, miglioramenti e correzioni di bug alla modalità RawDeployment, l’ottimizzazione dei CRD KServe sovradimensionati, lo sfruttamento della sicurezza, il miglioramento del processo di rilascio e altro ancora. 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 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. 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, e 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 che 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, e 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 per costruire insieme un software migliore. Ci auguriamo molti anni di continui successi e ringraziamo la comunità Kubeflow per averci accolto a braccia aperte.
Di Jeremy Eder, Distinguished Engineer, Red Hat – Ricardo Martinelli de Oliveira, MLOps Senior Software Engineer, Red Hat – Yuan Tang, Principal Engineer, Red Hat