BentoML et emballage de modèles
BentoML est un framework Python open source qui regroupe des modèles d'apprentissage automatique entraînés dans des unités standardisées et déployables appelées « Bentos ».
Aperçu
It bridges the gap between a model sitting in a notebook and a production service that can actually serve predictions over an API.
Plongée profonde
Lorsqu'un data scientist termine la formation d'un modèle, le mettre en production signifie généralement écrire manuellement du code de diffusion, épingler les dépendances, créer une image Docker et câbler une API. BentoML automatise cela. Vous enregistrez un modèle dans son magasin de modèles local, puis définissez une classe Service avec un point de terminaison d'API décoré pour gérer l'inférence. La commande « bentoml build » regroupe le modèle, votre code Python, les versions de dépendances et la configuration d'exécution dans un Bento autonome et versionné. À partir de là, « bentoml conteneurize » produit une image OCI Docker. BentoML prend en charge presque tous les frameworks (PyTorch, TensorFlow, scikit-learn, XGBoost, Hugging Face Transformers, ONNX) et ajoute un micro-batching adaptatif, qui regroupe automatiquement les requêtes entrantes pour maximiser le débit du GPU sans modifier votre code.
Aperçu technique
BentoML sépare les « Runners » (l'exécution du modèle nécessitant beaucoup de calcul) de la logique du serveur API. Les exécuteurs peuvent évoluer de manière indépendante et s'exécuter dans leurs propres processus de travail, tandis que le serveur HTTP/gRPC léger gère le routage des requêtes et les E/S. Son traitement par lots adaptatif ajuste dynamiquement la taille des lots et une fenêtre de latence au moment de l'exécution, de sorte qu'il absorbe les rafales de trafic et occupe les accélérateurs coûteux. Le format Bento standardisé intègre un manifeste, des fichiers de modèle et un environnement reproductible, ce qui rend les builds déterministes sur toutes les machines.
Impact stratégique
Coût et budget
Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.
Décisions plus claires
La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.
Contrôle qualité
De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.
L'avenir de BentoML et du packaging de modèles
BentoML s'est fortement appuyé sur un grand modèle de langage et sur le service d'IA générative, avec OpenLLM et BentoCloud offrant des réponses de jetons en streaming, une mise à l'échelle automatique et une planification prenant en charge le GPU. Attendez-vous à une intégration plus étroite avec les optimiseurs d'inférence tels que vLLM et TensorRT-LLM, à une meilleure prise en charge des systèmes d'IA composés multimodèles et à des chemins plus fluides depuis un package Bento jusqu'au déploiement de GPU sans serveur. Alors que les équipes passent de modèles uniques à des pipelines agents, BentoML se positionne comme la couche de packaging et de service qui relie ces composants entre eux.
Mise en œuvre dans le monde réel
Une équipe de détection de fraude enregistre un modèle XGBoost dans la boutique BentoML et crée un Bento qui expose un point de terminaison REST /predict que le service de paiement peut appeler en temps réel.
Une équipe de plateforme ML utilise « bentoml conteneurize » pour transformer un modèle de sentiment Hugging Face en une image Docker qui se déploie sur son cluster Kubernetes interne.
Une startup propose un modèle Llama affiné avec OpenLLM (construit sur BentoML), diffusant des jetons vers une interface utilisateur de chat avec un traitement par lots adaptatif gardant le GPU saturé.
Une entreprise de vision par ordinateur regroupe un classificateur d'images PyTorch avec son pipeline de prétraitement dans un seul Bento, de sorte que les transformations exactes utilisées dans la formation soient livrées avec le modèle.
Risques et garde-fous
L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.
Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.
Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.
Feuille de route de mise en œuvre
Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.
Benchmark dans des conditions de charge et de données réalistes.
Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.
Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.
Continuez à explorer
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the BentoML and Model Packaging quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Guide suivant
Modifications spéculatives pour les modèles de code
Questions fréquemment posées
What is BentoML and Model Packaging?
BentoML est un framework Python open source qui regroupe des modèles d'apprentissage automatique entraînés dans des unités standardisées et déployables appelées « Bentos ». Il comble le fossé entre un modèle stocké dans un ordinateur portable et un service de production qui peut réellement fournir des prédictions via une API.
Quelle est l'unité standardisée et déployable produite par BentoML ?
BentoML regroupe un modèle, son code, ses dépendances et sa configuration d'exécution dans une unité autonome versionnée appelée Bento.
Qu'est-ce que le micro-batching adaptatif de BentoML améliore principalement ?
Le traitement par lots adaptatif regroupe les requêtes entrantes au moment de l'exécution pour maintenir les GPU occupés et maximiser le débit sans modification du code.
Dans l'architecture de BentoML, qu'est-ce qui gère l'exécution du modèle gourmand en calcul séparément du serveur API ?
Les exécuteurs encapsulent l'inférence de modèle et peuvent évoluer dans leurs propres processus de travail, découplés du serveur API léger.
Quelle commande transforme un Bento intégré en une image OCI Docker ?
'bentoml conteneurize' produit une image OCI/Docker standard à partir d'un Bento pour le déploiement.
Laquelle de ces raisons est l'une des principales raisons pour lesquelles BentoML intègre des versions de dépendances dans un Bento ?
L'épinglage et l'intégration de l'environnement rendent le service packagé reproductible et cohérent partout où il s'exécute.