Databricksによる高品質RAGアプリケーションの作成

[Building High Quality RAG Applications with Databricks \| Databricks Blog](https://www.databricks.com/blog/building-high-quality-rag-applications-databricks)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

# 生成AIアプリケーションをプロダクションに移行するための新たなツールスイート

[Retrieval\-Augmented\-Generation \(RAG\)](https://www.databricks.com/glossary/retrieval-augmented-generation-rag#:~:text=Retrieval%20augmented%20generation%20or%20RAG%20is%20an%20architectural%20approach%20that,as%20context%20for%20the%20LLM.)は、プロプライエタリかつリアルタイムのデータを[大規模言語モデル](https://www.databricks.com/glossary/large-language-models-llm#:~:text=Large%20language%20models%20(LLMs)%20are,near%2Darbitrary%20instructions%2C%20translation%20as)アプリケーションに組み込むためのパワフルな手段として急速に活用が進みました。皆様の企業データを用いて高品質なプロダクションLLMアプリの構築を支援する、RAGツールの**スイートを本日ローンチ**できることを嬉しく思っています。

LLMは、新たなアプリケーションのプロトタイピングを迅速に行う際に非常に大きなブレイクスルーをもたらします。しかし、RAGアプリケーションを構築している数千のお客様企業とやり取りをした後に、これらのアプリケーションを**プロダクション品質**に持っていくためには最大の課題があることに気づきました。顧客に提供するアプリケーションに求められる品質基準に適合するためには、AIのアウトプットは正確で最新であり、企業の文脈を認識し安全である必要があります。

RAGアプリケーションで高い品質を達成するには、開発者は自分たちのデータの品質やモデルのアウトプットを理解するためのリッチなツールと、RAGプロセスにおける全ての側面を組み合わせ、最適化できる基盤となるプラットフォームを必要としています。RAGには、データ準備、取得モデル、(SaaSやオープンソース)言語モデル、ランキング、後処理パイプライン、プロンプトエンジニアリング、カスタムの企業データに対するトレーニングモデルのように数多くのコンポーネントが関係します。Databricksは常に皆様のデータと最先端のML技術を組み合わせることにフォーカスしています。本日のリリースでは、この哲学をお客様が自身のデータを活用して高品質なAIアプリケーションを作成できるように拡張します。

本日のリリースでは以下のパブリックプレビューが含まれています:

- お使いのレイクハウスにあるテーブルに対するセマンティック検索を支援する[Vector Search](https://docs.databricks.com/ja/generative-ai/vector-search.html)サービス。
- RAGアプリケーションから構造化されたコンテキストを利用できるようにする、オンライン[特徴量、関数のサービング](https://docs.databricks.com/ja/machine-learning/feature-store/feature-function-serving.html)。
- トークンあたり課金の基盤LLMを提供する完全[マネージドの基盤モデル](https://docs.databricks.com/ja/machine-learning/foundation-models/index.html)。
- RAGアプリのプロダクションパフォーマンスを監視する柔軟な[品質モニタリング](https://docs.databricks.com/ja/lakehouse-monitoring/index.html)インタフェース。
- 様々なLLMを比較、評価するためのLLM開発ツールセット。

これらの機能は、プロダクションのRAGアプリケーションを構築する際に確認した3つの主要な課題に対応することを目的として設計されています。

# 課題 #1 - お使いのRAGアプリケーションへのリアルタイムデータの提供

RAGアプリケーションでは、最高の品質と最もパーソナライズされたレスポンスを生成するために、あなたの最新の構造化データ、非構造化データを組み合わせます。しかし、オンラインデータサービングのインフラストラクチャの維持管理は非常に困難なものとなる場合があり、企業はこれまでの経緯から複数のシステムを繋ぎ合わせており、集中管理されているデータレイクから注文仕立てのサービングレイヤーにデータをロードするための複雑なデータパイプラインを維持しなくてはなりませんでした。また、様々なインフラストラクチャスタックにデータのコピーが散財することで、重要なデータセットの保護が非常に困難となっています。

このリリースによって、Databricksではオンライン検索のためのあなたのデータのサービングとインデックス作成をネイティブにサポートします。[**Vector Search**](https://docs.databricks.com/ja/generative-ai/vector-search.html)は、Deltaテーブルから自動でデータのインデックスの作成とサービングを行うので、RAGアプリケーションにおけるセマンティック類似検索を通じてアクセスすることができます。ベストなパフォーマンス、スループット、コストを提供するためにVector Searchは内部で、処理の失敗、リトライの対応、バッチサイズの最適化を行います。構造化データに対して、[**特徴量と関数のサービング**](https://docs.databricks.com/ja/machine-learning/feature-store/feature-function-serving.html)は、企業がユーザーの情報に基づいてプロンプトのカスタマイズを行うために取り込みたいと考えることが多い、ユーザーやアカウントデータのような文脈データのmsオーダーのクエリーを提供します。

Unity Catalogはサービングされるデータセットのオフライン、オンラインコピーの間のリネージを自動で追跡するので、データ品質問題のデバッグが容易になります。また、オンランデータセットとオフラインデータセット間のアクセスコントロール設定を強制するので、企業は誰がセンシティブなプロプライエタリ情報にアクセスしているのかを容易に監査、コントロールできることを意味します。
![](https://cms.databricks.com/sites/default/files/inline-images/untitled-design_0.gif)

# 課題 #2 - 基盤モデルの比較、チューニング、サービング

RAGアプリケーションにおいて品質を決定づける主な要因は、ベースとなるLLMモデルの選択です。モデルは理由づけの能力、幻覚の傾向、コンテキストのウィンドウサイズ、サービングコストのような様々な次元で異なるので、モデルの比較は困難になることがあります。また、いくつかのモデルは、パフォーマンスを改善しコストを削減できるように、特定のアプリケーションにファインチューニングすることができます。ほぼ毎週新たなモデルがリリースされているので、特定アプリケーションにとってベストな選択肢を見つけ出すためにベースモデルの組み合わせを比較することは非常な重荷となります。さらに物事を複雑にしているのは、多くの場合モデルの提供者は異なるAPIを提供しており、RAGアプリケーションの迅速な比較や将来性の確認を非常に困難なものとしています。

このリリースでは、**LLM開発と評価に対する統合環境**を提供しており、特定のクラウドに依存しないプラットフォームでモデルファミリーに対して一貫性のあるツールセットを提供します。Databricksのユーザーは、Azure OpenAIサービス、AWS BedrockやAnthropicによる最先端のモデル、Lamma 2やMPTのようなオープンソースモデル、お客様がファインチューニングした完全にカスタムなモデルにアクセスすることができます。新たなインタラクティブなAIプレイグラウンドによって、MLflowと連携されたツールチェインが毒性、レーテンシー、トークン数のようなキーメトリクスを追跡することでリッチな比較を可能にしつつも、これらのとの容易なチャット可能にします。プレイグラウンドやMLflowにおける隣り合わせのモデル比較によって、ユーザーはそれぞれのユースケースにおけるベストなモデルを特定できるようになり、さらにはretrieverコンポーネントの評価もサポートしています。
![](https://cms.databricks.com/sites/default/files/inline-images/playground-blog-0.png)

また、Databricksでは人気のあるLlamaやMPTモデルファミリーを含むフルマネージドのLLMモデルセットである[**Foundation Model API**](https://docs.databricks.com/ja/machine-learning/foundation-models/index.html)をリリースします。Foundation Model APIはトークンあたりの課金で使用することができるので、劇的にコストを削減し、柔軟性を高めます。Foundation Model APIはDatabricksのインフラストラクチャ内で提供されているので、センシティブなデータがサードパーティのサービスを経由する必要がありません。

実際のところ、高品質の実現とは多くの場合、それぞれのアプリケーション固有の要件に合わせてベースモデルの組み合わせとマッチングを意味します。Databricksの[**モデルサービング**](https://www.databricks.com/jp/product/model-serving)アーキテクチャでは、完全にカスタムなモデル、Databricksマネージドのモデル、サードパーティの基盤モデルに至るすべてのタイプのLLMのデプロイ、制御、クエリーのための統合インタフェースを提供します。この柔軟性によって、お客様は適切なジョブのための適切なモデルを選択することができ、利用できるモデルのさらなる進化に直面したとしても将来にわたって対応できることになります。
![](https://cms.databricks.com/sites/default/files/inline-images/blog-post.png)

# 課題 #3 - プロダクションにおける品質と安全性の保証

LLMアプリケーションがデプロイされると、どれだけ適切に動作しているのかを確認することが困難になることがあります。従来のソフトウェアと異なり、言語ベースのアプリケーションは単一の正しい答えや明確な「エラー」条件がありません。これは、品質(これはどれだけうまく動いているのか？)や異常、危険、毒性のあるアウトプット(これは安全なのか？)はどのようなものであるのかを理解することが簡単ではないことを意味します。Databricksでは、多くのお客様が小規模な内部向けプロトタイプで観測した品質が、大規模なユーザーベース向けにおいてどのように変換されるのかがわからないために、RAGアプリケーションのロールアウトを躊躇するのを多く見てきています。

このリリースに含まれる[Lakehouse Monitoring](https://www.databricks.com/jp/product/machine-learning/lakehouse-monitoring)は、RAGアプリケーションに対するフルマネージドな品質モニタリングをソリューションを提供します。Lakehouse Monitoringでは、アプリケーションのアウトプットの毒性、幻覚、その他の危険なコンテンツを自動でスキャンします。このデータは以降のアクションのために、ダッシュボード、アラート、その他の後段のデータパイプラインに入力されます。モニタリングはデータセットやモデルのリネージと連携しているので、開発者は古くなっているデータパイプラインや期待しない挙動をするモデルのようなエラーをクイックに診断することができます。

モニタリングは安全性に対してだけのものではなく、品質に対しても適用されます。Lakehouse Monitoringは「サムズアップ/サムズダウン」スタイルのユーザーフィードバックや「ユーザー許容レーティング」(エンドユーザーはどのくらいの頻度でAI生成の提案を許容しているのか)のような派生メトリクスのようなアプリケーションレベルのコンセプトと連携することができます。我々の経験では、エンドツーエンドのユーザーメトリクスを計測することで、企業は公開されているRAGアプリケーションが適切に動作しているという自信を大きく強めることを目撃しています。また、パイプラインの監視もDatabricksによって完全に管理されているので、開発者は観測用のインフラストラクチャの管理ではなく、自分たちのアプリケーションに時間を費やすことができます。
![](https://cms.databricks.com/sites/default/files/inline-images/image2_12.png)

このリリースにおけるモニタリング機能はまだ始まったばかりです。続報を楽しみにしていてください！

# 次のステップ

今週を通じて我々は詳細なブログ記事を公開し、次には実装のベストプラクティスの詳細に触れていきます。ですので、毎日Databricksブログをチェックしてください。そして、新たな[RAGのデモ](https://www.databricks.com/resources/demos/tours/deploy-llm-chatbots-rag-and-databricks-ai-vector-search?itm_data=demo_center)を通じて製品をチェックし、[オンデマンドで生成AIウェビナー](https://www.databricks.com/resources/webinar/disrupt-your-industry-generative-ai)をご覧いただき、実際のRAGツールスイートのクイックのデモをご覧ください。
<iframe width="560" height="315" src="https://www.youtube.com/embed/89CTQQzpe1U?si=jeZvWBOpzgukN3Ok" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

### Databricksクイックスタートガイド

[Databricksクイックスタートガイド](https://www.amazon.co.jp/dp/B09V1YXFVQ/)


### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)