BentoML(ベントエムエル)
LLM・MLモデルをAPIとしてデプロイするためのオープンソースフレームワーク。Bento(サービング定義パッケージ)単位で管理しDocker/Kubernetes/クラウドへのデプロイを統一。vLLM統合・BentoCloud(マネージドサービス)・OpenTelemetryを搭載したエンタープライズMLOps基盤。
BentoML 完全ガイド 2025 — LLM・MLモデルの本番デプロイメント統合基盤
BentoMLは2019年創業のBentoML Inc.が開発するオープンソースMLサービングフレームワーク。2024〜2025年にかけてLLMサービング機能を大幅強化し、vLLM・SGLang・TGIとの統合・BentoCloud(フルマネージドサービス)・Kubernetes Operatorを提供するエンタープライズMLOps基盤に進化した。GitHubスター数は7,500+(2025年6月)。
アーキテクチャと主要概念
Bento(デプロイパッケージ): サービング定義・モデルアーティファクト・依存ライブラリ・ランタイム設定を単一のイミュータブルなアーカイブにまとめたデプロイ単位。Dockerイメージと1:1で対応する。
Serviceクラス定義例:
import bentoml
@bentoml.service(
resources={"gpu": 1, "memory": "20Gi"},
traffic={"timeout": 300},
)
class LLMService:
def __init__(self):
import vllm
self.model = vllm.LLM("meta-llama/Llama-3.1-8B-Instruct")
@bentoml.api
def chat(self, messages: list[dict]) -> str:
outputs = self.model.generate(messages)
return outputs[0].outputs[0].text
デプロイメントオプション
| デプロイ先 | コマンド | 用途 |
|---|---|---|
| ローカルDocker | bentoml build && bentoml containerize | 開発・テスト |
| BentoCloud(マネージド) | bentoml deploy . | 本番・自動スケーリング |
| Kubernetes | bentoml generate-helm-chart | セルフホスト本番 |
| AWS ECS/EKS | Helm Chart + ECR push | AWSネイティブ |
| Google Cloud Run | Container Registry連携 | サーバーレス |
BentoCloud機能
BentoCloudはBentoMLのマネージドサービスでbentoml deployコマンドでGPUクラスターへの自動デプロイを実現。主要機能:
- オートスケーリング: トラフィックに応じてGPUレプリカを0〜Nにスケール(コールドスタート15〜30秒)
- コスト最適化: アイドル時はGPUインスタンスをゼロスケールし課金停止
- A/Bテスト: トラフィックの10%を新モデルバージョンに振り分けてシャドウテスト
- OpenTelemetry: Datadog・Grafana・Prometheusへのメトリクス自動エクスポート
- 料金: H100×1 インスタンスで約$4/時間(2025年6月時点)
vLLMとの統合例
@bentoml.service(resources={"gpu": 2})
class VLLMService:
def __init__(self):
from vllm import AsyncLLMEngine, EngineArgs
self.engine = AsyncLLMEngine.from_engine_args(
EngineArgs(model="Qwen/Qwen2.5-72B-Instruct",
tensor_parallel_size=2,
gpu_memory_utilization=0.9)
)
よくある質問(FAQ)
Q1: BentoMLとRay Serveの違いは? A: BentoMLはMLサービングに特化した高レベルAPI・デプロイ自動化・BentoCloud連携が強み。Ray Serveはより汎用的な分散コンピューティング基盤。LLM単体デプロイはBentoML、複雑なデータパイプラインはRayが向く。
Q2: BentoMLは無料ですか? A: OSS版(self-host)は完全無料。BentoCloudはマネージドサービスで従量課金(GPU時間)。SMBなら月$100〜$500程度の運用コスト目安。
Q3: FastAPIと組み合わせて使えますか? A: はい。BentoMLのServiceクラスはFastAPIのRouterとして追加可能。既存FastAPIアプリにBentoMLのモデルサービングを組み込む構成も可能。
まとめ
- Bento: サービング定義・モデル・依存をまとめた再現可能デプロイパッケージ
- マルチバックエンド: vLLM・SGLang・TGI・TensorFlowを統一インターフェースで管理
- BentoCloud:
bentoml deploy1コマンドでGPUクラスターへ自動デプロイ・オートスケーリング - エンタープライズ: A/Bテスト・OpenTelemetry・Kubernetes Operator完備