MLOps · Ingeniería de Datos

Servir modelos (APIs de inferencia)

Desplegar un modelo entrenado como un servicio de inferencia accesible, con consideraciones de latencia, escalado y versiones.

Servir modelos

De artefacto a servicio Servir un modelo es convertir artefacto en servicio: un endpoint que, ante una entrada, devuelve una predicción en milisegundos, aguante tráfico y se actualice sin derribar la aplicación que lo consume.

Lote frente a en línea

El endpoint de inferencia

Se expone una API (típicamente REST o gRPC) que recibe datos, invoca el modelo y devuelve la predicción. Es la fachada del modelo ante el mundo.

Empaquetar el modelo

El artefacto se serializa en un formato portable (ONNX, TorchScript u otro) y se mete en un contenedor con sus dependencias, para que corra igual en cualquier lado.

Latencia y rendimiento

Escalado

La demanda fluctúa. Escalar horizontalmente añade réplicas; el autoescalado ajusta según carga, y las colas amortiguan picos sin reventar.

Versionado del servicio

Un artefacto de modelo dentro de un contenedor a la izquierda, flechas de peticiones que entran por una puerta de enlace central y salen hacia una pila de réplicas idénticas a la derecha, con una pequeña cola amortiguando.
El modelo se serializa, se conteneriza y se esconde tras un endpoint que escala réplicas y amortigua picos con colas.

Gestión de recursos

Los modelos son ávidos de memoria y GPU. Asignar recursos, reutilizar cargas y apagar réplicas ociosas controla el coste.

Validación de entrada

El servicio debe revisar que la entrada tenga el formato y rango esperados. Un dato malformado no debe tumbarlo, sino devolver un error claro.

Observabilidad

Caída degradada

Cuando el modelo falla o se satura, tener una respuesta de reserva (un modelo simple, una regla, una caché) evita un corte total.

Seguridad del endpoint

Un modelo expuesto es un blanco. Autenticar peticiones, limitar tasa y aislar el entorno protegen frente a abuso o extracción del modelo.

Errores frecuentes

Ejemplo resuelto: servir un clasificador con API

Un clasificador de texto se exporta a un formato portable y se mete en un contenedor con sus dependencias. Se publica tras un endpoint que revisa la entrada, agrupa peticiones para ganar rendimiento y arranca con un despliegue canario al cinco por ciento del tráfico antes de liberarlo al total.

  1. serializar el modelo a un formato portable como ONNX
  2. envolverlo en un contenedor con sus dependencias
  3. exponer un endpoint que valida la entrada y responde la predicción
  4. escalar réplicas y añadir una cola para absorber picos
  5. lanzar en canario, observar métricas y liberar al tráfico completo

¿Para qué sirve en la realidad?

Todo producto que consulta un modelo en vivo —motores de recomendación, detección de fraude, asistentes— depende de un endpoint que responde en milisegundos y aguanta la demanda sin derribar la aplicación que lo consume.

Una publicación canario de un modelo sirve para:

Servir un modelo en línea suele exigir mayor atención a la latencia por petición que la predicción por lotes.

Servicio

Fachada que recibe datos y da predicciones
endpoint
Predecir muchos casos de golpe
lote
Formato portable del artefacto
onnx
Lanzar la versión a poco tráfico primero
canario
Amortiguar picos de petición
cola

Ordena el camino de un modelo al servicio en producción:

Empaquetar
Contenerizar
Desplegar
Monitorizar

Acuerdo de nivel de servicio
Objetivos de disponibilidad y rendimiento de un servicio.

Une cada término de servicio con su definición:

Serving

# Servir modelos
## Modo
### lote
### en línea
### híbrido
## Empaquetado
### formato portable
### contenedor
### dependencias
## Rendimiento
### latencia
### agrupación
### escalado y colas
## Despliegue
### azul-verde
### canario
### observabilidad

Microservicios
Arquitectura que expone funcionalidad como servicios independientes y escalables.

Tu endpoint se cae cuando llegan peticiones masivas. ¿Escalar réplicas, añadir cola, o agrupar peticiones? Razona qué atacaría mejor el pico.