テクニカルガイド

BentoML とモデルのパッケージ化

BentoML は、トレーニング済みの機械学習モデルを「Bentos」と呼ばれる標準化された展開可能なユニットにパッケージ化するオープンソースの Python フレームワークです。

2分の読書最終更新日

概要

It bridges the gap between a model sitting in a notebook and a production service that can actually serve predictions over an API.

ディープダイブ

データ サイエンティストがモデルのトレーニングを完了したら、モデルを本番環境に導入するには、通常、サービング コードを手動で記述し、依存関係を固定し、Docker イメージを構築し、API を接続することを意味します。 BentoML はこれを自動化します。モデルをローカル モデル ストアに保存し、推論を処理するために装飾された API エンドポイントを使用して Service クラスを定義します。 「bentoml build」コマンドは、モデル、Python コード、依存関係のバージョン、ランタイム構成を自己完結型のバージョン管理された Bento にパッケージ化します。そこから「bentoml containerize」により OCI Docker イメージが生成されます。 BentoML は、ほぼすべてのフレームワーク (PyTorch、TensorFlow、scikit-learn、XGBoost、Hugging Face Transformers、ONNX) をサポートし、コードを変更せずに GPU スループットを最大化するために受信リクエストを自動的にグループ化する適応型マイクロバッチングを追加します。

技術的な洞察

BentoML は、「ランナー」(計算負荷の高いモデルの実行)を API サーバー ロジックから分離します。ランナーは独立してスケーリングして独自のワーカー プロセスで実行でき、軽量の HTTP/gRPC サーバーがリクエストのルーティングと I/O を処理します。その適応型バッチ処理は、実行時にバッチ サイズとレイテンシ ウィンドウを動的に調整するため、トラフィックのバーストを吸収し、高価なアクセラレータをビジー状態に保ちます。標準化された Bento 形式にはマニフェスト、モデル ファイル、再現可能な環境が埋め込まれているため、マシン間でビルドが決定的になります。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

BentoML とモデル パッケージングの将来

BentoML は大規模言語モデルと生成 AI サービスに重点を置いており、OpenLLM と BentoCloud はストリーミング トークン応答、自動スケーリング、GPU 対応スケジューリングを提供します。 vLLM や TensorRT-LLM などの推論オプティマイザーとのより緊密な統合、マルチモデル複合 AI システムのサポートの向上、パッケージ化された Bento からサーバーレス GPU の導入へのスムーズなパスが期待されます。チームが単一モデルからエージェント パイプラインに移行するにつれて、BentoML は、それらのコンポーネントを結び付けるパッケージ化およびサービス層として自らを位置づけています。

現実世界の実装

不正検出チームは、XGBoost モデルを BentoML ストアに保存し、決済サービスがリアルタイムで呼び出すための /predict REST エンドポイントを公開する Bento を構築します。

ML プラットフォーム チームは、「bentoml containerize」を使用して、Hugging Face センチメント モデルを Docker イメージに変換し、内部の Kubernetes クラスターにデプロイします。

あるスタートアップは、OpenLLM (BentoML 上に構築) を使用して微調整された Llama モデルを提供し、GPU を飽和状態に保ちながら適応バッチ処理でトークンをチャット UI にストリーミングします。

コンピューター ビジョン会社は、PyTorch 画像分類器とその前処理パイプラインを 1 つの Bento にパッケージ化しており、トレーニングで使用される正確な変換がモデルに同梱されています。

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

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

次のガイド

コードモデルの投機的編集

よくある質問

What is BentoML and Model Packaging?

BentoML は、トレーニング済みの機械学習モデルを「Bentos」と呼ばれる標準化された展開可能なユニットにパッケージ化するオープンソースの Python フレームワークです。これは、ノートブック内にあるモデルと、実際に API 経由で予測を提供できる運用サービスとの間のギャップを埋めます。

BentoML が生成する標準化された展開可能なユニットは何ですか?

BentoML は、モデル、そのコード、依存関係、およびランタイム構成を、Bento と呼ばれるバージョン管理された自己完結型ユニットにパッケージ化します。

BentoML の適応型マイクロバッチングは主に何を改善しますか?

アダプティブ バッチ処理により、実行時に受信リクエストがグループ化され、コードを変更せずに GPU をビジー状態に保ち、スループットを最大化します。

BentoML のアーキテクチャでは、演算負荷の高いモデルの実行を API サーバーとは別に処理するものは何ですか?

ランナーはモデル推論をカプセル化し、軽量 API サーバーから切り離された独自のワーカー プロセスをスケールインできます。

ビルドされた Bento を OCI Docker イメージに変換するコマンドはどれですか?

「bentoml containerize」は、Bento からデプロイメント用の標準 OCI/Docker イメージを生成します。

BentoML が依存関係バージョンを Bento に埋め込む主な理由は次のうちどれですか?

環境を固定して埋め込むと、パッケージ化されたサービスがどこで実行されても再現可能で一貫性のあるものになります。