馃尋

MLOps == Machine Learning Operations

MLOPSAIMLCloud

Published on

September 15, 2022

Introduction

MLOps is a methodology of work in the field of artificial Intelligence. The word MLOps is the combination of Machine Learning (ML) and Operations (Ops). Machine Learning is going to cover the tipical task related to model development: data, training and evaluation, meanwhile operations is going to cover task as deploying or monitor. Summarizing, MLOps is similar to DevOps but appldied for ML Code.


MLOps emerge cause the dificulties detected to put in production an artificial intelligence algorithm. In the majority of the cases integrate a model in a production pipeline is complex, cause dependencies and resource. However, the problems comes in maintanance, when the model pass to a second plane.


In the research phase the efforts are put in building a great model, but when the model is put in production the importance pass to the rest of the task. A model with the past of the time lose precision, cause the environment for which it is prepared has been changing. The monitor of the performance and data drifr is crucial to re-training the algorithm. For this reason, the ML Code should be constantly review and maintain. This goal only can be reach with a continous integration (CI) and continous deployment (CD).


mlops

The objectives of MLOps are:

  1. Automated and reproducilbe ML workflows.
  2. Manage model version.
  3. Enable continuos delivery with infrastructure-as-code CI/CD
  4. Monitor performance and feedback information from the models.

MLOps

The explanation of mlops is going to be covered by explaining the important steps separately. The five components that make it up are:

  1. Automated Pipelines.
  2. Model Registry.
  3. Deploy and Service.
  4. Monitor.
  5. Trigger.

mlops

1. Automated Pipelines.

Este punto es la combinaci贸n de data engineering and ml engineering, despues de la creacion en la fase de experimentaci贸n de los procesos de transformaci贸n de los datos y el c贸digo para entrenar el modelos, estos son automatizados en una pipeline.


La parte de los datos va a ser importante para los pasos posteriores, ya que es de donde obtiene el conocimiento el algoritmo. Un cambio en los datos del entorno de entrenamiento al de produci贸n podr铆a devolver resultados no deseados. Por este motivo, en este punto adem谩s de transformar los datos para el aprendizaje del modelo, se va a guardar la indormaci贸n necesaria para comparar que los datos de entrenamiento y produc贸n son similares.


El entrenamiento del modelo evaluaci贸n


basic pipelines diagfream

2. Model Registry.

El registro del modelo en una herramienta es fundamental para un control de versiones. Adem谩s de la versi贸n, existe metadata que pueden ser guardados para tener un registro correcto. El dataset utilizado y los resultados de las metricas de evaluaci贸n pueden ser aspectos que nos permitan decidir el modelo que debe ser desplegado.


Example metaflow for this registry.

3. Deploy and Service.

Photo about how interactuate with a service.

El despliegue del modelo


TEST AB SHADOW


SERVICIO


RECORDAR QUE SON MICROSERVICIOS


4. Monitor.

La monitorizaci贸n debe cubrir tres puntos importantes, y como si de una piramide se tratase hay tres niveles de importancia.

  1. Metricas del servicio.

  2. Performance del modelo.

  3. Metricas de los datos.

metrics

Las metricas del servicio van a ser fundamentales para conocer que el servicio esta vivo, los tiempos de respuesta o incluso los recursos que esta consumiendo. Si el servicio fallase las peticiones no alcanzaria el modelo, por lo que no devolver铆a ning煤n tipo de resultado y nos encontrariamos en una situaci贸n en la que el modelo no funciona.


La monitorizaci贸n del modelo es algo que debe realizarse para monitorizar la performance del algoritmos. Esto se puede hacer con automated tested for ml.Que el resultado devuelva resultados incorrectos es algo critico, ya que las decisiones tomadas con estas salidas pueden ser erroneas.


Tambien puede ser detectado utilizando metricas de drift, el drift puede ser analizado para. Las tecnicas de drift se suelen utilizar para comparar el entorno de entrenamiento respecto al de produci贸n, generalmente estas se centran en la distribuci贸n de las variables, ya que si estas sufren modificaci贸n podr铆a afectar a las prediciones. Pero tambien se puede detectar drift para el resultado del algoritmo, ya que si la distribucion de la salida no se corresponde a la de entrenamiento algo podr铆a estar afectandole.


La deteci贸n de drift no es algo preocupante, ya que si el modelo esta bien entrenado que en produci贸n las variables se distribuyan diferente y por ello la predici贸n no sea igual que entrenamiento no implica que los resultados sean incorrectos. Simplemente es una alerta en la que poner atenci贸n. Un caso extremo ser铆a un dataset de entrenamiento en que solo aparecen hombres y en producioon el algoritmo analiza tanto hombre como mujeres, esto podr铆a llevar a un resultado biased-sex.


5. Trigger.

El trigger va a ser manual o automatico, el cual podr铆a lanzar un nuevo entrenamiento sobre un nuevo dataset generado por el usuario o de un nuevo dataset generado y con determinado nivel en las metricas de drift o testeos periodicos se reentrene


Este punto parece el menos importante, pero va a ser clave ya que es el momento en el que tomar una decisi贸n acerca de reemplazar le modelo en ejecuci贸n y relanzar la pipeline de mlops.


Recordad, esta metodologia es para ayudar en la puesta en produc贸n de modelos, nunca debe ser un proceso complejo y lento para los desarrolladores, ya que la importancia de esto es responder rapido a los cambios, por lo que la r谩pidez y el desarrollo agil deben seguir estando como estandartes.!!

Links

Cover Image
LR library
Dataset
Notebook: LR-Part1
Github Repo: Behind AI