この記事では、リアルタイムサービスとバッチ推論のために AI モデルと ML モデルをデプロイするための Databricks ソリューションである Model Serving について説明します。
モデルサービングとは?
Model Serving は、AI モデルをデプロイ、管理、クエリしてリアルタイムおよびバッチ推論を行う統合インターフェイスを提供します。 提供する各モデルは、Web またはクライアント アプリケーションに統合できる REST API として使用できます。
Model Serving では、モデルをデプロイするための高可用性と低遅延が提供されます。 サービスは需要の変化に応じて自動的にスケールアップまたはスケールダウンし、レイテンシー性能を最適化しながら、インフラストラクチャのコストを節約します。 この機能からは、サーバーレス コンピューティングが使用されます。 詳しくは、「Model Serving の価格」ページをご覧ください。
Model Serving には、CRUD タスクとクエリ タスク用の統合 REST API と MLflow デプロイ API が用意されています。 さらに、すべてのモデルとそれぞれのサービス エンドポイントを管理するための 1 つの UI が提供されます。 また、 AI Functions を使用して SQL からモデルに直接アクセスして、分析ワークフローに簡単に統合することもできます。
AI 関数とモデル サービスは、バッチ推論シナリオ用に緊密に統合されています。 バッチ推論パイプラインでは、タスク固有の AI 関数または ai-query のいずれかを使用できます。 Databricks によってホストおよび管理される事前プロビジョニング済みモデルを使用する場合は、エンドポイントを提供するモデルを自分で構成する必要はありません。
開始するには、次のガイドを参照してください。
- バッチ推論の実行については、 AI 関数を使用したデータのエンリッチを参照してください。
- リアルタイム推論のためにAzure Databricksでカスタム モデルを提供する方法の入門チュートリアルについては、「Tutorial: カスタム モデルをデプロイしてクエリを実行するを参照してください。
- Databricks の基礎モデルに対してリアルタイム推論のクエリを実行する方法の概要チュートリアルについては、「 Databricks での LLM のクエリの開始」を参照してください。
デプロイできるモデル
モデル サービスは、次のモデルの種類に対してリアルタイムおよびバッチ推論をサポートします。
-
カスタム モデル。 これらは、MLflow 形式でパッケージ化されたPython モデルです。 これらは、Unity Catalog またはワークスペース モデル レジストリに登録できます。 たとえば、scikit-learn、XGBoost、PyTorch、Hugging Face トランスフォーマー モデルなどがあります。
- エージェント サービスはカスタム モデルとしてサポートされています。 生成 AI アプリケーション用のエージェントのデプロイ (モデル サービス) を参照してください
-
基盤モデル。
- Meta Llama のような Databricks でホストされる基盤モデル。 これらのモデルは、 Foundation Model API を使用して使用できます。 これらのモデルは、最適化された推論をサポートするキュレーションされた基盤モデル アーキテクチャです。 Meta-Llama-3.3-70B-Instruct、GTE-Large、Mistral-7B などの基本モデルは、 トークンごとの支払い 価格ですぐに使用でき、パフォーマンスの保証と微調整されたモデルバリアントを必要とするワークロードは、 プロビジョニングされたスループットでデプロイできます。
- OpenAI の GPT-4 など、Databricks の外部でホストされている基盤モデル。 これらのモデルには、 外部モデルを使用してアクセスできます。 これらのモデルにサービスを提供するエンドポイントは、Azure Databricksから一元的に管理できるため、組織内のさまざまな LLM プロバイダー (OpenAI や Anthropic など) の使用と管理を合理化できます。
注
AI プレイグラウンドを使って、サポートされている大規模言語モデルを操作できます。 AI プレイグラウンドは、LLM をテストしたり、プロンプト入力したり、比較したりできるチャットのような環境です。 この機能は、Azure Databricks ワークスペースで使用できます。
Model Serving を使用する理由
- モデルをデプロイしてクエリを実行する: Model Serving には統合インターフェイスが用意されているため、Databricks でホストされているか外部でホストされているかに関係なく、すべてのモデルを 1 か所で管理し、単一の API でクエリを実行できます。 このアプローチにより、さまざまなクラウドとプロバイダーにわたる運用環境でモデルを実験、カスタマイズ、デプロイするプロセスが簡略化されます。
- プライベート データを使用してモデルを安全にカスタマイズする: Data Intelligence プラットフォーム上に構築された Model Serving は、 Databricks Feature Store および Vector Search とのネイティブ統合を通じて、モデルへの機能と埋め込みの統合を簡略化します。 精度とコンテキストの理解をさらに向上させるために、独自のデータを使用してモデルを微調整し、Model Serving に簡単にデプロイできます。
- モデルを管理および監視する: Serving UI を使用すると、外部でホストされているものも含め、すべてのモデル エンドポイントを 1 か所で一元的に管理できます。 AI Gateway を使用して、アクセス許可の管理、使用制限の追跡と設定、すべての種類のモデルの品質の監視を行うことができます。 これにより、組織内の SaaS とオープン LLM へのアクセスを民主化しながら、適切なガードレールを確保できます。
-
最適化された推論と高速スケーリングでコストを削減する: Databricks では、大規模なモデルに最適なスループットと待機時間を確保するために、さまざまな最適化が実装されています。 エンドポイントは需要の変化に合わせて自動的にスケールアップまたはスケールダウンされ、待機時間のパフォーマンスを最適化しながらインフラストラクチャ コストを節約できます。
モデルの提供コストを監視する。
- 待機時間の影響を受けやすいワークロードや、1 秒あたりのクエリ数が多いワークロードについては、包括的な最適化戦略について運用環境 向けのモデル サービス エンドポイントの最適化 に関する説明を参照してください。 Databricks アカウント チームに連絡して、高いスケーラビリティのためにワークスペースが有効になっていることを確認します。
- Model Serving に信頼性とセキュリティをもたらす: Model Serving は、高可用性、低待機時間の運用環境での使用を想定して設計されており、オーバーヘッド待機時間が 50 ミリ秒未満で 1 秒あたり 25,000 件を超えるクエリをサポートできます。 サービス ワークロードは複数のセキュリティ層によって保護され、最も機密性の高いタスクでも安全で信頼性の高い環境が確保されます。 ネットワーク ポリシーを構成することで、モデル サービス エンドポイントへのネットワーク アクセスを制御できます。 サーバーレスエグレス制御のネットワーク ポリシーの管理を参照してください。
注
運用環境のデプロイが不安定になるリスクがあるため、Model Serving では、既存のモデル イメージにセキュリティ パッチが提供されません。 最新のパッチは、新しいモデル バージョンから作成された新しいモデル イメージに含まれています。 詳細については、Databricks アカウント チームにお問い合わせください。
要件
- Unity Catalog またはワークスペース モデル レジストリに登録されたモデル。
- 「エンドポイント ACL の提供」で説明されている登録済みモデルに対するアクセス許可。
- MLflow 1.29 以上。
- Azure Private Linkを使用してワークスペースで構成されたネットワーク関連のイングレス ルールを尊重する場合、Azure Private Linkは、プロビジョニングされたスループットを使用するエンドポイントまたはカスタム モデルにサービスを提供するエンドポイントを提供するモデルでのみサポートされます。 Azure リソースへのプライベート接続の構成を参照してください。
- ワークスペースのアクセス権が構成されました。 「エンタイトルメントを管理する」をご覧ください。
ワークスペースに対して Model Serving を有効にする
ワークスペースの Model Serving を有効にするために追加の手順は必要ありません。
制限事項とリージョンの可用性
Model Serving では、信頼性の高いパフォーマンスを確保するために既定の制限が適用されます。 「モデル提供の制限とリージョン」を参照してください。 これらの制限について、またはサポートされていないリージョン内のエンドポイントについてフィードバックをお持ちの場合は、Databricks アカウントチームにお問い合わせください。
モデル サービスでのデータ保護
Databricks は、データ セキュリティを真剣に受け止めています。 Databricks は、Model Serving を使用して分析するデータの重要性を理解し、データを保護するために次のセキュリティコントロールを実装します。
- Model Serving に対するすべての顧客要求は、論理的に分離され、認証され、承認されます。
- Model Serving では、保存されているすべてのデータ (AES-256) と転送中 (TLS 1.2 以降) が暗号化されます。
すべての有料アカウントについて、モデル サービスは、サービスに送信されたユーザー入力やサービスからの出力を使用してモデルをトレーニングしたり、Databricks サービスを改善したりすることはありません。
すべての Model Serving ワークロードについて、Databricks はコンテナー ビルド ログを最大 30 日間保持し、メトリック データは最大 14 日間保持します。
Databricks Foundation Model API の場合、サービス提供の一環として、Databricks は、不正使用や有害な使用を防止、検出、軽減するために、入力と出力を一時的に処理して格納する場合があります。 ユーザーの入力と出力は、他の顧客の入力と出力から分離され、ワークスペースと同じリージョンに最大 30 日間保存され、セキュリティや不正使用の懸念を検出して対応するためにのみアクセスできます。
Foundation Model API は Databricks Designated Service です。つまり、 Databricks Geos によって実装されるデータ所在地の境界に準拠します。