BentoML
BentoML est un framework moderne et open source pour créer, déployer et faire évoluer des applications d’IA. Il comble le fossé entre l'expérimentation en ML et le déploiement en production, vous permettant d'empaqueter n'importe quel modèle de n'importe quel framework dans un service d'API prêt pour la production en quelques minutes. Exécutez BentoML sur le cloud GPU de Clore.ai pour un hébergement d'applications d'IA économique.
Qu'est-ce que BentoML ?
BentoML facilite la prise d’un modèle entraîné et sa transformation en service d’API évolutif :
Indépendant du framework : PyTorch, TensorFlow, JAX, scikit-learn, Hugging Face, XGBoost, LightGBM, et plus encore
Bento : Un artefact autonome et reproductible (modèle + code + dépendances)
Runner : Unité d'inférence de modèle évolutive avec micro-lots automatiques
Service : Définition de service HTTP/gRPC de type FastAPI
BentoCloud : Plateforme de déploiement gérée optionnelle
Priorité à Docker : Chaque Bento peut être conteneurisé en une seule commande
Fonctionnalités clés :
Micro-batching adaptatif pour optimiser le débit
Validation intégrée des entrées/sorties avec Pydantic
Spécification OpenAPI générée automatiquement
Métriques Prometheus intégrées
Prise en charge des réponses en streaming (LLMs)
Prérequis
VRAM GPU
8 Go
16–24 Go
GPU
Toute carte NVIDIA
RTX 4090 / A100
RAM
8 Go
16 Go
Stockage
20 Go
40 Go
Python
3.9+
3.11+
Étape 1 — Louer un GPU sur Clore.ai
Connectez-vous à clore.ai.
Cliquez sur Place de marché et sélectionnez une instance GPU avec ≥ 16 Go de VRAM.
Définissez l'image Docker : nous utiliserons une build personnalisée (voir l'étape 2).
Définissez les ports ouverts :
22(SSH) et3000(service BentoML).Cliquez sur Louer.
Étape 2 — Dockerfile
BentoML ne dispose pas d'une image Docker GPU officielle, nous en construisons donc une :
Construire et pousser
Construisez l'image et poussez-la vers votre propre compte Docker Hub (remplacez YOUR_DOCKERHUB_USERNAME par votre nom d'utilisateur réel) :
Étape 3 — Connectez-vous via SSH
Vérifier BentoML :
Étape 4 — Votre premier service BentoML
Classificateur de texte simple
Créez un fichier de service :
Démarrer le service
Étape 5 — Accéder au service
Ouvrez l'interface Swagger UI générée automatiquement :
Ou testez via curl:
Réponse attendue :
Étape 6 — Service de classification d'images
Service de modèle de vision
Testez avec une image :
Étape 7 — Service de streaming LLM
Pour les modèles de langage avec réponses en streaming :
Étape 8 — Enregistrer et construire un Bento
Un Bento est un artefact empaqueté et reproductible :
bentofile.yaml
Surveillance et métriques
BentoML expose les métriques Prometheus à /metrics:
Métriques clés :
Configuration du batching adaptatif
Dépannage
Le service ne démarre pas
Solutions :
Vérifiez la disponibilité de CUDA :
python -c "import torch; print(torch.cuda.is_available())"Vérifiez la VRAM du GPU :
nvidia-smiVérifiez que le téléchargement du modèle est terminé (cherchez la progression du téléchargement dans les journaux)
Port 3000 inaccessible
Latence élevée lors de la première requête
C'est normal — la première requête déclenche le chargement du modèle (warm-up). Toutes les requêtes suivantes seront rapides. Ajoutez un appel à un point de terminaison de warm-up après le démarrage :
Erreurs d'importation
Solution :
Recommandations GPU Clore.ai
BentoML est un framework de service — les exigences GPU dépendent entièrement du modèle que vous déployez. Voici à quoi vous attendre pour les charges de travail courantes :
RTX 3090
24 Go
0,07–0,21 $/h
~80 tok/s
~4 img/min
~400 req/s
RTX 4090
24 Go
0,14–0,42 $/h
~140 tok/s
~8 img/min
~700 req/s
Conseils d'utilisation :
Service d'API LLM (7B–13B) : RTX 3090 (0,07–0,21 $/h) — rapport qualité-prix optimal
API de génération d'images : RTX 3090 ou RTX 4090 selon les besoins en débit
Grands modèles (34B–70B Q4) : A100 40 Go (bare metal) — tient largement
Service multi-modèles en production : A100 80 Go pour une marge mémoire
Ressources utiles
Mis à jour
Ce contenu vous a-t-il été utile ?