Cómo escribir código que escale y acelere su trabajo como científico de datos o ingeniero de aprendizaje automático.
Cuando era científico de datos junior, mi objetivo era escribir código que simplemente funcionara.
Solía ver Python como un marco para ejecutar Pandas, Numpy o Matplotlib únicamente. Comencé como todos en un Jupyter Notebook, procesando los datos y entrenando modelos celda por celda.
Recuerdo mi primer trabajo en una empresa.
A medida que avanzaba el proyecto, el cuaderno crecía y, a pesar de proporcionar explicaciones con rebajas, el código empezó a complicarse.
Finalmente se entrenó el primer modelo, se evaluó su rendimiento y se envió a producción con la ayuda de los desarrolladores.
Sin embargo, como cualquier proyecto de Machine Learning, implementar un modelo no es el final del viaje sino el comienzo…
Varias semanas después, tuve que empezar de nuevo y revisar el cuaderno. Para ser honesto, fue casi más fácil crear un nuevo cuaderno. Los requisitos habían cambiado. El código era demasiado complicado para intentar realizar modificaciones.
Además, enviar el algoritmo de procesamiento a producción fue una tarea dolorosa. Los datos debían procesarse de manera idéntica en el cuaderno, en el proceso de capacitación y en el proceso de inferencia.
La necesidad de escribir el código tres veces significaba que cualquier modificación en el cuaderno requería los cambios correspondientes en los diferentes pipelines, aumentando la probabilidad de introducir errores.
Hacer Machine Learning en ese momento fue doloroso para mí.
Hasta que comencé a aplicar las mejores prácticas de Ingeniero de Software.
Mi código, mi relación con mis colegas y mi eficiencia en la entrega de canales de ML mejoraron significativamente.
Una de esas mejores prácticas fue usar Principios SÓLIDOS.
Probablemente te reconociste en mi historia.
No te preocupes, no estás solo.