メインコンテンツへジャンプ

Aimpoint Digital:Databricksにおける安全で効率的なマルチリージョンモデル提供のためのDelta Sharingの活用

マリア・ゼルヴォウ
エリザベス・カーン(Aimpoint Digital)
デュバン・アンティバー(Aimpoint Digital)
サンティアゴ・ハラミロ(Aimpoint Digital)
Share this post

Summary

このブログでは、Aimpoint Digitalとの共同作業で、DatabricksがDelta Sharingを使用してマルチリージョンモデルの提供をサポートし、リアルタイムAIのユースケースのレイテンシを減らす方法を探ります。

機械学習モデルを提供する際、遅延は、予測をリクエストしてからレスポンスを受け取るまでの時間であり、エンドユーザーにとって最も重要な指標の一つです。遅延は、リクエストがエンドポイントに到達する時間、モデルによって処理される時間、そしてユーザーに戻る時間を含みます。異なる地域に基づくユーザーにモデルを提供すると、リクエストとレスポンスの両方の時間が大幅に増加する可能性があります。顧客が基づいている地域とは異なる地域でモデルをホスティングし、提供している企業を想像してみてください。この地理的な分散は、データがクラウドストレージから移動する際の高いエグレスコストを発生させ、2つの仮想ネットワーク間のピアリング接続と比較してセキュリティが低下します。

 

地域間の遅延の影響を示すために、ヨーロッパから米国にデプロイされたモデルエンドポイントへのリクエストは、ネットワーク遅延として100-150ミリ秒を追加することができます。対照的に、米国内のリクエストは、このAzureネットワークの往復遅延統計ブログから抽出した情報に基づいて、50ミリ秒しか追加しないかもしれません。

 

この違いは、遅延に敏感なアプリケーションのユーザーエクスペリエンスに大きな影響を与える可能性があります。さらに、単純なAPI呼び出しは、データベースへの呼び出し、認証サービス、または他のマイクロサービスなどの追加のネットワーキングプロセスをしばしば含むため、全体の遅延時間を3から5倍に増加させることがあります。複数の地域でモデルをデプロイすることで、ユーザーはより近いエンドポイントからサービスを受けることができ、レイテンシを減らし、全世界でより速く、より信頼性の高いレスポンスを提供します。

 

このブログでは、Aimpoint Digitalとの共同作業で、DatabricksがDelta Sharingを使用してマルチリージョンモデルの提供をサポートし、リアルタイムAIのユースケースのレイテンシを減らす方法を探ります。

アプローチ

マルチリージョンモデル提供のために、異なる地域のDatabricksワークスペースはDelta Sharingを使用して接続され、主要地域からレプリカ地域へのデータとAIオブジェクトのシームレスなレプリケーションが可能になります。Delta Sharingは、データを共有するための3つの方法を提供します:DatabricksからDatabricksへの共有プロトコル、オープン共有プロトコル、およびオープンソースのDelta Sharingサーバーを使用した顧客管理の実装。このブログでは、最初のオプションに焦点を当てています:DatabricksからDatabricksへの共有。この方法は、2つのUnity Catalog対応Databricksワークスペース間でデータとAIアセットを安全に共有することを可能にし、地域間でモデルを共有するのに理想的です。

 

主要な地域では、データサイエンスチームが新しいモデルや既存のモデルの更新版を継続的に開発、テスト、プロモーションでき、特定のパフォーマンスと品質の基準を満たしていることを確認できます。デルタ共有とVPCピアリングが整っていれば、モデルはデータやモデルを公開インターネットに露出することなく、安全にリージョン間で共有できます。この設定により、他の地域は読み取り専用アクセスを許可され、バッチ推論のためのモデルを使用したり、地域のエンドポイントをデプロイすることが可能になります。結果として、レイテンシを削減し、ユーザーの位置に関係なくより迅速なレスポンスを提供するマルチリージョンモデルのデプロイメントが得られます。

 

上記の参照アーキテクチャは、モデルバージョンがメイン地域(地域1)の共有カタログに登録されると、Delta Sharingを通じてVPCピアリングを使用して数秒以内に外部地域(地域2)に自動的に共有されることを示しています。

 

モデルのアーティファクトが地域間で共有された後、Databricksアセットバンドル(DAB)は、デプロイメントワークフローのシームレスで一貫したデプロイメントを可能にします。GitHub Actions、Jenkins、Azure DevOpsなどの既存のCI/CDツールと統合することができ、デプロイメントプロセスを簡単なコマンドで努力なく並行して再現することができ、地域に関係なく一貫性を保証します。

Aimpoint Digital Deployment Workflow



上記のデプロイメントワークフローの例は、次の3つのステップで構成されています:

  1. 共有カタログの最新のモデルバージョンにモデル提供エンドポイントが更新されます。
  2. モデルサービングエンドポイントは、ヘルスチェック、負荷テスト、その他の事前定義されたエッジケースなど、いくつかのテストシナリオを使用して評価されます。Databricks内での別の有効なオプションはA/Bテストで、エンドポイントは複数のモデルバリアントをホストするように設定することができます。このアプローチでは、トラフィックの一部が挑戦者モデル(モデルB)にルーティングされ、トラフィックの一部がチャンピオンモデル(モデルA)に送られます。詳細はtraffic_configをご覧ください。本番環境では、2つのモデルの結果が比較され、本番環境で使用するモデルが決定されます。
  3. モデル提供エンドポイントがテストに失敗すると、共有カタログの前のモデルバージョンにロールバックされます。

上記のデプロイメントワークフローは説明のためのものです。モデルのデプロイメントワークフローのタスクは、特定の機械学習のユースケースに基づいて異なる場合があります。この投稿の残りの部分では、マルチリージョンモデルの提供を可能にするDatabricksの機能について説明します。

Databricksモデルサービングエンドポイント

Databricks モデルサービングは、ミッションクリティカルで高性能なアプリケーションをサポートするための高可用性、低遅延のモデルエンドポイントを提供します。エンドポイントはサーバーレスの計算によってバックアップされ、ワークロードに基づいて自動的にスケールアップとスケールダウンします。Databricksモデルサービングのエンドポイントは、新しいモデルバージョンへの更新が失敗した場合でも、自動的に前のモデルバージョンに戻ってライブトラフィックのリクエストを処理することで、高い耐障害性を持っています。

Delta Sharing

Delta Sharingの主な利点は、異なる地域の複数の環境からアクセスされても、一元的な真実の源を維持する能力です。例えば、さまざまな環境での開発パイプラインは、中央のデータストアから読み取り専用のテーブルにアクセスでき、一貫性を保ち、冗長性を避けることができます。

 

追加の利点として、中央集権的なガバナンス、レプリケーションなしでライブデータを共有する能力、Delta Sharingのオープンプロトコルによるベンダーロックインからの自由があります。このアーキテクチャは、データクリーンルームやDatabricks Marketplaceとの統合などの高度なユースケースもサポートしています。

AWS VPCピアリング

AWS VPC ピアリングは、仮想プライベートクラウド(VPC)間の安全で効率的な接続を可能にする重要なネットワーキング機能です。VPCはAWSアカウント専用の仮想ネットワークで、ネットワーク環境の分離と制御を提供します。ユーザーがVPCピアリング接続を確立すると、プライベートIPアドレスを使用して2つのVPC間でトラフィックをルーティングでき、どちらのVPCのインスタンスでも同じネットワーク上にあるかのように通信できます。

 

複数の地域にDatabricksワークスペースを展開する際、AWS VPCピアリングは重要な役割を果たします。異なる地域のDatabricksワークスペースのVPCを接続することで、VPCピアリングはデータ共有と通信が完全にプライベートネットワーク内で行われることを保証します。この設定は、公開インターネットへの露出を避けることでセキュリティを大幅に強化し、インターネット経由のデータ転送に関連するエグレスコストを削減します。要約すると、AWS VPCピアリングはネットワークを接続するだけでなく、マルチリージョンDatabricksデプロイメントにおけるセキュリティとコスト効率の最適化についても考慮しています。

Databricksアセットバンドル

Databricks Asset Bundle(DAB)は、インフラストラクチャをコードとして扱うアプローチを使用して、Databricksで複雑な機械学習のユースケースを管理するためのプロジェクトのような構造です。マルチリージョンモデルの提供の場合、DABはモデルのデプロイメントをDatabricksのワークフローを介してDatabricksモデル提供エンドポイントにオーケストレーションするために重要です。DABのdatabricks.ymlで各地域のDatabricksワークスペースを指定するだけで、コード(pythonノートブック)とリソース(ジョブ、パイプライン、DSモデル)のデプロイメントが異なる地域で効率化されます。さらに、DABはインクリメンタルな更新とスケーラビリティを提供し、地域数やモデルエンドポイントの数が増えてもデプロイメントが一貫性を保ち、管理可能であることを保証します。

次のステップ

  • 異なるデプロイメント戦略(A / Bテスト、カナリアデプロイメントなど)がマルチリージョンデプロイメントの一部としてDABsにどのように実装できるかを示してください。
  • このアプローチを使用することで遅延がどのように減少したかを示すために、前後のパフォーマンス指標を使用します。
  • PoCを使用して、マルチリージョンアプローチとシングルリージョンアプローチのユーザー満足度を比較します。
  • マルチリージョンデータ共有とモデル提供が地域のデータ保護法(例:ヨーロッパのGDPR)に準拠していることを確認します。データとモデルがホストできる場所に法的な考慮事項が影響を与えるかどうかを評価します。

 

Aimpoint Digitalは、データと分析技術を通じて最も複雑なビジネスと経済の課題を解決する先端の分析会社です。セルフサービス分析の統合から、AIの大規模実装、データインフラストラクチャ環境の近代化まで、Aimpoint Digitalは組織のパフォーマンスを向上させるための変革的な領域で活動しています。詳細は以下をご覧ください: https://www.aimpointdigital.com/

 

Databricks 無料トライアル

関連記事

シンプル・高速・スケーラブル!Mosaic AIで実現するバッチ LLM 推論

長年にわたり、企業は膨大な量の非構造化テキストデータ(文書、報告書、メールなど)を蓄積してきましたが、そこから意味のあるインサイトを抽出することは依然として課題でした。現在、大規模言語モデル(LLM)を活用することで、このデータをスケーラブルに分析する方法が実現しており、バッチ推論が最も効率的な解決策となっています。しかし、多くのツールはオンライン推論に焦点を当てており、バッチ処理機能の充実にはまだ課題が残されています。 本日、大規模文書に LLM を適用するための、よりシンプルで高速、かつスケーラブルな方法を発表します。これまでのようにデータを CSV ファイルとして 未管理の場所にエクスポートする必要はありません。今では、Unity Catalog による完全なガバナンスのもと、ワークフロー内でバッチ推論を直接実行できます。 以下の SQL クエリを記述し、ノートブックやワークフローで実行するだけで完了します。 ai_query を使用すれば、前例のない速度で大規模なデータセットを処理することが可能になり、最

Databricks モデルサービングの新たなアップデートで生成 AI アプリ開発を加速

May 9, 2024 アフマド・ビラルKasey Uhlenhuth による投稿 in
昨年、 Databricksモデルサービングにおける 基盤モデルのサポート を開始し 、企業が統合データおよび AI プラットフォーム上で安全でカスタマイズされた生成 AI アプリを構築できるようにしました。 それ以来、何千もの組織がモデルサービングを使用して、独自のデータセットに合わせてカスタマイズされた生成 AI アプリを展開してきました。 本日、生成 AI アプリの実験、カスタマイズ、展開を容易にする新しいアップデートを発表できることを嬉しく思います。 これらの更新には、新しい大規模言語モデル (LLM) へのアクセス、より簡単な検出、よりシンプルなカスタマイズ オプション、および改善された モニタリング が含まれます。 これらの改善により、生成 AI...
生成 AI一覧へ