For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Exigence
Minimum
Recommandé

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

  1. Connectez-vous à clore.ai.

  2. Cliquez sur Place de marché et sélectionnez une instance GPU avec ≥ 16 Go de VRAM.

  3. Définissez l'image Docker : nous utiliserons une build personnalisée (voir l'étape 2).

  4. Définissez les ports ouverts : 22 (SSH) et 3000 (service BentoML).

  5. 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) :

BentoML ne fournit pas d'image Docker GPU officielle sur Docker Hub. Les bentoml/bento-server images sur Docker Hub sont destinées au service de Bentos préemballés et n'incluent pas la prise en charge de CUDA. Construisez l'image à partir du Dockerfile ci-dessus pour des déploiements avec GPU sur Clore.ai.


É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

Le --reload L'indicateur permet le rechargement à chaud pendant le développement. Supprimez-le en production pour plus de stabilité.


É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-smi

  • Vé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 :

GPU
VRAM
Prix Clore.ai
Débit du LLM (7B Q4)
Diffusion (SDXL)
Vision (ResNet50)

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

A100 40 Go

40 Go

~110 tok/s

~6 img/min

~1200 req/s

A100 80 Go

80 Go

~130 tok/s

~7 img/min

~1400 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

De BentoML micro-batching adaptatif est particulièrement efficace sur les A100 — le planificateur matériel gère le batching de façon efficace, obtenant plus de débit par dollar qu'un service naïf à requête unique. Pour les API à fort trafic, une A100 40 Go offre souvent un meilleur ROI que deux RTX 4090.


Ressources utiles

Mis à jour

Ce contenu vous a-t-il été utile ?