Skip to content

English · Español

Fase 38 — MLOps

Requiere: 37 — Seguridad y safety de sistemas de IA Enseña: mlops · model-registry · ab-testing · canary-deploys · drift-detection Salta a cualquier capítulo desde el índice de referencia de fases.

Mapa del capítulo

Pre-escrita según A12. Tema según A13: tutor de gramática verbal inglesa. Los enunciados de teoría y laboratorio son borradores estables; las soluciones se escriben justo a tiempo en la apertura de la fase.

🇪🇸 De demo a servicio. Registro por SHA (envuelto sobre MLflow), lineage desde corpus DVC hasta deploy, A/B vs shadow vs canary, detección de drift (KL, PSI) sobre la distribución de conjugaciones, FinOps básico (coste por unidad de calidad) y gates de CI que deciden qué entra a producción. Sin esto, las 37 fases anteriores son código de una sola tirada.


Objetivo

Construir la espina dorsal de MLOps de modo que cada artefacto del tutor de gramática sea trazable, comparable y reemplazablesin introducir un nuevo módulo src/. La Fase 38 compone componentes existentes (seguimiento de runs de MLflow de la Fase 18, versionado de corpus con DVC de la Fase 12, Mini-GPT + adaptador LoRA, src/miniserve/, src/miniobserve/) y añade el pegamento operacional: un wrapper de registry, enrutamiento de tráfico, detección de drift, FinOps y un gate de deploy en CI. Al final Borja puede:

  1. Listar, por SHA, cada checkpoint del tutor de gramática que ha servido tráfico, con su puntuación de precisión de conjugación y su coste-por-1k-tokens.
  2. Enrutar el 10% del tráfico real de frases en inglés a través de una variante LoRA en shadow y producir un informe de calidad de corrección lado a lado.
  3. Hacer rollback a una entrada anterior del registry con un único comando just.
  4. Calcular drift KL/PSI sobre la distribución de tokens de verbos en producción semana a semana y decidir si conviene reentrenar.
  5. Demostrar que el workflow de CI rechaza promocionar un checkpoint deliberadamente regresivo.

La Fase 38 es higiene de ingeniería + integración consciente del dominio, no nuevas matemáticas. La matemática (KL, PSI, test z, CpQU, SHA canónica) es ligera y aterriza en theory/01, theory/03, theory/04. El grueso del tiempo está en scripts/mlops/, las extensiones a src/miniserve/ y src/miniobserve/, y el workflow de GitHub Actions.

Orden de lectura

  1. theory/00-motivation.md — por qué existe esta fase; qué distingue concretamente una "demo" de un "servicio" para un tutor de gramática.
  2. theory/01-registry-and-lineage.md — almacenamiento content-addressable montado sobre MLflow + DVC; SHA canónica; el lineage retrocede hasta los hashes DVC del corpus.
  3. theory/02-traffic-strategies.md — A/B vs shadow vs canary para el endpoint de corrección de gramática; la pregunta precisa que responde cada uno.
  4. theory/03-drift-detection.md — divergencia KL sobre histogramas de tokens verbales; PSI sobre features escalares. Umbrales y trampas.
  5. theory/04-traffic-and-finops.md — test z de dos proporciones para la significación de un A/B sobre la tasa de pase de conjugación; derivación de CpQU.
  6. theory/05-capacity-and-scaling.md — workflow de CI como el único camino a producción (gates de deploy, comparación contra baseline, rastro de auditoría); recorrido de vocabulario sobre HPA / MIG / MPS / spot. Sin experimentos de capacidad — Borja no tiene GPU en el portátil.
  7. lab/00-registry-roundtrip.md — registrar el checkpoint de la Fase 18 + la variante INT8 de la Fase 26 + el tutor de gramática LoRA de la Fase 28; verificar estabilidad de SHA.
  8. lab/01-shadow-ab.md — cablear enrutamiento shadow en src/miniserve/; mandar el 10% a la variante LoRA.
  9. lab/02-drift-detection.md — shift sintético sobre el corpus de verbos de la Fase 12; KL + PSI cruzan los umbrales.
  10. lab/03-finops-table.md — calcular CpQU para cada entrada del registry; hacer commit de docs/COSTS.md.
  11. lab/04-ci-deploy-gate.md — cablear .github/workflows/deploy-grammar-tutor.yml; subir un modelo deliberadamente regresivo; confirmar que CI bloquea la promoción.

solutions/ está vacío durante el pre-escrito — se rellena al abrir la fase, una vez que las convenciones de seguimiento de runs de MLflow de Borja y el remoto DVC estén finalizados.

Definition of Done

Ver PHASE_38_PLAN.md §6. En breve:

  • scripts/mlops/{registry,lineage,drift,cpqu}.py implementados y testeados.
  • src/miniserve/traffic.py y src/miniobserve/cost_emitter.py añadidos (sin nuevo src/<module>/).
  • .github/workflows/deploy-grammar-tutor.yml aplica el gate de tasa de pase del eval.
  • Los cinco experimentos corren end-to-end con sus manifests.
  • just rollback <sha> funciona contra el stack de serving de la Fase 33.
  • docs/COSTS.md con una fila por entrada del registry.
  • Borja puede articular la distinción precisa entre A/B, shadow, canary y "soft launch" (el antipatrón).

Lo que esta fase intencionadamente NO cubre

  • Un nuevo src/<module>/. La convención §A5 de BLUEPRINT aplica solo a módulos nuevos; la Fase 38 extiende src/miniserve/ y src/miniobserve/, ambos con blueprint en las Fases 33 y 34.
  • Airflow / Kubeflow / Argo / Prefect. Anti-goal §10. La orquestación es el Justfile + GitHub Actions.
  • MLflow como única fuente de verdad del registry. La SHA canónica vive en nuestro scripts/mlops/registry.py; el registry de MLflow es el backend de almacenamiento, no la autoridad de identidad.
  • Experimentos de GPU-sharing. MIG/MPS aparecen en theory/05 solo como vocabulario — Borja no tiene CUDA.
  • Experimentos de autoscaling. HPA por tokens/seg se describe en theory/05; sin experimento real — requeriría un stack de serving desplegado en cloud, cosa que la Fase 39 (capstone) hace al mínimo.
  • Integración real con APIs de coste cloud. El coste-por-1k-tokens se anota a mano por run. Parsear facturación de AWS/GCP es trabajo futuro.
  • langchain / llama-index / langfuse-orchestrator. Langfuse solo para trazas, desde la Fase 34. Sin imports de orquestación de agentes.

El alcance de la Fase 38 es la superficie mínima de MLOps que hace la capstone de la Fase 39 reproducible por un tercero y rechaza desplegar una regresión. Cualquier cosa más allá es sobre-construcción.

Lecturas recomendadas

Opcional — enriquece pero no es necesario para aprobar la fase.