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