テクニカルガイド

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

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

このガイドを聴くAIによるナレーション · ~2 min

このページでは2分の読書
  1. 概要
  2. ディープダイブ
  3. 現実世界の実装
  4. BentoML とモデル パッケージングの将来
  5. 実践する
  6. 探検を続けましょう
  7. よくある質問

概要

これは、ノートブック内にあるモデルと、実際に 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 スループットを最大化するために受信リクエストを自動的にグループ化する適応型マイクロバッチングを追加します。

現実世界の実装

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

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

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

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

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

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

実践する

なぜそれが重要なのか

  • 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
  • より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
  • 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

気をつけてください

  • 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
  • インフラストラクチャとメンテナンスのコストは過小評価されがちです。
  • システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

次のステップ

  1. 実装前にレイテンシ、品質、コストの目標を定義します。
  2. 現実的な負荷とデータ条件でのベンチマーク。
  3. エラー、ドリフト、ユーザーへの影響を計測器で監視します。
  4. スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

無料ニュースレター

毎日のAIブリーフィングを受け取る

毎週平日の朝に英語で書かれた3つの検証済みAIストーリー。無料で永続的、広告なし。

毎週平日に1通のメール。ワンクリックで購読解除。住所を販売または共有しません。

自分自身をテストしてください

Take the BentoML and Model Packaging quiz

すべての回答に即時フィードバック、合格後は検証可能なID付きの共有可能な証明書を取得。

クイズを開始する

無料AI教育をサポート。AI Understandingは501(c)(3)の非営利団体です — 広告なし、課金壁なし、常に。 寄付をする

よくある質問

BentoML とモデルのパッケージ化とは何ですか?

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

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

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

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

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

In BentoML 1.1’s Runner-based architecture, what handles compute-heavy model execution separately from API logic?

BentoML documentation describes Runners as the legacy 1.1 computation units that could execute separately; newer BentoML versions streamline services.

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

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

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

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