Deepchecks: Evaluating Retrieval-Augmented Generation (RAG)
本論文は、信頼性、関連性、およびアプリケーション固有の要件との整合性を確保するために、多面的な評価、根本原因分析、および本番環境での監視を提供することにより、検索拡張生成(RAG)システムの評価における複雑な課題に対処するために設計された包括的なフレームワークであるDeepchecks を紹介する。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
非常に賢くおしゃべりなアシスタント(大規模言語モデル、または LLM)がいると想像してください。このアシスタントは物語の執筆や質問への回答が得意ですが、悪い癖があります。時には完全に事実無根のことを作り出したり、特定の状況にそぐわない一般的な回答をしたりするのです。これは、教科書を暗記したものの、宿題の具体的な詳細を確認するのを忘れた学生のように、自信満々だが誤った回答をしてしまうことに似ています。
これを解決するため、開発者はRAG(検索拡張生成)と呼ばれるシステムを作成しました。RAG は、その賢いアシスタントに図書館カードと司書を与えるようなものです。
- 司書(検索): アシスタントが回答する前に、司書は図書館(文書データベース)を素早く検索し、質問に関連する正確なページを見つけ出します。
- アシスタント(生成): アシスタントはそれらのページを読み、図書館の書籍を真実の源泉として利用して回答を作成します。
問題点:
司書がいるにもかかわらず、システムは失敗することがあります。司書が間違った本を取り出したり、アシスタントが本を無視して何事もなかったかのように作り話をしたりするのです。この論文は、これほど多くの可変要素があるため、このシステム全体がうまく機能しているかどうかを検証することが極めて困難であると説明しています。
解決策:Deepchecks
著者らは、これらの RAG システムのための超厳格な品質管理検査員として機能するDeepchecksを紹介しています。単一の「合格/不合格」の判定を与えるのではなく、Deepchecks はシステムを特定の「特性」に分解して検査します。これは、自動車整備士がエンジンの各部品をチェックすることに似ています。
以下は、簡単な比喩を用いて Deepchecks がシステムを検査する方法です:
1. 3 つの主要なチェック(「特性」)
Deepchecks は回答の質を確保するために、3 つの特定の項目を確認します。
- 検索の関連性(司書は正しい本を見つけましたか?):
- 比喩: 「ケーキの焼き方は?」と尋ねた場合、司書は「車の修理方法」の本を手渡すべきではありません。Deepchecks は、取り出された文書が実際に質問に役立つかどうかを確認します。
- 文脈への根拠(アシスタントは本に忠実でしたか?):
- 比喩: これは「幻覚」を検出するものです。本にケーキに卵が 2 個必要と書かれているのに、アシスタントが 10 個必要だと述べた場合、Deepchecks はその嘘を見抜きます。回答に含まれるすべての事実が、司書が見つけた文書によって実際に裏付けられているかを確認します。
- 完全性(アシスタントは質問全体に答えましたか?):
- 比喩: 「ケーキの焼き方と、オーブンの温度設定は?」と尋ねた場合、回答が「オーブンに入れてください」だけであってはなりません。Deepchecks は、アシスタントがリクエストのすべての部分を網羅したかどうかを確認します。
(また、アシスタントが失礼な態度をとったり、個人情報を漏らしたり、危険なことを言ったりしていないかを確認する安全性チェックもあります。)
2. 「包括的」なスコア(最終評価)
ほとんどのツールは上記の各項目のスコアリストを提供するだけです。Deepchecks は一歩進んでいます。すべてのスコアを1 つの最終評価(ポジティブ、ネガティブ、または不明)に統合するためのスマートな「集約メカニズム」(学習された式)を使用します。
- ポジティブ: 司書は正しい本を見つけ、アシスタントはそれに基づいて完璧に回答しました。
- ネガティブ: 何かがうまくいかなかった(間違った本、作り話、不完全な回答)。
- 不明: ひどくはなかったが、「完璧」という高い基準には達しなかった。
3. 探偵ツール(根本原因分析)
システムが「ネガティブ」の評価を受けた場合、Deepchecks は単に失敗したと伝えるだけでなく、探偵のようになぜ失敗したかを特定します。
- 比喩: 車が故障したと想像してください。基本的な整備士は「故障している」と言います。Deepchecks は「エンジンは大丈夫だが、タイヤがパンクしている」と言います。
- これにより、開発者は問題をどこで修正すべきかを正確に知ることができます。より良い司書(より良い検索)が必要でしょうか?それとも、アシスタントによりよく耳を傾けるよう訓練する(より良い生成)必要がありますか?
4. 「タイムマシン」(バージョン比較と監視)
Deepchecks は、システムの実行中の異なるバージョンを並べて比較することも可能にします。
- 比喩: タイヤを変える前後の車の性能を比較するようなものです。新しいタイヤは車を速くしましたか?
- また、リアルワールドでシステムが稼働している間も監視します。システムが時間の経過とともに悪化し始めた場合(おそらく図書館の本が変わったか、ユーザーの質問が変わったため)、Deepchecks は即座に警報を発します。
論文の発見
著者らは、Deepchecks を他の人気ツール(RAGAS や LangSmith など)と比較してテストしました。使用されたデータセットは以下の通りです:
- 公開データセット: 誰もが知る標準的なテスト質問。
- クライアントデータセット: 実際の企業からのリアルワールドの事例(テクニカルサポートのチャットや求職者の審査など)。
結果: Deepchecks は、特にリアルワールドのクライアントデータにおいて、エラーを特定する能力が優れていました。他のツールは時には見落としをしたり、一貫性のない評価を与えたりしましたが、Deepchecks はシステムが嘘をついている(幻覚を起こしている)場合や、無関係な回答をしている場合をより正確に特定しました。
まとめ:
Deepchecks は、あなたの AI アシスタントが単に自信満々に話しているだけでなく、提供された文書に基づいて真実を語っていることを保証する包括的なツールキットです。司書をチェックし、ライターをチェックし、安全性をチェックし、何が壊れているかを正確に修正できるように、明確な成績表を提供します。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。