Vemos a la entrega continua para aprendizaje automático (CD4ML) como un buen punto de inicio predeterminado para cualquier solución de aprendizaje automático que se despliegue en producción. Muchas organizaciones dependen cada vez más de soluciones de aprendizaje automático tanto para las ofertas a sus clientes como para operaciones internas, así que tiene sentido comercial aplicar las lecciones y las buenas practicas capturadas por la entrega continua (CD) a las soluciones de aprendizaje automático.
Hace aproximadamente una década introdujimos la entrega continua, nuestra manera por defecto de entregar soluciones de software. Las soluciones actuales incluyen, cada vez más, modelos de aprendizaje automático y no los consideramos una excepción para la adopción de prácticas de entrega continua. Lo llamamos entrega continua para aprendizaje automático (CD4ML). A pesar de que los principios de la entrega continua siguen siendo los mismos, las herramientas y prácticas para implementar el proceso de principio a fin de entrenamiento, pruebas, despliegue y monitoreo de modelos requiere de algunas modificaciones. Por ejemplo: el control de versiones no solo incluye el código si no también los datos, los modelos y sus parámetros; la pirámide de pruebas se extiende para incluir análisis y validación de sesgos, de equidad, de datos y características; el proceso de despliegue debe considerar como promover y evaluar el rendimiento de los nuevos modelos contra los actuales modelos campeones. Mientras la industria está celebrando el nuevo término de moda, MLOps, creemos que CD4ML es la aproximación holística para implementar un proceso integral para entregar de forma fiable y mejorar continuamente los modelos de aprendizaje automático, desde la ideación hasta producción.
Aplicar aprendizaje automático para hacer inteligentes a las aplicaciones y servicios de negocio no es solo entrenar modelos y servirlos. Requiere implementar, de principio a fin y continuamente, ciclos de entrenamiento, pruebas, despliegues, monitoreo y operación de los modelos. La entrega continua para aprendizaje automático (CD4ML) es una técnica que habilita la realización de ciclos fiables, de principio a fin, de desarrollo, despliegue y monitoreo de modelos de aprendizaje automático. La tecnología subyacente sobre la que se sustenta CD4ML incluye herramientas para el acceso y el descubrimiento de datos, control de versiones de artefactos (como los datos, el modelo y el código), pipelines de entrega continua, aprovisionamiento automatizado de entornos para distintas entregas y experimentos, evaluación y seguimiento del rendimiento del modelo y observabilidad operacional del modelo. Las compañías pueden elegir su propio conjunto de herramientas dependiendo de su stack tecnológico actual. CD4ML se focaliza en la automatización y la eliminación de traspasos manuales. CD4ML es nuestro enfoque de facto para desarrollar modelos de ML
Con el aumento en popularidad de las aplicaciones basadas en machine learning, y la complejidad técnica que significa construirlas, nuestros equipos dependen mucho de la entrega continua para machine learning (CD4ML) para entregar estas aplicaciones de manera segura, rápida y sustentable. CD4ML es la disciplina de traer los principios y prácticas de entrega continua a las aplicaciones de machine learning. Elimina los largos ciclos entre el entrenamiento de los modelos y su despliegue a producción. CD4ML también elimina las transferencias manuales entre distintos equipos, ingenieras/os de datos, científicas/os de datos e ingenieras/os de machine learning en el proceso de extremo a extremo de construcción y despliegue de un modelo servido por una aplicación ML. Utilizando CD4ML nuestros equipos han logrado implementar de manera exitosa el versionamiento, prueba y despliegue automatizado de todos los componentes de sus aplicaciones basadas en ML: datos, modelos y código.
Continuous delivery for machine learning (CD4ML) apply continuous delivery practices to developing machine learning models so that they are always ready for production. This technique addresses two main problems of traditional machine learning model development: long cycle time between training models and deploying them to production, which often includes manually converting the model to production-ready code; and using production models that had been trained with stale data.
A continuous delivery pipeline of a machine learning model has two triggers: (1) changes to the structure of the model and (2) changes to the training and test data sets. For this to work we need to both version the data sets and the model's source code. The pipeline often includes steps such as testing the model against the test data set, applying automatic conversion of the model (if necessary) with tools such as H2O, and deploying the model to production to deliver value.