Control de versiones en la práctica: datos, modelo de aprendizaje automático y código |  de Chayma Zatout |  diciembre de 2023

Una guía paso a paso para el control de versiones en MLOps

Foto por Cristóbal Gower en desempaquetar

¡El control de versiones es una práctica crucial! Sin él, su proyecto puede desorganizarse, lo que dificulta regresar al punto deseado. Corre el riesgo de perder configuraciones críticas del modelo, pesos, resultados de experimentos de extensos períodos de capacitación e incluso todo el proyecto. También puede encontrarse en desacuerdos y conflictos con sus compañeros de equipo cuando el código falla, lo que obstaculiza una colaboración efectiva. En este artículo, exploramos la importancia del control de versiones a través de un ejemplo práctico que emplea algunas de las herramientas más comunes en el campo. Se puede acceder al código base completo de este artículo en el repositorio asociado.

Tabla de contenido:

· 1. Introducción
· 2. Herramientas
· 3. Configurando tu proyecto
3.1. Carpeta de proyecto
3.2. Entorno del proyecto
· 4. Versionado del código
· 5. Versionado de datos
· 6. Versionado del modelo
· Conclusión

El control de versiones es la práctica de registrar cambios en un archivo o configuración de archivos a lo largo del tiempo, utilizando sistemas de control de versiones, para que podamos recuperar versiones específicas más adelante. En MLOps, el control de versiones es uno de los principios fundamentales que considero el primero a considerar al iniciar sus proyectos de aprendizaje automático. Para garantizar que aprovechamos todos los beneficios, el control de versiones debe aplicarse en diferentes pasos del flujo de trabajo de aprendizaje automático, incluidos datosel Modelo de aprendizaje automático (modelo ML), y código.

¿Por qué versionar? El uso del control de versiones para código, datos y modelos permite reproducibilidad (que es otro principio importante de MLOps) al permitir recrear estados específicos del proyecto en cualquier momento dado; seguimiento y supervisión cambios estableciendo un enfoque sistemático para capturar, documentar y gestionar los cambios a lo largo del ciclo de vida del desarrollo…