Prácticas recomendadas de Ingeniería de Software para escribir código de aprendizaje automático (ML) mantenible
Prácticas recomendadas de Ingeniería de Software para código de ML mantenible
![Un científico de datos perdido en un bosque lleno de código. Relacionado con el segundo y último consejo. Imagen creada con Midjourney por el autor.](https://miro.medium.com/v2/resize:fit:640/format:webp/1*p-AlxEOrzOctBpf7wpDZdA.png)
Consejos avanzados de codificación para científicos de datos
A diferencia de los proyectos tradicionales de ingeniería de software, las bases de código de ML tienden a quedarse rezagadas en cuanto a calidad del código debido a su naturaleza compleja y en constante evolución, lo que lleva a un aumento de la deuda técnica y dificultades en la colaboración. Priorizar la mantenibilidad es importante para crear soluciones de ML robustas que puedan adaptarse, escalar y ofrecer valor a lo largo del tiempo.
En los últimos años, el aprendizaje automático ha causado sensación en todo el mundo, transformando industrias desde la salud hasta las finanzas y más. A medida que más organizaciones se suman a la ola del ML para descubrir nuevas posibilidades e ideas, la importancia de escribir código de ML mantenible y robusto se vuelve crucial. Al crear código de ML que sea fácil de trabajar y que resista el paso del tiempo, los equipos pueden colaborar mejor y garantizar el éxito a medida que los modelos y los proyectos crecen y se adaptan. La siguiente sección mostrará ejemplos comunes de bases de código de ML y explicará cómo manejarlos adecuadamente.
No crees monolitos
Este consejo probablemente no sea relevante para ti, ¡pero está escrito para la persona que no está al tanto de esto (hasta ahora)!
Los scripts monolíticos, también conocidos como un solo script para todo el proyecto, pueden surgir cuando reutilizas tu código experimental en producción. ¡Copiar, pegar, listo! Siempre es una mala idea crear un solo script para un proyecto. Es difícil de leer (incluso para el autor), difícil de depurar e ineficiente. No puedes agregar fácilmente nuevas características o modificar el código, porque cada vez tiene que ejecutarse todo. También es imposible agregar pruebas unitarias, porque el monolito es “la unidad completa”.
- Serie de Aprendizaje No Supervisado Explorando Mapas Autoorganizados
- Las 10 mejores LLM de código abierto para utilizar en tu próxima solicitud de LLM
- Aprendizaje Automático de Grafos @ ICML 2023
Otro problema con un solo script es la reutilización. No puedes reutilizar el código en otros proyectos, porque es tan difícil de leer.
Solo hay una razón para escribir un monolito; y es si no te gusta el colega que se hará cargo de tu trabajo. Si quieres frustrar a esa persona, es una forma fácil de lograrlo.
¿Qué hacer en su lugar? Escribe módulos y clases. Crea diferentes archivos de código que tengan un propósito específico. Cada archivo debe contener funciones o clases y métodos. Al hacer esto, el código se vuelve mucho más fácil de leer, depurar, reutilizar y probar. En el siguiente…
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Explorando el lenguaje de programación Julia MongoDB
- Diferenciabilidad de una Función Dada su Gráfica
- Cómo yo, como estudiante, utilizo ChatGPT para aumentar mi productividad en un 10x
- Una nueva investigación de IA introduce MONAI Generative Models una plataforma de código abierto que permite a investigadores y desarrolladores entrenar, evaluar e implementar fácilmente modelos generativos.
- El Inspirador Viaje de un Pionero de Google
- Almacenamiento en caché de LLMs generativos | Ahorro en costos de API
- Desglosando el Índice de Gini Cómo la Economía inspiró el Aprendizaje Automático