Universidad de SonoraReconocimiento
de Patrones
08
Unidad 8 · 1 semana

MLOps y despliegue

Llevar un modelo a producción y mantenerlo vivo.

Presentaciones

  • Experimentos reproducibles y registro de modelos

    Por qué el mismo código da números distintos, qué guardar de cada corrida, y cómo MLflow organiza experimentos, versiones, alias y firmas; más los riesgos de pickle y las fichas de modelo.

    PDFAbrir
  • Despliegue y monitoreo

    Del caso Zillow a un servicio con FastAPI; cambio de covariables, de concepto y de prevalencia; PSI, la prueba de Kolmogorov–Smirnov y políticas de reentrenamiento.

    PDFAbrir

Las presentaciones se abren en una pestaña nueva. Usa las flechas o la barra espaciadora para avanzar, o para ver todas las láminas y f para pantalla completa.

Libretas de ejemplo

  • Seguimiento de experimentos con MLflow

    Siete modelos de riesgo de crédito registrados en MLflow, comparados con una consulta, promovidos con versiones y alias, reproducidos y documentados con su ficha.

    Abrir en Colab
  • Un servicio de predicción y la vigilancia del cambio

    Un modelo de bicicletas entrenado con 2011, servido con FastAPI y vigilado durante 2012 con PSI y Kolmogorov–Smirnov; políticas de reentrenamiento con y sin retraso de etiquetas.

    Abrir en Colab

Laboratorio

  • Laboratorio 8 · Un servicio de predicción vigilado

    PSI y Kolmogorov–Smirnov desde cero, un reporte de cambio por atributo, una API con FastAPI que valida su entrada y una política de reentrenamiento con ventana móvil. Se verifica automáticamente.

    Abrir en Colab

Los laboratorios son para practicar y no cuentan para la calificación.

DataCamp

Cursos y proyectos de esta unidad que forman parte de la calificación. Ver Evaluación.

Lecturas

  • Sculley et al. (2015). Hidden technical debt in machine learning systems. NeurIPS. Artículo completo.
  • Mitchell et al. (2019). Model cards for model reporting. FAT*. Secciones 3 y 4.
  • Huyen (2022). Designing Machine Learning Systems. O'Reilly. Capítulos 7 a 9.
  • Documentación de MLflow y de FastAPI. Tracking, Model Registry y el tutorial de FastAPI.

Autoevaluación

8 preguntas. Responde, verifica y lee la explicación. No cuenta para la calificación y nada se guarda.

0 de 8 correctas
Pregunta 1

Entrenas el mismo bosque aleatorio con diez semillas distintas y el AUC de validación varía entre 0.7714 y 0.7728. En tu búsqueda de modelos, el primer lugar le gana al segundo por 0.0017 de AUC. ¿Qué conclusión es la más razonable?

Pregunta 2

En el registro de modelos de MLflow, la versión 1 de riesgo-credito tiene el alias champion y la versión 2 el alias challenger. La versión 2 gana en el conjunto de prueba. ¿Cómo se pone en producción?

Pregunta 3

Cargar con pickle.load un modelo descargado de internet es seguro siempre que después no llamemos a ninguno de sus métodos.

Pregunta 4

mlflow.sklearn.autolog() registró para una regresión logística la métrica training_roc_auc = 0.722. ¿Qué es ese número?

Pregunta 5

Sean pp y qq las proporciones por cubeta de la referencia y de los datos actuales. ¿A qué es igual PSI=∑k(qk−pk)ln⁡(qk/pk)\text{PSI} = \sum_k (q_k - p_k)\ln(q_k/p_k)?

Pregunta 6

Se calcula el PSI con K=10K = 10 cubetas entre dos muestras de 720 datos cada una que vienen de la misma distribución. Con la aproximación E[PSI]≈(K−1)(1N+1M)\mathbb{E}[\text{PSI}] \approx (K-1)\left(\frac1N + \frac1M\right), ¿cuánto vale el PSI esperado? (Tres decimales.)

Pregunta 7

Un modelo de demanda en producción muestra PSI bajos en todas sus entradas y en sus predicciones, pero cuando llegan las etiquetas el error se triplica y el modelo subestima sistemáticamente. ¿Qué tipo de cambio es el más probable?

Pregunta 8

Un servicio compara un millón de predicciones de esta semana con un millón de la semana pasada y la prueba de Kolmogorov–Smirnov da p<10−10p < 10^{-10}. Eso indica que el cambio es grande y que hay que reentrenar.