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.

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”.

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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Bots, granjas fraudulentas responsables del 73% del tráfico web

Arkose Labs informó que los ataques maliciosos realizados por bots y granjas de fraudes humanos representaron el 73% ...

Inteligencia Artificial

Resucitando a Vincent van Gogh

En el Musée d'Orsay de París, una réplica de Vincent van Gogh conversa con los visitantes, ofreciendo ideas sobre su ...

Inteligencia Artificial

Un nuevo estudio de investigación de IA de Stanford explica el papel de las expresiones de exceso de confianza e incertidumbre en los modelos de lenguaje

A medida que los sistemas de lenguaje natural se vuelven cada vez más prevalentes en escenarios reales, estos sistema...

Inteligencia Artificial

Haz de ChatGPT un Mejor Desarrollador de Software SoTaNa es un Asistente de IA de Código Abierto para el Desarrollo de Software

Cómo hacemos lo que hacemos ha cambiado rápidamente en los últimos años. Hemos comenzado a utilizar asistentes virtua...

Inteligencia Artificial

Computación de siguiente nivel NVIDIA y AMD ofrecen potentes estaciones de trabajo para acelerar la IA, el renderizado y la simulación.

Para permitir a profesionales de todo el mundo construir y ejecutar aplicaciones de inteligencia artificial desde sus...