Despliegue en la nube: AWS SageMaker
SageMaker Model, EndpointConfig, Endpoint, inferencia en tiempo real y transformación por lotes.
Despliegue en la nube: AWS SageMaker es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Por qué SageMaker
Amazon SageMaker es un servicio administrado para entrenar e implementar modelos de ML. En lugar de aprovisionar servidores y balanceadores de carga por su cuenta, describe un modelo y SageMaker configura entre bastidores un endpoint HTTPS escalable.
Los tres elementos
Una implementación en SageMaker necesita tres elementos:
- Una image_uri de contenedor (su imagen de servicio en ECR o una imagen de framework integrada)
- Los pesos entrenados como model_data, un archivo tar.gz en S3
- Un rol de IAM que conceda a SageMaker acceso a esos recursos
Definir un modelo
El objeto sagemaker.Model vincula la imagen del contenedor con el artefacto del modelo en S3.
import sagemaker
from sagemaker.model import Model
model = Model(
image_uri="123456789012.dkr.ecr.us-east-1.amazonaws.com/my-model:latest",
model_data="s3://my-bucket/models/model.tar.gz",
role="arn:aws:iam::123456789012:role/SageMakerRole",
)Qué contiene model.tar.gz
SageMaker descarga y extrae model_data en /opt/ml/model dentro del contenedor al iniciarse. El código que ofrece el servicio lee los pesos desde allí. El archivo suele contener el archivo del modelo guardado y cualquier recurso de preprocesamiento.
# model.tar.gz contents
# model.pt
# tokenizer.json
# config.jsonImplementar un endpoint en tiempo real
model.deploy inicia una o más instancias detrás de un endpoint HTTPS persistente. Usted elige instance_type y el número inicial de instancias.
predictor = model.deploy(
initial_instance_count=1,
instance_type="ml.m5.xlarge",
endpoint_name="my-model-endpoint",
)Elegir un tipo de instancia
El tipo de instancia determina el coste y la latencia:
ml.m5.*CPU de propósito general, económica para modelos pequeñosml.c5.*optimizada para cómputoml.g4dn.*/ml.g5.*GPU para inferencia de aprendizaje profundo
Elija una instancia adecuada para el modelo: una GPU se desaprovecha con un modelo pequeño de scikit-learn.
Llamar a predict()
Una vez implementado, predictor.predict() envía una carga útil al endpoint y devuelve el resultado de la inferencia. SageMaker serializa la solicitud y la dirige a una instancia activa.
result = predictor.predict({
"instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)Limpiar los endpoints
Los endpoints en tiempo real se facturan por segundo mientras están en ejecución. Elimine siempre los endpoints que ya no necesite; de lo contrario, acumulará cargos incluso sin tráfico.
predictor.delete_endpoint()Batch Transform para trabajos sin conexión
Para puntuar un conjunto de datos grande una sola vez (en lugar de ofrecer un servicio de baja latencia), use batch transform. SageMaker inicia instancias, procesa un conjunto de datos completo de S3, escribe los resultados de nuevo en S3 y, después, apaga las instancias. No hay un endpoint persistente ni costes por inactividad.
Ejecutar una transformación por lotes
Cree un transformador a partir del modelo y apúntelo a los datos de entrada en S3.
transformer = model.transformer(
instance_count=1,
instance_type="ml.m5.xlarge",
output_path="s3://my-bucket/predictions/",
)
transformer.transform(
data="s3://my-bucket/input/batch.csv",
content_type="text/csv",
)
transformer.wait()Tiempo real frente a lotes
Elija según la carga de trabajo:
- Endpoint en tiempo real: solicitudes continuas de baja latencia (por ejemplo, una API de recomendaciones)
- Batch transform: evaluación periódica de grandes conjuntos de datos (por ejemplo, predicciones nocturnas de abandono de clientes)
El procesamiento por lotes es mucho más económico cuando no necesita respuestas instantáneas.
Comprobación rápida
¿Cuándo debe usar SageMaker batch transform en lugar de un endpoint en tiempo real?
Resumen
Ha implementado un modelo en AWS SageMaker:
sagemaker.Modelvincula image_uri con model_data en S3model.deploycrea un endpoint en tiempo real en un instance_type elegidopredictor.predict()envía solicitudes de inferencia- Batch transform gestiona de forma económica grandes cargas de trabajo sin conexión
- Elimine siempre los endpoints inactivos para evitar cargos
Preguntas frecuentes
¿La lección «Despliegue en la nube: AWS SageMaker» es gratis?
Sí — el texto completo de «Despliegue en la nube: AWS SageMaker» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Despliegue en la nube: AWS SageMaker»?
SageMaker Model, EndpointConfig, Endpoint, inferencia en tiempo real y transformación por lotes. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Despliegue en la nube: AWS SageMaker»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Contenerización de modelos de ML con Docker
- Despliegue en la nube: AWS SageMaker
- Servicio de alto rendimiento con Triton Inference Server
- Escalado y autoescalado de endpoints de modelos