Organizzare un Monorepo di Machine Learning con Pants

Organizzare un Monorepo di Machine Learning con Pants' - 'Organize a Machine Learning Monorepo with Pants

MLOps

Ottimizza la gestione del tuo flusso di lavoro di machine learning

Hai mai copiato e incollato porzioni di codice di utilità tra progetti, risultando in versioni multiple dello stesso codice in diversi repository? O forse, hai dovuto fare richieste di pull a decine di progetti dopo che il nome del bucket GCP in cui memorizzi i tuoi dati è stato aggiornato?

Le situazioni descritte sopra si presentano troppo spesso nei team di machine learning e le loro conseguenze variano dall’annoiamento di un singolo sviluppatore all’incapacità del team di distribuire il proprio codice come richiesto. Fortunatamente, c’è una soluzione.

Immergiamoci nel mondo dei monorepo, un’architettura ampiamente adottata dalle principali aziende tecnologiche come Google, e come possono migliorare i tuoi flussi di lavoro di machine learning. Un monorepo offre una moltitudine di vantaggi che, nonostante alcuni svantaggi, lo rendono una scelta convincente per la gestione di ecosistemi di machine learning complessi.

Discuteremo brevemente i meriti e i demeriti dei monorepo, esamineremo perché è una scelta architetturale eccellente per i team di machine learning e daremo uno sguardo a come le Big Tech lo utilizzano. Infine, vedremo come sfruttare il potere del sistema di compilazione Pants per organizzare il tuo monorepo di machine learning in un solido sistema di compilazione CI/CD.

Preparati mentre intraprendiamo questo viaggio per ottimizzare la gestione del tuo progetto di machine learning.

Questo articolo è stato pubblicato per la prima volta sul blog di neptune.ai.

Cos’è un monorepo?

Machine Learning Monorepo. Image by the author, via neptune.ai.

Un monorepo (abbreviazione di repository monolitico) è una strategia di sviluppo software in cui il codice per molti progetti è memorizzato nello stesso repository. L’idea può essere ampia come tutto il codice aziendale scritto in una varietà di linguaggi di programmazione memorizzati insieme (qualcuno ha detto Google?) o ristretta come un paio di progetti Python sviluppati da un piccolo team inseriti in un singolo repository.

In questo articolo del blog, ci concentriamo su repository che memorizzano codice di machine learning.

Monorepo vs. polyrepo