Construcción de una plataforma ML con Amazon SageMaker - Desde el desarrollo de modelos hasta el despliegue
Desde el desarrollo en Studio hasta el entrenamiento con instancias spot gestionadas, MLOps con Pipelines y detección de drift de datos con Model Monitor, este artículo cubre cómo integrar todo el ciclo de vida ML.
Descripción general de SageMaker
SageMaker es un servicio que proporciona de forma integrada la construcción, el entrenamiento y el despliegue de modelos ML, y permite utilizar al menos 17 algoritmos integrados y al menos 150 modelos preentrenados. SageMaker Studio es un IDE basado en navegador que integra notebooks Jupyter, gestión de experimentos, registro de modelos y pipelines. Cubre los flujos de trabajo tanto de los científicos de datos como de los ingenieros de ML.
Entrenamiento y despliegue
Para ejecutar un trabajo de entrenamiento, especifique los datos de entrenamiento en S3 y una instancia ML (como instancias GPU ml.p3.2xlarge). Cuando termina el entrenamiento, los artefactos del modelo quedan guardados en S3. Los endpoints de inferencia en tiempo real ofrecen inferencia de baja latencia con instancias siempre activas, y la inferencia serverless es una opción rentable en la que las instancias solo arrancan cuando llega una solicitud. SageMaker Pipelines define como un DAG los pasos de procesamiento de datos, entrenamiento, evaluación, ramificación condicional y registro de modelos, y automatiza el flujo de trabajo de ML.
MLOps y monitorización de modelos
Con SageMaker Pipelines, defina el flujo de trabajo de ML (preprocesamiento de datos → entrenamiento → evaluación → registro de modelos → despliegue) como un pipeline de CI/CD. Gestione con Model Registry el control de versiones de los modelos y el flujo de aprobación, y establezca una puerta de calidad antes del despliegue en producción. Model Monitor detecta automáticamente el drift de datos (cambios en la distribución de los datos de entrada) y la calidad del modelo (degradación de la precisión) en los endpoints de inferencia, y avisa mediante alarmas de CloudWatch. SageMaker Clarify ofrece detección de sesgos y explicabilidad del modelo, y visualiza la importancia de las características y los fundamentos de cada predicción. Gestione de forma centralizada en Feature Store las características que comparten los equipos, y utilice características coherentes en el entrenamiento y la inferencia.
Optimización de costos de SageMaker
Los costos de SageMaker consisten en instancias de entrenamiento, endpoints de inferencia e instancias de notebook. El entrenamiento con spot gestionado puede reducir los costos de entrenamiento hasta un 90%, y los puntos de control permiten reanudar después de una interrupción. Para los endpoints de inferencia puede elegir entre la inferencia serverless (con arranques en frío) y la inferencia en tiempo real (siempre activa), y para los modelos con poco tráfico es adecuada la opción serverless. Los endpoints multimodelo alojan varios modelos en un solo endpoint y comparten el costo de las instancias. SageMaker Savings Plans aplica descuentos por compromiso al uso de instancias de ML y reduce los costos a largo plazo.
Preparación de datos e ingeniería de características
Los resultados de ML dependen en gran medida de la calidad de los datos de entrada, más que del propio modelo. SageMaker ofrece una función para componer visualmente el preprocesamiento y la transformación de datos, y trabajos de procesamiento que ejecutan de forma gestionada el procesamiento de datos a gran escala. Las características preparadas pueden registrarse en Feature Store para su gestión centralizada y reutilizarse entre equipos. Más importante aún es poder usar las mismas definiciones de características en el entrenamiento y en la inferencia. Esto evita incidentes en los que la entrada difiere entre el desarrollo y la producción. Un mecanismo para crear y compartir de forma eficiente características de calidad eleva la productividad de todo el desarrollo de modelos.
Gestión de experimentos y ajuste de hiperparámetros
El desarrollo de modelos consiste en buscar la mejor configuración comparando numerosas pruebas. Si utiliza la función de gestión de experimentos de SageMaker, puede registrar los parámetros, los datos y los resultados de evaluación de cada prueba y comparar las condiciones más adelante. Puede avanzar en las mejoras de forma reproducible, sin depender de la intuición ni del trabajo manual. Con la función de ajuste automático de hiperparámetros, basta con especificar el rango de búsqueda para probar de forma eficiente varias combinaciones y encontrar configuraciones de alto rendimiento. En comparación con el ensayo y error manual, resulta más fácil llegar a buenos resultados con menos esfuerzo. Una gestión sistemática de los experimentos sostiene un desarrollo de modelos reproducible y fácil de explicar.
Elección de las opciones de inferencia
SageMaker ofrece varios métodos de inferencia según el uso. Si necesita baja latencia y respuesta constante, es adecuada la inferencia en tiempo real siempre activa. Si el tráfico es escaso y quiere contener los costos, es apropiada la inferencia serverless, que solo arranca cuando llega una solicitud. La inferencia asíncrona es eficiente para procesar entradas grandes a lo largo del tiempo, y la transformación por lotes es eficiente para procesar en bloque grandes volúmenes de datos. Elija el método según el equilibrio entre las características del tráfico, la capacidad de respuesta que necesita y el costo. Si aloja varios modelos en un solo endpoint, también puede compartir instancias y reducir costos.
Seguridad y gobernanza
También en una plataforma de ML, la protección de los datos y de los modelos es imprescindible. Cifre los datos de entrenamiento y los artefactos, y limite el acceso con IAM al mínimo privilegio. Si cierra la red dentro de una VPC con una configuración que no pase por internet, puede limitar la ruta de los datos sensibles al interior de la organización. Si gestiona las versiones de los modelos en el registro y establece una puerta de calidad que exija aprobación antes de pasar a producción, puede evitar el despliegue por error de modelos no verificados. Si incorpora un mecanismo que evalúe los fundamentos de las decisiones del modelo y sus sesgos, también puede atender usos que exigen rendición de cuentas y lograr una operación de ML de confianza.
Resumen
SageMaker es una plataforma que integra todo el ciclo de vida ML. El desarrollo tiene lugar en Studio y el entrenamiento con spot gestionado reduce los costos hasta un 90%. Pipelines permite construir pipelines de MLOps y Model Monitor detecta automáticamente el drift de datos. La inferencia serverless y los endpoints multimodelo optimizan los costos de despliegue, y Feature Store hace posible compartir características entre equipos.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- Amazon SageMaker (página oficial)
- Amazon S3 (página oficial)
- Amazon ECR (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.