Azure Databricks でのモデルの提供

この記事では、利点と制限事項を含め、Azure Databricks Model Serving について説明します。

Model Serving とは

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

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

モデル提供は以下の提供をサポートします。

  • カスタム モデル。 これらは、MLflow 形式でパッケージ化された Python モデルです。 これらは、Unity Catalog またはワークスペース モデル レジストリに登録できます。 たとえば、scikit-learn、XGBoost、PyTorch、Hugging Face トランスフォーマー モデルなどがあります。
  • Foundation Model API で利用できる最先端のオープン モデル。 これらのモデルは、最適化された推論をサポートするキュレーションされた基盤モデル アーキテクチャです。 Llama-2-70B-chat、BGE-Large、Mistral-7B などの基本モデルは、トークン単位の支払い価格ですぐに使用でき、パフォーマンスの保証と微調整されたモデル バリアントを必要とするワークロードは、プロビジョニングされたスループットでデプロイできます。
  • 外部モデル。 これらは、Databricks の外部でホストされているモデルです。 外部モデルを提供するエンドポイントは一元的に管理でき、顧客はレート制限とアクセス制御を確立できます。 たとえば、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 StoreDatabricks Vector Store とのネイティブ統合を通じて、モデルへの機能と埋め込みの統合を簡素化します。 精度とコンテキストの理解をさらに向上させるために、独自のデータを使用してモデルを微調整し、Model Serving に簡単にデプロイできます。

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

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

  • Model Serving に信頼性とセキュリティをもたらす: Model Serving は、高可用性、低待機時間の運用環境での使用を想定して設計されており、オーバーヘッド待機時間が 50 ミリ秒未満で 1 秒あたり 25,000 件を超えるクエリをサポートできます。 サービス ワークロードは複数のセキュリティ層によって保護され、最も機密性の高いタスクでも安全で信頼性の高い環境が確保されます。

要件

ワークスペースに対して Model Serving を有効にする

ワークスペースの Model Serving を有効にするために追加の手順は必要ありません。

制限事項とリージョンの可用性

Databricks Model Serving では、信頼性の高いパフォーマンスを確保するために既定の制限事項が適用されます。 「モデル提供の制限とリージョン」を参照してください。 これらの制限について、またはサポートされていないリージョン内のエンドポイントについてフィードバックをお持ちの場合は、Databricks アカウントチームにお問い合わせください。

Model Serving でのデータ保護

Databricks は、データ セキュリティを真剣に受け止めています。 Databricks は、お客様が Databricks Model Serving を使用して分析するデータの重要性を理解しており、データを保護するために次のセキュリティ制御を実装しています。

  • Model Serving に対するすべての顧客要求は、論理的に分離され、認証され、承認されます。
  • Databricks Model Serving では、すべての保存データ (AES-256) と転送中のデータ (TLS 1.2 以降) が暗号化されます。

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

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

その他のリソース