BentoML
BentoML es un marco moderno de código abierto para crear, desplegar y escalar aplicaciones de IA. Une la brecha entre la experimentación con 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 de GPU de Clore.ai para un alojamiento rentable de aplicaciones de IA.
¿Qué es BentoML?
BentoML facilita tomar un modelo entrenado y convertirlo en un servicio API escalable:
Independiente del framework: PyTorch, TensorFlow, JAX, scikit-learn, HuggingFace, XGBoost, LightGBM y más
Bento: Un artefacto autónomo y reproducible (modelo + código + dependencias)
Runner: Unidad de inferencia de modelo escalable con procesamiento por lotes automático
Servicio: Definición de servicio HTTP/gRPC similar a FastAPI
BentoCloud: Plataforma de despliegue gestionada opcional
Primero Docker: Cada Bento puede convertirse en contenedor con un solo comando
Características principales:
Micro-lotes adaptativos para optimización del rendimiento
Validación integrada de entrada/salida con Pydantic
Especificación OpenAPI generada automáticamente
Métricas de Prometheus integradas
Compatibilidad con respuestas en streaming (LLMs)
Requisitos previos
VRAM de 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
Inicia sesión en clore.ai.
Haz clic en Marketplace y selecciona una instancia de GPU con ≥ 16 GB de VRAM.
Establece la imagen Docker: usaremos una compilación personalizada (ver Paso 2).
Establece los puertos abiertos:
22(SSH) y3000(servicio BentoML).Haz clic en Alquilar.
Paso 2 — Dockerfile
BentoML no tiene una imagen Docker oficial para GPU, así que construimos una:
Construir y subir
Construye la imagen y súbela a tu propia cuenta de Docker Hub (reemplaza YOUR_DOCKERHUB_USERNAME con tu nombre de usuario real):
Paso 3 — Conéctate por SSH
Verifica BentoML:
Paso 4 — Tu primer servicio BentoML
Clasificador de texto simple
Crea un archivo de servicio:
Inicia el servicio
Paso 5 — Accede al servicio
Abre la UI Swagger generada automáticamente:
O prueba mediante curl:
Respuesta esperada:
Paso 6 — Servicio de clasificación de imágenes
Servicio de modelo de visión
Prueba con una imagen:
Paso 7 — Servicio de streaming de LLM
Para modelos de lenguaje con respuestas en streaming:
Paso 8 — Guarda y construye un Bento
Un Bento es un artefacto empaquetado y reproducible:
bentofile.yaml
Monitorización y métricas
BentoML expone métricas de Prometheus en /metrics:
Métricas clave:
Configuración de agrupación adaptativa
Solución de problemas
El servicio no inicia
Soluciones:
Comprueba la disponibilidad de CUDA:
python -c "import torch; print(torch.cuda.is_available())"Verifica la VRAM de la GPU:
nvidia-smiComprueba 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 activa la carga del modelo (calentamiento). Todas las solicitudes posteriores serán rápidas. Añade una llamada al endpoint de calentamiento después del inicio:
Errores de importación
Solución:
Recomendaciones de GPU para Clore.ai
BentoML es un framework de servicio; los requisitos de GPU dependen totalmente del modelo que despliegues. Esto es lo que puedes esperar para cargas de trabajo comunes:
RTX 3090
24 GB
$0.07–0.21/h
~80 tok/s
~4 img/min
~400 req/s
RTX 4090
24 GB
$0.14–0.42/h
~140 tok/s
~8 img/min
~700 req/s
Guía de casos de uso:
Servicio de API LLM (7B–13B): RTX 3090 ($0.07–0.21/h) — relación precio-rendimiento óptima
APIs de generación de imágenes: RTX 3090 o RTX 4090 según las necesidades de rendimiento
Modelos grandes (34B–70B Q4): A100 40GB (bare metal) — cabe cómodamente
Servicio multmodelo en producción: A100 80GB para margen de memoria
Recursos útiles
Última actualización
¿Te fue útil?