BentoML

BentoML es un marco moderno y de código abierto para construir, desplegar y escalar aplicaciones de IA. Cierra la brecha entre la experimentación en ML y el despliegue en producción, permitiéndote empaquetar cualquier modelo de cualquier framework en un servicio API listo para producción en minutos. Ejecuta BentoML en la nube con GPU de Clore.ai para un alojamiento de aplicaciones de IA rentable.


¿Qué es BentoML?

BentoML facilita tomar un modelo entrenado y convertirlo en un servicio API escalable:

  • Agnóstico al framework: PyTorch, TensorFlow, JAX, scikit-learn, HuggingFace, XGBoost, LightGBM y más

  • Bento: Un artefacto autocontenido y reproducible (modelo + código + dependencias)

  • Runner: Unidad escalable de inferencia de modelos con agrupamiento automático

  • Service: Definición de servicio HTTP/gRPC estilo FastAPI

  • BentoCloud: Plataforma de despliegue gestionada opcional

  • Docker-first: Cada Bento puede contenerizarse con un solo comando

Características clave:

  • Micro-agrupamiento adaptativo para optimizar el rendimiento

  • Validación de entrada/salida incorporada con Pydantic

  • Especificación OpenAPI auto-generada

  • Métricas Prometheus integradas

  • Soporte de respuestas en streaming (LLMs)


Prerrequisitos

Requisito
Mínimo
Recomendado

VRAM GPU

8 GB

16–24 GB

GPU

Cualquier NVIDIA

RTX 4090 / A100

RAM

8 GB

16 GB

Almacenamiento

20 GB

40 GB

Python

3.9+

3.11+


Paso 1 — Alquila una GPU en Clore.ai

  1. Inicia sesión en clore.aiarrow-up-right.

  2. Haz clic Marketplace y selecciona una instancia GPU con ≥ 16 GB de VRAM.

  3. Establece la imagen Docker: usaremos una compilación personalizada (ver Paso 2).

  4. Establecer puertos abiertos: 22 (SSH) y 3000 (servicio BentoML).

  5. Haz clic Alquilar.


Paso 2 — Dockerfile

BentoML no tiene una imagen Docker oficial con GPU, así que construimos una:

Compilar y subir

Construye la imagen y súbela a tu cuenta de Docker Hub (reemplaza YOUR_DOCKERHUB_USERNAME con tu nombre de usuario real):

circle-info

BentoML no proporciona una imagen Docker oficial con GPU en Docker Hub. Las bentoml/bento-server imágenes en Docker Hub son para servir Bentos preempaquetados y no incluyen soporte CUDA. Construye la imagen desde el Dockerfile anterior para despliegues con GPU en Clore.ai.


Paso 3 — Conectar vía SSH

Verificar BentoML:


Paso 4 — Tu primer servicio BentoML

Clasificador de texto simple

Crear un archivo de servicio:

Iniciar el servicio

circle-info

El --reload la bandera habilita recarga en caliente durante el desarrollo. Elimínala en producción para mayor estabilidad.


Paso 5 — Acceder al servicio

Abre la interfaz Swagger UI auto-generada:

O prueba vía curl:

Respuesta esperada:


Paso 6 — Servicio de clasificación de imágenes

Servicio de modelo de visión

Probar con una imagen:


Paso 7 — Servicio de streaming para LLM

Para modelos de lenguaje con respuestas en streaming:


Paso 8 — Guardar y construir un Bento

Un Bento es un artefacto empaquetado y reproducible:

bentofile.yaml


Monitoreo y métricas

BentoML expone métricas Prometheus en /metrics:

Métricas clave:


Configuración de micro-agrupamiento adaptativo


Solución de problemas

El servicio no arrancará

Soluciones:

  • Comprobar disponibilidad de CUDA: python -c "import torch; print(torch.cuda.is_available())"

  • Verificar VRAM de la GPU: nvidia-smi

  • Comprobar que la descarga del modelo se completó (busca el progreso de descarga en los registros)

Puerto 3000 no accesible

Alta latencia en la primera solicitud

Esto es normal: la primera solicitud desencadena la carga del modelo (calentamiento). Todas las solicitudes posteriores serán rápidas. Añade una llamada al endpoint de calentamiento después de iniciar:

Errores de importación

Solución:


Recomendaciones de GPU en Clore.ai

BentoML es un framework de serving: los requisitos de GPU dependen totalmente del modelo que despliegues. Esto es lo que puedes esperar para cargas de trabajo comunes:

GPU
VRAM
Precio en Clore.ai
Rendimiento LLM (7B Q4)
Difusión (SDXL)
Visión (ResNet50)

RTX 3090

24 GB

~$0.12/h

~80 tok/s

~4 img/min

~400 req/s

RTX 4090

24 GB

~$0.70/h

~140 tok/s

~8 img/min

~700 req/s

A100 40GB

40 GB

~$1.20/h

~110 tok/s

~6 img/min

~1200 req/s

A100 80GB

80 GB

~$2.00/h

~130 tok/s

~7 img/min

~1400 req/s

Guía de casos de uso:

  • Serving de API LLM (7B–13B): RTX 3090 (~$0.12/hr) — precio-rendimiento óptimo

  • APIs de generación de imágenes: RTX 3090 o RTX 4090 dependiendo de las necesidades de rendimiento

  • Modelos grandes (34B–70B Q4): A100 40GB (~$1.20/hr) — cabe cómodamente

  • Serving de múltiples modelos en producción: A100 80GB para margen de memoria

circle-info

El micro-agrupamiento adaptativo de BentoML es particularmente efectivo en A100s: el planificador de hardware maneja el agrupamiento eficientemente, extrayendo más rendimiento por dólar que el serving ingenuo de solicitudes individuales. Para APIs de alto tráfico, A100 40GB suele ofrecer mejor ROI que dos RTX 4090.


Recursos Útiles

Última actualización

¿Te fue útil?