
Come scrivere codice che ridimensioni e acceleri il tuo lavoro come data scientist o ingegnere di machine learning.
Quando ero un Data Scientist junior, il mio obiettivo era scrivere codice che funzionasse semplicemente.
Vedevo Python come un framework per eseguire solo Pandas, Numpy o Matplotlib. Ho iniziato come tutti gli altri in un Jupyter Notebook, elaborando i dati e i modelli di training cella per cella.
Ricordo il mio primo lavoro in un'azienda.
Man mano che il progetto procedeva, il taccuino cresceva e, nonostante fornisse spiegazioni con riduzioni, il codice cominciò a diventare confuso.
Il primo modello è stato finalmente addestrato, le sue prestazioni valutate e spedite in produzione con l'aiuto degli sviluppatori.
Tuttavia, come qualsiasi progetto di machine learning, l'implementazione di un modello non è la fine del viaggio ma l'inizio…
Diverse settimane dopo, ho dovuto ricominciare da capo e rivisitare il taccuino. Ad essere onesti, è stato quasi più semplice creare un nuovo taccuino. I requisiti erano cambiati. Il codice era troppo confuso per tentare qualsiasi modifica.
Inoltre, spedire l’algoritmo di elaborazione alla produzione è stato un compito arduo. I dati dovevano essere elaborati in modo identico nel notebook, nella pipeline di addestramento e in quella di inferenza.
La necessità di scrivere il codice tre volte significava che qualsiasi modifica nel notebook richiedeva corrispondenti modifiche nelle diverse pipeline, aumentando la probabilità di introdurre bug.
Fare Machine Learning in questo momento è stato doloroso per me.
Fino a quando non ho iniziato ad applicare le migliori pratiche dell'ingegnere del software.
Il mio codice, il mio rapporto con i miei colleghi e la mia efficienza nella fornitura di pipeline ML sono migliorati in modo significativo.
Una di queste migliori pratiche riguardava l'utilizzo Principi SOLIDI.
Probabilmente ti sei riconosciuto nella mia storia.
Non preoccuparti: non sei solo.
Fonte: towardsdatascience.com