Databricksによるモデルサービング

この記事では、Databricksモデルサービングについて、そのメリットと制限事項も含めて説明します。

モデルサービングとは

Databricks モデルサービングは、AI モデルをデプロイ、管理、クエリするための統一されたインターフェイスを提供します。 提供する各モデルは、Web アプリケーションまたはクライアント アプリケーションに統合できる REST API として使用できます。

モデルサーバーでは、モデルをデプロイするための高可用性と低レイテンシのサービスが提供されます。 このサービスは、需要の変化に合わせて自動的にスケールアップまたはスケールダウンし、インフラストラクチャ コストを節約しながらレイテンシ パフォーマンスを最適化します。 この機能はサーバレスコンピュートを使用します。 詳細はモデルサービング価格ページをご覧ください。

モデルサービングは、次のサービスをサポートしています。

  • カスタムモデル。 これらは、MLflow 形式でパッケージ化された Python モデルです。 これらは、Unity Catalog またはワークスペース モデル レジストリに登録できます。 例としては、 Scikit-Learn、XGBoost、PyTorch、Hugging Face トランスフォーマー モデルなどがあります。

  • 基盤モデルAPIsが提供した最新鋭のオープンモデル。これらのモデルは、最適化された推論をサポートするキュレーションされた基盤モデル アーキテクチャです。 Llama-2-70B-chat、BGE-Large、Mistral-7B などの基本モデルは、 トークンごとの支払い 価格ですぐに使用でき、パフォーマンスの保証と微調整されたモデル バリアントを必要とするワークロードは、 プロビジョニングされたスループットでデプロイできます。

  • 外部モデル。 これらは、Databricks の外部でホストされているモデルです。 外部モデルを提供するエンドポイントは一元管理でき、顧客はそれらのレート制限とアクセス制御を確立できます。 例としては、OpenAI の GPT-4、Anthropic の Claude などの基盤モデルが含まれます。

AI Playground を使用して、サポートされている大規模言語モデルを操作できます。AI Playground は、LLM のテスト、プロンプト、比較を行うことができるチャットのような環境です。 この機能は、Databricks ワークスペースで使用できます。

モデルサービングは、CRUD とクエリ タスク用の統合された REST API と MLflow デプロイ API を提供します。 さらに、すべてのモデルとそれぞれの提供エンドポイントを管理するための単一のUIを提供します。 また、 AI 関数 を使用して SQL から直接モデルにアクセスすることもでき、アナリティクス ワークフローに簡単に統合できます。

Databricks でカスタム モデルを提供する方法に関する入門チュートリアルについては、 「チュートリアル: カスタム モデルのデプロイとクエリ」を参照してください。

Databricks でインフラストラクチャ モデルをクエリする方法に関する入門チュートリアルについては、 「Databricks で LLM のクエリを開始する」を参照してください。

モデルサービングを使用する理由

  • 任意のモデルのデプロイとクエリ: モデルサービングは、Databricks でホストされているか外部でホストされているかに関係なく、すべてのモデルを 1 つの場所で管理し、1 つの API でクエリを実行できる統合インターフェイスを提供します。 このアプローチにより、さまざまなクラウドやプロバイダー間で本番運用のモデルを使用したエクスペリメント、カスタマイズ、およびデプロイのプロセスが簡素化されます。

  • プライベート データを使用してモデルを安全にカスタマイズする: データ インテリジェンス プラットフォーム上に構築されたモデルサービングは、Databricks Feature Store および Databricks Vector Search とのネイティブ統合により、モデルへの特徴と埋め込みの統合を簡素化します。 精度とコンテキストの理解をさらに向上させるために、独自のデータでモデルを微調整し、モデルサービングに簡単に展開できます。

  • モデルの管理と監視: サービング UI を使用すると、外部でホストされているものを含め、すべてのモデルエンドポイントを 1 か所で一元管理できます。 アクセス許可の管理、使用制限の追跡と設定、 およびすべての種類のモデルの品質の監視を行うことができます。 これにより、組織内のSaaSおよびオープンLLMへのアクセスを民主化し、適切なガードレールを確保することができます。

  • 最適化された推論と高速スケーリングによるコストの削減: Databricks では、大規模なモデルに対して最適なスループットと待機時間を確実に実現するために、さまざまな最適化が実装されています。 エンドポイントは、需要の変化に応じて自動的にスケールアップまたはスケールダウンし、インフラストラクチャのコストを節約しながら、レイテンシーのパフォーマンスを最適化します。

レイテンシの影響を受けやすいワークロードや 1 秒あたりのクエリ数が多いワークロードの場合、モデル サービングはカスタム モデル サービング エンドポイントでのルート最適化を提供します。 「サービングエンドポイントのルート最適化設定」を参照してください。

  • モデルサービングに信頼性とセキュリティをもたらす: モデルサービングは、高可用性、低レイテンシの本番運用用に設計されており、50 ミリ秒未満のオーバーヘッド待機時間で毎秒 25K を超えるクエリをサポートできます。 サービスワークロードは複数のセキュリティ層によって保護され、最も機密性の高いタスクに対しても安全で信頼性の高い環境を確保します。

要件

ワークスペース でモデルサービングを有効にする

モデルサービングを使用するには、アカウント管理者がアカウントコンソールでサーバレス コンピュートを有効にするための利用規約を読み、同意する必要があります。

アカウントが 2022 年 3 月 28 日以降に作成された場合、サーバレス コンピュートはワークスペースに対して [デフォルト] によって有効になります。

アカウント管理者でない場合は、これらの手順を実行できません。 ワークスペースにサーバレス コンピュートへのアクセスが必要な場合は、アカウント管理者に問い合わせてください。

  1. アカウント管理者は、 アカウントコンソールの設定ページの [機能の有効化] タブに移動します。

  2. ページ上部のバナーが表示され、追加の条件に同意するように求められます。 利用規約を読みたら、[ 同意する]をクリックします。 条項への同意を求めるバナーが表示されない場合、この手順は既に完了しています。

利用規約に同意すると、アカウントでサーバレスが有効になります。

ワークスペースでモデルサービングを有効にするために追加の手順は必要ありません。

制限事項と利用可能なリージョン

Databricks モデルサービングは、信頼性の高いパフォーマンスを確保するためにデフォルトの制限を課します。 「モデルサービングの制限と地域」を参照してください。 これらの制限またはサポートされていないリージョンのエンドポイントに関するフィードバックがある場合は、Databricks アカウント チームにお問い合わせください。

モデルサービングにおけるデータ保護

Databricks はデータセキュリティを真剣に受け止めています。 Databricks は、Databricks モデルサービングを使用して分析するデータの重要性を理解し、データを保護するために次のセキュリティ制御を実装します。

  • モデルサービングに対するすべての顧客の要求は、論理的に分離され、認証され、承認されます。

  • Databricks モデルサービングは、保存データ (AES-256) と転送データ (TLS 1.2+) をすべて暗号化します。

すべての有料アカウントについて、Databricks モデルサービングは、サービスに送信されたユーザー入力やサービスからの出力を使用して、モデルをトレーニングしたり、Databricks サービスを改善したりすることはありません。

Databricks 基盤モデル APIsの場合、Databricks は、サービスの提供の一環として、不正使用または有害な使用を防止、検出、および軽減する目的で、入力と出力を一時的に処理および保存する場合があります。 お客様の入力と出力は、他の顧客の入力と出力から分離され、最大 30 日間ワークスペースと同じリージョンに保存され、セキュリティまたは不正使用の懸念を検出して対応するためにのみアクセスできます。