Saltar al contenido
aprendeaws.dev

Módulo 16 · Inteligencia artificial en AWS/Lección 106

SageMaker AI y MLOps

Construir, entrenar, desplegar y operar modelos propios: preparación de datos, entrenamiento, endpoints, registro de modelos, pipelines y monitoreo.

Al terminar podrás

  • →Preparar datos y características con Data Wrangler y Feature Store
  • →Entrenar y ajustar hiperparámetros en SageMaker AI
  • →Elegir el tipo de inferencia: tiempo real, serverless, asíncrona o por lotes
  • →Automatizar el ciclo con Pipelines, Model Registry y Model Monitor

Cuando ningún servicio listo ni modelo fundacional resuelve tu problema, entrenas un modelo propio. Amazon SageMaker AI es la plataforma de AWS para eso: preparar datos, entrenar, desplegar y operar modelos. El nivel de servicios está en el panorama de IA, y los conceptos de entrenamiento, validación y sobreajuste, en fundamentos de machine learning.

Entrenar un modelo una vez es fácil. Lo difícil es repetirlo cada mes con datos nuevos, saber qué versión está en producción y darte cuenta cuando empieza a fallar. Esa disciplina se llama MLOps: DevOps aplicado al machine learning.

Datos y características

El modelo es tan bueno como sus datos. Las fuentes típicas son S3 (el lago de datos), Redshift (el almacén de datos) y Athena (SQL sobre archivos en S3). Para preparar los datos tienes varias herramientas según el volumen y quién trabaja:

  • SageMaker Data Wrangler

    Prepara datos con una interfaz visual o en lenguaje natural: importar, limpiar, transformar, crear características y revisar la calidad. Hoy vive dentro de SageMaker Canvas. Exporta el flujo a Pipelines o a Feature Store.
  • AWS Glue

    ETL sin servidores con Spark para grandes volúmenes. AWS Glue DataBrew agrega una interfaz visual con transformaciones listas, pensada para analistas.
  • Amazon EMR

    Clústeres de Spark, Hive o Presto administrados. Encaja si tu equipo ya trabaja con Spark y procesa terabytes.
  • SageMaker Feature Store

    Repositorio central de características (features). La tienda en línea (online store) da el valor más reciente con baja latencia para inferencia. La tienda fuera de línea (offline store) guarda el histórico en S3 para entrenar.
  • Amazon SageMaker Ground Truth

    Etiquetado de datos con personas (equipos propios, proveedores o Mechanical Turk) y etiquetado automático con aprendizaje activo. Sirve para crear el conjunto de entrenamiento supervisado.
  • Amazon Athena

    Consultas SQL sobre S3. Útil para explorar datos y para consultar la tienda fuera de línea de Feature Store.

Feature Store resuelve un problema concreto: el desfase entre entrenamiento e inferencia (training-serving skew). Si calculas «compras de los últimos 30 días» de una forma al entrenar y de otra en producción, el modelo recibe datos que nunca vio. Con un solo repositorio, ambos lados usan la misma definición. Más sobre el lago de datos en lagos de datos y lakehouse.

Entrenar y ajustar

Un trabajo de entrenamiento (training job) lee los datos de S3, levanta instancias, entrena, guarda el modelo en S3 y apaga todo. Pagas solo mientras corre. Tienes cuatro formas de llevar el código:

OpciónCuándo usarla
Algoritmos integrados (built-in)Problemas comunes sin escribir el algoritmoXGBoost, Linear Learner, K-Means, DeepAR, BlazingText, Random Cut Forest
Modo script (script mode)Tienes tu código en PyTorch, TensorFlow o scikit-learnUsas el contenedor de AWS para ese framework; solo aportas el script
Tu propio contenedor (BYOC)Dependencias o lenguajes que los contenedores de AWS no cubrenConstruyes la imagen y la subes a Amazon ECR
Modelos de JumpStartPartir de un modelo preentrenado y ajustarloModelos fundacionales y clásicos listos para desplegar o ajustar

Para modelos grandes, el entrenamiento distribuido reparte el trabajo. Con paralelismo de datos (data parallel), cada GPU tiene una copia del modelo y procesa una parte de los datos. Con paralelismo de modelo (model parallel), el modelo no cabe en una GPU y se reparte entre varias. Para entrenar modelos fundacionales durante semanas existe SageMaker HyperPod, con clústeres que se recuperan solos de fallas de hardware.

El entrenamiento con Spot administrado (managed Spot training) usa capacidad sobrante de EC2 con un descuento grande. AWS puede interrumpir la instancia, así que el trabajo guarda puntos de control (checkpoints) en S3 y continúa desde ahí. Sirve para entrenamientos que toleran esperar.

Los hiperparámetros son los ajustes que eliges antes de entrenar: tasa de aprendizaje, profundidad del árbol, número de épocas. El ajuste automático de modelos (automatic model tuning) lanza muchos trabajos con combinaciones distintas y se queda con la que mejor resultado da en una métrica objetivo, como AUC en validación. Las estrategias son bayesiana, aleatoria, cuadrícula (grid) y Hyperband. La parada temprana (early stopping) corta los trabajos que van mal antes de terminar y ahorra cómputo.

Para comparar cientos de corridas, SageMaker AI ofrece MLflow administrado: registras parámetros, métricas y artefactos de cada experimento, comparas en la interfaz de MLflow y registras el mejor modelo. Viene en dos formas: MLflow Apps y servidores de seguimiento (tracking servers).

Desplegar: elegir el tipo de inferencia

La decisión depende de tres preguntas: ¿alguien espera la respuesta?, ¿el tráfico es constante o intermitente? y ¿qué tan grande es cada solicitud?

CriterioTiempo realServerlessAsíncronaBatch transform
Para quéRespuestas en milisegundos con tráfico sostenidoTráfico intermitente o impredecibleSolicitudes grandes o lentas que se encolanProcesar un conjunto completo sin endpoint
Carga por solicitudHasta 25 MBHasta 4 MBHasta 1 GBConjuntos de GB
Tiempo de proceso60 s (8 min con respuesta en streaming)Hasta 60 sHasta 1 horaDías si hace falta
InfraestructuraInstancias que eliges, siempre encendidasAWS administra; sin GPU; arranque en fríoInstancias; puede escalar a ceroInstancias que se apagan al terminar
EjemploDetectar fraude al pagarHerramienta interna usada pocas veces al díaAnalizar videos o documentos largosCalificar a todos los clientes cada noche

Otras piezas del despliegue que aparecen en los exámenes:

  • Endpoints multimodelo (multi-model endpoints): muchos modelos del mismo tipo comparten un contenedor y se cargan desde S3 cuando se piden. Encaja con un modelo por cliente o por ciudad.
  • Endpoints multicontenedor (multi-container endpoints): contenedores distintos en el mismo endpoint, que puedes llamar uno por uno o en serie como canalización de inferencia.
  • Endpoints dentro de una VPC: el modelo corre en tus subredes privadas, con security groups, y habla con S3 por un VPC endpoint. El aislamiento de red (network isolation) impide que el contenedor salga a internet. Repasa la ciudad VPC.
  • Auto scaling: una política de seguimiento de objetivo sobre, por ejemplo, invocaciones por instancia agrega o quita instancias. Es el mismo principio de Auto Scaling.

MLOps: la línea de producción

  1. 1

    SageMaker Pipelines orquesta el flujo

    Cada paso es código versionado: procesar datos, entrenar, evaluar, una condición («¿la AUC supera 0,85?») y registrar. Se ejecuta igual cada vez, a mano, por horario o por un evento.
  2. 2

    Model Registry guarda las versiones

    Cada modelo entra a un grupo con número de versión, métricas y linaje. Su estado de aprobación es PendingManualApproval, Approved o Rejected. Solo lo aprobado llega a producción.
  3. 3

    CI/CD despliega lo aprobado

    El cambio de estado a Approved emite un evento en EventBridge que dispara AWS CodePipeline. El pipeline despliega primero en preproducción y después en producción.
  4. 4

    Se prueba con tráfico real sin arriesgar

    Una prueba en sombra (shadow test) manda una copia del tráfico al modelo nuevo y descarta su respuesta. Las variantes de producción (production variants) reparten el tráfico por peso para un A/B. Las barreras de despliegue (deployment guardrails) cambian el tráfico de a poco y revierten con una alarma de CloudWatch.
  5. 5

    Se vigila en producción

    Se capturan entradas y salidas del endpoint y se comparan contra una línea base del entrenamiento. Si hay deriva, salta una alarma y el pipeline reentrena.

SageMaker Model Monitor vigila cuatro cosas: calidad de los datos (data quality), calidad del modelo cuando llegan las etiquetas reales (model quality), deriva del sesgo (bias drift) y deriva de la atribución de características (feature attribution drift). SageMaker Clarify mide el sesgo antes y después del entrenamiento y explica las predicciones con valores SHAP: cuánto empujó cada característica la decisión. SageMaker Model Cards documentan el uso previsto, los riesgos y los resultados de evaluación de cada modelo. Cómo elegir métricas está en evaluar modelos e IA generativa, y el sesgo, en IA responsable.

Atajos y entornos

  • SageMaker JumpStart: catálogo de modelos preentrenados y soluciones que despliegas o ajustas con pocos clics, en tu cuenta. Útil cuando necesitas más control que en Bedrock. Compáralo en personalizar modelos.
  • SageMaker Canvas: ML sin código para analistas. Prepara datos, entrena con AutoML y predice desde una interfaz visual.
  • SageMaker Unified Studio: el entorno de la nueva generación de Amazon SageMaker, que junta datos, analítica e IA en un solo lugar. SageMaker AI sigue existiendo como servicio propio y también se usa desde ahí.

El ciclo de despliegue continuo es el mismo que en aplicaciones: revísalo en despliegue continuo.

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Un banco recibe solicitudes de análisis de documentos de hasta 300 MB que tardan unos 15 minutos cada una. El tráfico llega por rachas y quiere no pagar instancias cuando no hay trabajo. ¿Qué opción de inferencia usa?

  2. 2.El modelo de recomendaciones calcula «visitas de los últimos 7 días» con SQL al entrenar, pero la aplicación lo calcula distinto en producción. Las predicciones son malas aunque la validación fue buena. ¿Qué lo evita?

  3. 3.Un equipo quiere que ningún modelo llegue a producción sin que un revisor lo apruebe, y que el despliegue arranque solo después de la aprobación. ¿Qué combinación usa?

  4. 4.Una empresa entrena cada semana un modelo que tarda 10 horas. No hay prisa por el resultado y quiere bajar el costo de cómputo. ¿Qué hace?

  5. 5.Antes de reemplazar el modelo de precios, el equipo quiere ver cómo respondería la versión nueva con tráfico real, sin que ningún cliente reciba sus respuestas. ¿Qué usa?