メインコンテンツまでスキップ

パフォーマンスの評価: 注意すべきメトリクス

この記事では、検索、応答、およびシステムパフォーマンスの品質に関するRAGアプリケーションのパフォーマンス測定について説明します。

取得、応答、およびパフォーマンス

評価セットを使用すると、さまざまな側面からRAGアプリケーションのパフォーマンスを測定できます。

  • 検索品質: 検索 メトリクスは、RAGアプリケーションが関連するサポートデータをどの程度正常に取得しているかを評価します。 精度と再現率は、2 つの主要な検索メトリクスです。
  • 応答品質: 応答品質メトリクスは、RAGアプリケーションがユーザーのリクエストにどの程度応答するかを評価します。応答メトリクスは、たとえば、結果の回答が真実に基づいて正確であるか、取得したコンテキストに基づいて応答がどの程度根拠があるか(たとえば、LLMはハルシネーションを起こしたか?)、または応答がどの程度安全であったか(つまり、毒性がないか)を測定できます。
  • システムパフォーマンス(コスト & レイテンシー): メトリクスは、RAGアプリケーションの全体的なコストとパフォーマンスを捕捉します。全体のレイテンシーとトークン消費量は、チェーンパフォーマンスメトリクスの例です。

応答メトリクスと取得メトリクス両方を収集することが非常に重要です。RAGアプリケーションは、正しいコンテキストを取得しても不適切な応答をする可能性があります。また、不適切な取得に基づいていても、適切な応答を提供する可能性もあります。両方のコンポーネントを測定することによってのみ、アプリケーション内の問題を正確に診断し、対処できます。

パフォーマンス測定のアプローチ。

これらのメトリクス全体でパフォーマンスを測定するための 2 つの主要なアプローチがあります。

  • 決定論的測定: コストとレイテンシーのメトリクスは、アプリケーションの出力に基づいて決定論的に計算できます。 評価セットに、質問に対する回答を含むドキュメントのリストが含まれている場合、検索 メトリクスのサブセットも決定論的に計算できます。
  • LLMジャッジベースの測定: このアプローチでは、別のLLMがジャッジとして機能し、RAGアプリケーションの検索と応答の品質を評価します。回答の正確性などの一部のLLMジャッジは、人間がラベル付けしたグラウンドトゥルースとアプリの出力を比較します。グラウンディングネスなどの他のLLMジャッジは、アプリの出力を評価するために人間がラベル付けしたグラウンドトゥルースを必要としません。
重要

LLMジャッジが効果的であるためには、ユースケースを理解するように調整する必要があります。 そのためには、ジャッジがどこでうまく機能し、どこでうまく機能しないかを理解するために細心の注意を払う必要があります。そして、失敗の場合には、ジャッジを調整して改善する必要があります。

Agent Evaluation は、このページで説明する各メトリクスに対して、ホストされた LLM ジャッジモデルを使用して、すぐに使用できる実装を提供します。Agent Evaluation のドキュメントでは、これらのメトリクスとジャッジがどのように実装されているかの詳細について説明し、ジャッジをデータで調整して精度を高める機能を提供します。

メトリクス概要

以下は、Databricksがお客様のRAGアプリケーションの品質、コスト、およびレイテンシーを測定するために推奨するメトリクスの概要です。これらのメトリクスはAgent Evaluationに実装されています。

ディメンション

メトリクス名

質問

測定基準

正解は必要ですか?

検索

chunk_relevance/precision

取得されたチャンクの何%がリクエストに関連していますか?

LLMジャッジ

No

検索

ドキュメントリコール

取得したチャンクには、グラウンドトゥルースドキュメントの何%が表されていますか?

確定的

はい

検索

コンテキストの十分性

取得されたチャンクは、期待される応答を生成するのに十分ですか?

LLMジャッジ

はい

レスポンス

correctness

全体として、エージェントは正しい応答を生成したか

LLMジャッジ

はい

レスポンス

relevance_to_query

応答は要求に関連していますか?

LLMジャッジ

No

レスポンス

groundedness

その反応は困惑なのか、それとも文脈に根ざしたものか

LLMジャッジ

No

レスポンス

safety

応答に有害なコンテンツが含まれていますか?

LLMジャッジ

No

コスト

total_token_count, total_input_token_count, total_output_token_count

LLMの生成におけるトークンの総数はいくつか?

確定的

No

レイテンシー

latency_seconds

アプリ実行の待機時間はどれくらいですか?

確定的

No

取得メトリクスの仕組み

取得メトリクスは、レトリーバーが適切な結果を提供しているかどうかを理解するのに役立ちます。 取得メトリクスは、精度と再現率に基づいています。

メトリクス名

質問の回答

詳細

Precision

取得されたチャンクの何%がリクエストに関連していますか?

適合率は、ユーザーのリクエストに実際に適合する検索済みドキュメントの割合です。LLM ジャッジを使用して、取得された各チャンクのユーザーのリクエストへの関連性を評価できます。

Recall

取得したチャンクには、グラウンドトゥルースドキュメントの何%が表されていますか?

再現率は、取得したチャンクで表されるグラウンドトゥルースドキュメントの割合です。 これは、結果の完全性の尺度です。

精度と再現率

以下は、優れたWikipedia記事を参考に作成した精度と再現率に関する簡単な入門です。

精度の式

精度は、「取得したチャンクのうち、実際にユーザーのクエリに関連するアイテムの割合は何パーセントか?」を測定します。精度を計算するのに、すべての関連アイテムを知ることは*必要ありません*。

精度を計算するための式。

再現率の公式

再現率では、「ユーザーのクエリーに関連すると私が認識している**すべて**のドキュメントのうち、何%からチャンクを取得しましたか?」を測定します。再現率を計算するには、グラウンドトゥルースに**すべて**の関連項目が含まれている必要があります。項目は、ドキュメントまたはドキュメントのチャンクのいずれかになります。

再現率の計算式。

以下の例では、取得された 3 つの結果のうち 2 つがユーザーのクエリに関連していたため、適合率は 0.66 (2/3) でした。取得されたドキュメントには、合計 4 つの関連ドキュメントのうち 2 つが含まれていたため、再現率は 0.5 (2/4) でした。

精度と再現率の測定を示す図。