Home
Login
bentoml/BentoML

La manière la plus simple de déployer des applications et des services de modèles d'IA - Construire des API d'inférence de modèles, des files d'attente de tâches, des applications LLM, des pipelines multi-modèles, etc.

Apache-2.0Python 7.8kbentoml Last Updated: 2025-06-13
https://github.com/bentoml/BentoML

Présentation détaillée du projet BentoML

Aperçu

BentoML est une puissante bibliothèque Python spécialement conçue pour la construction d'applications d'IA en ligne et de systèmes de services d'inférence de modèles. Considérée comme "le moyen le plus simple de servir les applications et les modèles d'IA", elle aide les développeurs à construire facilement des API d'inférence de modèles, des files d'attente de tâches, des applications de grands modèles de langage (LLM), des pipelines multi-modèles et d'autres systèmes de services d'IA complexes.

Le principe fondamental de BentoML est de simplifier, d'optimiser et de rendre fiable le déploiement des modèles d'IA de l'environnement de développement à l'environnement de production. Grâce à des flux de travail standardisés et à de puissantes fonctionnalités d'optimisation, BentoML réduit considérablement les barrières techniques au déploiement des modèles d'IA, permettant aux développeurs de se concentrer sur le modèle lui-même plutôt que sur la complexité du déploiement.

Fonctionnalités et caractéristiques principales

🍱 Simplification de la construction d'API

  • Simple et rapide : Transformez n'importe quel script d'inférence de modèle en serveur API REST avec seulement quelques lignes de code et des annotations de type Python standard.
  • Indépendant du framework : Prend en charge tous les frameworks d'apprentissage automatique, y compris PyTorch, TensorFlow, Scikit-learn, etc.
  • Prise en charge complète des modalités : Prend en charge diverses modalités de données telles que le texte, les images, l'audio et la vidéo.

🐳 Simplification de la conteneurisation Docker

  • Gestion des dépendances : Dites adieu à l'enfer des dépendances ! Gérez l'environnement, les dépendances et les versions des modèles grâce à un simple fichier de configuration.
  • Génération automatique : BentoML génère automatiquement des images Docker, garantissant la reproductibilité.
  • Cohérence de l'environnement : Simplifie le processus de déploiement dans différents environnements, assurant la cohérence entre les environnements de développement et de production.

🧭 Optimisation des performances

  • Maximisation de l'utilisation du CPU/GPU : Construisez des API d'inférence haute performance grâce aux fonctionnalités d'optimisation de service intégrées.
  • Traitement par lots dynamique : Traitement par lots automatique des requêtes pour améliorer le débit.
  • Parallélisme de modèle : Prend en charge le traitement parallèle des modèles pour accélérer l'inférence.
  • Pipelines multi-étapes : Prend en charge les pipelines d'inférence multi-étapes complexes.
  • Orchestration multi-modèles : Orchestration intelligente de graphes d'inférence multi-modèles.

👩💻 Entièrement personnalisable

  • Conception d'API flexible : Implémentez facilement des API personnalisées ou des files d'attente de tâches.
  • Intégration de la logique métier : Prend en charge la logique métier personnalisée, l'inférence de modèles et la combinaison de plusieurs modèles.
  • Prise en charge de l'exécution : Prend en charge n'importe quel environnement d'exécution d'inférence et environnement de déploiement.

🚀 Prêt pour la production

  • Développement local : Développez, exécutez et déboguez dans un environnement local.
  • Déploiement transparent : Déployez de manière transparente en production via des conteneurs Docker ou BentoCloud.
  • Prise en charge native du cloud : Solutions complètes de déploiement natives du cloud.

Exemple de démarrage rapide

Installation

# Nécessite Python ≥ 3.9
pip install -U bentoml

Définition du service

import bentoml

@bentoml.service(
    image=bentoml.images.Image(python_version="3.11").python_packages("torch", "transformers"),
)
class Summarization:
    def __init__(self) -> None:
        import torch
        from transformers import pipeline
        device = "cuda" if torch.cuda.is_available() else "cpu"
        self.pipeline = pipeline('summarization', device=device)

    @bentoml.api(batchable=True)
    def summarize(self, texts: list[str]) -> list[str]:
        results = self.pipeline(texts)
        return [item['summary_text'] for item in results]

Exécution locale

bentoml serve

Construction et conteneurisation

bentoml build
bentoml containerize summarization:latest
docker run --rm -p 3000:3000 summarization:latest

Écosystème riche

Grands modèles de langage (LLMs)

  • Llama 3.2: Prise en charge du modèle d'instructions visuelles 11B
  • Mistral: Modèle d'instructions Ministral-8B
  • DeepSeek Distil: Modèle optimisé pour l'appel d'outils

Génération d'images

  • Stable Diffusion 3 Medium: Génération d'images de haute qualité
  • Stable Video Diffusion: Capacité de génération de vidéos
  • SDXL Turbo: Génération rapide d'images
  • ControlNet: Génération d'images contrôlable
  • LCM LoRAs: Adaptation de modèles à faible coût

Modèles d'intégration

  • SentenceTransformers: Intégration de texte
  • ColPali: Récupération multimodale

Traitement audio

  • ChatTTS: Synthèse vocale conversationnelle
  • XTTS: Synthèse vocale multilingue
  • WhisperX: Reconnaissance vocale
  • Bark: Génération audio

Vision par ordinateur

  • YOLO: Détection d'objets
  • ResNet: Classification d'images

Applications avancées

  • Function Calling: Capacité d'appel de fonctions
  • LangGraph: Intégration de graphes de langage
  • CrewAI: Système multi-agents

Fonctionnalités avancées

Composition et orchestration de modèles

  • Composition de modèles : Prend en charge l'utilisation combinée de plusieurs modèles.
  • Traitement parallèle : Prise en charge du parallélisme des workers et des modèles.
  • Traitement par lots adaptatif : Ajuste automatiquement la taille des lots en fonction de la charge.

Optimisation des performances

  • Inférence GPU : Prise en charge complète de l'accélération GPU.
  • Services distribués : Construction de systèmes d'inférence distribués.
  • Concurrence et mise à l'échelle automatique : Gestion intelligente des ressources.

Prise en charge des opérations

  • Chargement et gestion des modèles : Stockage et gestion unifiés des modèles.
  • Observabilité : Surveillance et journalisation complètes.
  • Déploiement cloud : Déploiement en un clic avec BentoCloud.

Intégration BentoCloud

BentoCloud fournit une infrastructure de calcul pour l'adoption rapide et fiable de GenAI, aidant à accélérer le processus de développement de BentoML et à simplifier le déploiement, l'extension et l'exploitation de BentoML dans les environnements de production.

Principaux avantages

  • Déploiement rapide : Déploiement en un clic dans le cloud.
  • Mise à l'échelle automatique : Ajuste automatiquement les ressources en fonction de la charge.
  • Prise en charge de niveau entreprise : Fournit des services de sécurité et de support de niveau entreprise.

Communauté et écosystème

Communauté active

  • Communauté Slack : Des milliers d'ingénieurs IA/ML s'entraident, contribuent aux projets et discutent de la construction de produits d'IA.
  • Support GitHub : Communauté open source active, mises à jour continues des fonctionnalités et corrections de bugs.
  • Documentation complète : Documentation détaillée et guides d'utilisation.

Confidentialité et sécurité des données

Le framework BentoML collecte des données d'utilisation anonymes pour aider la communauté à améliorer le produit, mais protège strictement la confidentialité des utilisateurs :

  • Appels API internes uniquement : Ne signale que les appels API internes de BentoML.
  • Exclusion des informations sensibles : Ne contient pas de code utilisateur, de données de modèle, de noms de modèle ou de traces de pile.
  • Option de désinscription : Les utilisateurs peuvent choisir de désactiver le suivi via une option CLI ou une variable d'environnement.

Conclusion

BentoML est une plateforme de déploiement de modèles d'IA révolutionnaire qui a réussi à résoudre le problème du "dernier kilomètre" du déploiement de l'IA du laboratoire à l'environnement de production. Grâce à sa conception d'API simple, à sa puissante optimisation des performances, à sa prise en charge complète de la conteneurisation et à son écosystème riche, BentoML fournit aux développeurs d'IA une solution de service de modèles unifiée, efficace et évolutive.

Que ce soit pour un développeur individuel ou une équipe d'entreprise, qu'il s'agisse d'une simple inférence de modèle ou d'un système multi-modèles complexe, BentoML peut fournir la solution appropriée. Sa philosophie de conception native du cloud et le support de niveau entreprise de BentoCloud font de BentoML l'outil de choix pour le développement et le déploiement d'applications d'IA modernes.

Avec le développement rapide de la technologie de l'IA, BentoML continue d'évoluer, intégrant constamment les derniers modèles et technologies d'IA, fournissant un support solide aux développeurs d'IA pour construire la prochaine génération d'applications intelligentes.