bentoml/BentoML

The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!

BentoML – 통합 모델 서빙 프레임워크

정의

  • 몇 줄의 코드로 모든 AI/ML 모델(PyTorch, TensorFlow, Transformers 등)을 프로덕션 준비 추론 API로 변환할 수 있는 Python 라이브러리.
  • 패키징, Docker 이미지 생성, Kubernetes 또는 기타 환경으로의 배포를 처리합니다.

주요 기능

  • 간단한 API 정의 – @bentoml.service 및 @bentoml.api로 클래스를 데코레이트하여 함수를 HTTP 엔드포인트로 노출합니다.
  • 자동 컨테이너화 – bentoml build는 Bento(버전 관리된 아티팩트)를 생성하고, bentoml containerize는 코드, 모델, 종속성을 번들한 Docker 이미지를 생성합니다.
  • 성능 최적화 – 동적 배칭, 모델 병렬 처리, 다단계 파이프라인, 다중 모델 오케스트레이션을 내장하여 CPU/GPU 활용도를 극대화합니다.
  • 프레임워크 비종속 – 모든 Python 기반 모델 라이브러리와 호환됩니다. 서비스 정의에서 필요한 패키지를 지정합니다.
  • 관찰 가능성 및 확장 – 분산 서빙, 적응형 배칭을 지원하고 모니터링 도구와 통합됩니다.

일반적인 워크플로우

  1. 설치 pip install -U bentoml (Python ≥ 3.9).
  2. 서비스 작성 (예: Hugging Face Transformers를 사용한 요약 API).
  3. 로컬 실행 bentoml serve로 http://localhost:3000에서 테스트.
  4. 서비스 패키징: bentoml build → 버전 관리된 Bento 생성.
  5. 배포: bentoml containerize <bento_name> → Docker 이미지 → 모든 호스트 또는 Kubernetes에서 실행.

예제 코드

import bentoml

@bentoml.service(
    image=bentoml.images.Image(python_version="3.11").python_packages("torch", "transformers"),
)
class Summarization:
    def __init__(self):
        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]:
        return [r['summary_text'] for r in self.pipeline(texts)]

bentoml serve를 실행하면 API가 즉시 시작됩니다.

생태계 및 예제

  • LLM(Llama 3.2, Mistral, DeepSeek), 확산 모델, 임베딩, 오디오 모델, 컴퓨터 비전 탐지기, 함수 호출, LangGraph, CrewAI와 같은 고급 패턴을 위한 준비된 예제가 있습니다.
  • 전체 문서는 https://docs.bentoml.com에서 제공되며, 문제 해결 및 패턴 공유를 위한 커뮤니티 포럼이 있습니다.

커뮤니티 및 기여

  • Apache 2.0 라이선스의 오픈소스.
  • CI, 이슈 트래커, 기여 가이드를 갖춘 활발한 GitHub 저장소.
  • 사용자는 --do-not-track 또는 환경 변수를 통해 익명 사용 텔레메트리를 거부할 수 있습니다.

대상 사용자

  • 보일러플레이트 Docker/Kubernetes 코드를 작성하지 않고 모델을 확장 가능한 API로 노출해야 하는 ML 엔지니어.
  • 다중 모델 파이프라인 또는 CPU/GPU에서 효율적으로 실행해야 하는 서비스를 구축하는 팀.
  • AI 모델을 프로덕션에 재현 가능하고 버전 관리된 방식으로 배포하려는 모든 사람.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch