¿Sabes que es mlops ? Machine Learning Operations, abreviado como MLOps, es una de las nuevas tendencias en Big Data, una parte de la cultura DevOps. Por ello, está estrechamente relacionada con los modelos de aprendizaje automático (machine learning) y la automatización de procesos.
Para ampliar sobre esta área, hemos presentado un webinar con Fran Algaba, Data Scientist en BBVA Next Tecnologies, hablándonos sobre los detalles y aplicaciones de MLOps, que veremos más adelante.
Cuando hablamos de deep learning mlops nos referimos concretamente a las Operaciones de Machine Learning o aprendizaje automatizado, que, aplicando nuevos modelos de operaciones, consigue agilizar los procesos realizados en una empresa.
¿Qué encontrarás en este post?
Toggle¿Qué es MLOps?
MLOps es una extensión de la metodología DevOps que busca incluir activos de aprendizaje automático y ciencia de datos como ciudadanos de primera clase dentro de la ecología DevOps. Dentro de MLOps (o ml-ops ) existen tres niveles de implementación de Machine Learning:- Data: datos, fase, ingestión, curado, etc.
- Model: testing, evaluación de los modelos, empaquetado y cómo se van a despegar.
- Code: el código, donde se ejecuta todo el modelo en sí.
¿Por qué empezar a aplicar MLOps?
En la actualidad, nos encontramos en un mundo orientado a datos, que está vinculado a la cantidad exponencialmente creciente de los mismos. Estos datos son recogidos digitalmente y de forma masiva y ayudan a los equipos de desarrollo, por lo que es necesario evaluar cuáles son de valor para la empresa y cuáles no. Además, nos encontramos con la ascendente importancia de la Inteligencia Artificial y la Ciencia de Datos, que se deriva de esta tremenda cantidad de información generada. Dependiendo de todos ellos, se pueden explotar de formas distintas, distinguiendo en capacidades (percepción, cognitivo y aprendizaje) y casos de uso (visión, audio, voz y lenguaje natural).¿Qué debo tener en cuenta para usar MLOps?
Si vas a empezar un proyecto DevOps, necesitarás conocer cómo implementar estas operaciones de machine learning o mlopd, teniendo en cuenta tres aspectos: la calidad de los datos obtenidos, la degradación de los modelos de operaciones hasta el momento, y la localidad en la que están basados estos datos, como sigue a continuación:- Calidad de los datos. Tras la recopilación de los datos, debes tener en cuenta de dónde vienen los datos, la calidad de estos, si son fiables según su procedencia y útiles para tu proyecto. Para ello, debes considerar los ciclos de vida de estos datos.
- Degradación de los modelos: Al cabo del tiempo, los modelos de machine learning que se llevan a cabo en la organización van perdiendo calidad, por lo que conviene innovar cada cierto tiempo para obtener mejores resultados.
- Localidad: En el momento de la preparación de conjuntos de datos, se están entrenando los modelos con unos datos específicos basados en una geografía.
¿Cómo es el proceso de MLOps?
Realizar los procesos de mlpops no es darle a un botón. Antes de iniciar, debes pasar por tres pasos previos a la implementación de modelos de automatización: diseño, desarrollo del modelo de operaciones, y ejecución de las operaciones planteadas.- Diseño: Ajuste de requerimientos, establecer las necesidades que tienen los usuarios y qué queremos cubrir, exploración de los datos, experimentación.
- Desarrollo del modelo: Desarrollo de un modelo funcional capacitado para pasar a producción.
- Operaciones: Despliegue, orquestación y automatización de entrenamientos, extracción de datos, etc.
¿Cuáles son los Principios de MLOps?
- Automatización: cuyas fases con proceso manual, ML pipeline y CI/CD pipeline.
- Versionado: basado en tres pilares, datos, modelo y código.
- Testing: base sobre la que va a funcionar todo el sistema.
- Monitorización: los puntos clave a tener en cuenta son que hay que estar atentos a que no haya cambios en dependencias, hay que asegurar los datos invariantes, el sesgo en predicciones, un modelo “rancio” que no es capaz de responder a la suficiente velocidad, modelo numéricamente estable y degradación del modelo.
- Reproductividad: de la ingeniería de características, del entrenamiento del modelo y del despliegue del modelo. Hay que tener cuidado con la recogida de datos, para poder reproducir los resultados.
- Herramientas: mlflow, DVC, Kubeflow, ONNX, TensorFlow Extended, Apache Airflow, Cookiecutter, Metaflow, jupyter, PyTorch o Psycaffold.
Si quieres hacer un repaso a todos estos conceptos y ver ejemplos prácticos, aquí te dejamos la repetición del webinar:
Y si buscas aprender todas las tecnologías relacionadas con DevOps y Big Data, puedes echar un vistazo a nuestros Bootcamps en programación, los cuales son programas diseñados en Silicon Valley con las últimas tendencias como mlops.