Fundamentos de MLOps y tracking de modelos

1

驴Qu茅 es MLOps y para qu茅 sirve?

2

Tracking de modelos en localhost con MLflow

3

Tracking de modelos en localhost: directorio personalizado

4

Etapas del ciclo de MLOps

5

Componentes de MLOps

6

Tracking de modelos con MLflow y SQLite

7

Tracking de modelos con MLflow en la nube

Tracking del ciclo de vida de modelos de machine learning

8

Tracking de experimentos con MLflow: preprocesamiento de datos

9

Tracking de experimentos con MLflow: definici贸n de funciones

10

Tracking de experimentos con MLflow: tracking de m茅tricas e hiperpar谩metros

11

Tracking de experimentos con MLflow: reporte de clasificaci贸n

12

Entrenamiento de modelos baseline y an谩lisis en UI de MLflow

13

MLflow Model Registry: registro y uso de modelos

14

Registro de modelos con mlflow.client

15

Testing de modelo desde MLflow con datos de prueba

16

驴Para qu茅 sirve el tracking de modelos en MLOps?

Orquestaci贸n de pipelines de machine learning

17

Tasks con Prefect

18

Flows con Prefect

19

Flow de modelo de clasificaci贸n de tickets: procesamiento de datos y features

20

Flow de modelo de clasificaci贸n de tickets: integraci贸n de las tasks

21

Flow de modelo de clasificaci贸n de tickets: ejecuci贸n de tasks

22

驴C贸mo se integra la orquestaci贸n en MLOps?

Despliegue de modelo de machine learning

23

Despligue con Docker y FastAPI: configuraci贸n y requerimientos

24

Despligue con Docker y FastAPI: definici贸n de clases y entry point

25

Despligue con Docker y FastAPI: procesamiento de predicciones en main app

26

Despligue con Docker y FastAPI: configuraci贸n de la base de datos

27

Despliegue y pruebas de modelo de machine learning en localhost

28

Despliegue y pruebas de modelo de machine learning en la nube

29

驴Qu茅 hacer con el modelo desplegado?

Monitoreo de modelo de machine learning en producci贸n

30

驴C贸mo monitorear modelos de machine learning en producci贸n?

31

Entrenamiento de modelo baseline

32

Preparar datos para crear reporte con Evidently

33

An谩lisis de la calidad de los datos con Evidently

34

Creaci贸n de reportes con Grafana

35

驴C贸mo mejorar tus procesos de MLOps?

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesi贸n a prueba de IA

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

0 D铆as
6 Hrs
13 Min
38 Seg

Registro de modelos con mlflow.client

14/35
Resources

Why is integrity testing important?

Integrity tests are essential to ensure the efficiency and quality of Machine Learning models. These tests enable traceability of the process from data acquisition to data transformation. Data quality is often overlooked, which is crucial, as determining quality ensures that data is functional and effective for Machine Learning solutions. Without proper testing, there is a risk that the data will not be good enough to produce accurate results.

How to promote a model in an automated workflow?

It is necessary to evaluate the infrastructure and system behavior before promoting a model. Searching Azure Runs using the search_runs method allows filtering by specific characteristics, such as experiment IDs or tags, making it easier to select relevant runs. For example, you can limit the search to active runs and sort by specific metrics such as precision test.

search_runs(experiment_id='1', filter_string='', order_by=['metrics.precision DESC'], top=5)

Subsequently, the promotion of a model includes updating its state, as a transition from staging to production, using the transition_model_version_stage method.

transition_model_version_stage(model_name='tickets_classifier', version=2, stage='Production')

How to register and version models?

Registering a model is essential to control and version it in a production environment. This is done by linking a run ID and a previously registered model. Linking and registering a new model creates a new version if a previous registration already existed. In this example, a version 3 was generated for the tickets_classifier.

model_uri = f "runs:/{run_id}/model"mlflow.register_model(model_uri=model_uri, name="tickets_classifier")

Each model record includes the model name and version number, making it easy to track and manage.

What is the scheme for managing model versions?

Getting the latest versions of a model will ensure that you work with the most recent and optimized one. By using methods like get_latest_versions, you can identify the current versions and manage their states.

mlflow_client = mlflow.tracking.MlflowClient()latest_versions = mlflow_client.get_latest_versions("tickets_classifier")

In addition, it is vital to automate transition tasks using scripts so as not to rely on graphical interfaces, thus increasing operational efficiency.

How to optimize the metrics of a model in a production environment?

The success of a model in production depends on selecting the right metrics that align with business needs. Identifying and optimizing the best metrics ensures that the model performs better. The above steps, from connecting with an MLflow customer to running tests in a production environment, contribute to effective model lifecycle management.

Continuous testing practice will maintain an automatic and fluid workflow, adapting to changing circumstances and specific business requirements.

Contributions 2

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

\### En esta lecci贸n, los bloques de c贸digo explicados por Mar铆a Camila, permiten: 1\. \*\*Buscar ejecuciones de un experimento\*\*: busca las ejecuciones m谩s recientes del experimento con el ID especificado, orden谩ndolas por la m茅trica de precisi贸n en el conjunto de prueba, mostrando solo las ejecuciones activas. 2\. \*\*Imprimir informaci贸n de ejecuciones\*\*: recorre las ejecuciones obtenidas y muestra el ID de cada ejecuci贸n junto con el 铆ndice de precisi贸n en el conjunto de prueba. 3\. \*\*Registrar un modelo\*\*: se especifica un ID de ejecuci贸n y se registra el modelo asociado bajo un nombre concreto en MLflow. 4\. \*\*Obtener las 煤ltimas versiones del modelo\*\*: consulta las versiones m谩s recientes del modelo registrado y muestra la versi贸n y su estado actual (etapa del ciclo de vida). 5\. \*\*Cambiar el estado de una versi贸n de modelo a "Staging"\*\*: modifica la etapa de una versi贸n espec铆fica del modelo para que est茅 en la fase de "Staging". 6\. \*\*Cambiar el estado de una versi贸n de modelo a "Producci贸n"\*\*: mueve otra versi贸n del modelo a la fase de "Producci贸n". 7\. \*\*Actualizar la descripci贸n de una versi贸n de modelo\*\*: modifica la descripci贸n de una versi贸n del modelo para registrar cu谩ndo fue promovido a "Producci贸n". 8\. \*\*Verificar el tipo de la variable `y\_test`\*\*: muestra el tipo de dato de la variable `y\_test`. \### Resumen: Este conjunto de bloques nos permite buscar y evaluar modelos entrenados, registrar un modelo en MLflow, cambiar sus estados (etapas) en el ciclo de vida, y actualizar la descripci贸n de versiones. El proceso es 煤til para gestionar y promover modelos en un sistema de producci贸n o desarrollo.
En la clase se mencionaron varios m茅todos de `mlflow.client`. A continuaci贸n se detallan algunos de ellos: 1. **search_runs**: - Hiperpar谩metros: - experiment_id - filter_string - max_results - order_by 2. **create_registered_model**: - Hiperpar谩metros: - name - description 3. **log_model**: - Hiperpar谩metros: - artifact_path - tf_saved_model_dir (para TensorFlow) - code_paths (opcional) 4. **transition_model_version_stage**: - Hiperpar谩metros: - name - version - stage - description (opcional) Para m谩s detalles y ejemplos de uso, consulta la documentaci贸n oficial de Mlflow o revisa el material del curso en Platzi.