ベクター検索取得の品質を評価する

Important

この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

モザイク AI ベクター検索は、データに対するさまざまな検索戦略の関連性を測定および比較する組み込みの取得品質評価を提供します。 ドキュメントから評価クエリを自動的に生成し、複数の取得戦略を実行して、詳細なレポートを生成できます。

必要条件

マネージドデルタシンクベクター検索インデックス。 ベクター検索エンドポイントとインデックスの作成を参照してください。

アクセス許可

評価ジョブと結果ダッシュボードは、ベクター検索インデックスから Unity カタログのアクセス許可を継承します。 インデックスへのクエリ アクセス権を持つすべてのユーザーは、評価実行を開始し、結果ダッシュボードを表示できます。 評価実行を開始するユーザーは、インデックスの所有者ではなく、ジョブの所有者です。

ベクター検索検索の品質評価のしくみ

この評価では、データに対して 4 段階のパイプラインが実行されます。

  1. クエリの生成: システムはソース テーブルからドキュメントをサンプリングし、LLM を使用して現実的な検索クエリを生成します。 自然言語クエリとキーワード クエリの組み合わせが生成されます。
  2. 戦略をまたいで検索する: 生成された各クエリは、ANN、ハイブリッド、フルテキストなどの複数の取得戦略を使用してインデックスに対して実行されます。 各戦略は、リランカーの有無にかかわらず評価されます。 この方法では、同じクエリ セットで戦略を並べて比較します。 各取得方法の詳細については、「 取得アルゴリズム」を参照してください。
  3. 関連性のスコア付け: LLM のジャッジは、すべてのクエリと取得したドキュメント ペアを 4 ポイントの関連性スケールで評価します。
  4. メトリックの計算と分析: システムは、信頼区間を使用して取得品質メトリックを計算します。 結果は永続化されるため、後で表示したり、評価の実行間で比較したりできます。

取得品質評価の実行を開始する

プロセスを開始するには、ベクター検索インデックス ページの [検索品質の評価 ] をクリックします。 既定値はインデックス メタデータに基づいて事前に設定されるため、構成は必要ありません。

ベクター検索インデックス ページの [品質の評価] ボタン。

実行が完了したら、[結果の 表示 ] をクリックして結果ダッシュボードを表示します。 ダッシュボードの概要については、「 結果ダッシュボード」を参照してください。

結果リンクを表示します。

新しい評価をいつでも開始するには、[ 新しい評価の開始] をクリックします。

結果ダッシュボード

ダッシュボードには、評価実行の結果が表示されます。 [ 実行の選択 ] ドロップダウン メニューを使用して、表示する実行を選択します。

結果ダッシュボードの例。

ダッシュボードの上部には、すべてのクエリの種類に対する最適なDCG@10 スコア、それを達成した推奨クエリの種類、評価されたクエリの数という 3 つの概要インジケーターがあります。

Databricks がDCG@10を推奨する理由を参照してください。

概要インジケーターの下に、ダッシュボードには、再ランカーを使用した場合と使用しない場合の各クエリの種類のDCG@10スコアを比較する棒グラフが表示されます。 横棒グラフの横には、再ランカーの有無にかかわらず、各クエリの種類のDCG@10と平均の関連性を示す 2 つのテーブルがあります。

次に示す折れ線グラフは、クエリの種類ごとに結果の位置間で平均関連性がどのように変化するかを示しています。

また、ダッシュボードには、平均関連性スコア、各クエリの種類のベースと再ランカーのパフォーマンスを比較するテーブル、失敗したクエリのテーブル (上位 1 の結果が 0 (無関係) のスコア付けされたクエリ)、およびクエリ メトリックごとに、一定期間にわたって選択されたメトリックを示す折れ線グラフも表示されます。

関連性スコアリング

取得品質評価では、ジャッジとしての LLM を使用して、各クエリと取得したドキュメント ペアを 4 ポイントの評価された関連性スケールでスコア付けします。

スコア ラベル 説明
3 関連性の高い ドキュメントがクエリに直接回答するか、必要な情報を正確に提供します クエリ: "四角形の面積を計算するにはどうすればよいですか?
長さ×幅の数式について説明します
2 関連した ドキュメントは関連しており、有用な情報を提供しますが、クエリに完全に応答しない場合があります クエリ: "小切手のルーティング番号はどこにありますか?"
ドキュメントに "チェックの下部に印刷されました" と表示される (部分的に完了)
1 部分的に関連している ドキュメントでトピックが説明されていますが、クエリに役立つ情報は提供されません クエリ: "四角形の面積を計算する方法?"
ドキュメントでは、一般的な用語でのみ四角形の領域について説明します
0 関連性がない ドキュメントがクエリに関連付けられていないか、ドキュメント言語がクエリ言語と一致しない 英語でのクエリ
回答を正しく文書化する (フランス語)

二項関連/関連性のないスケールと比較して、評価されたスケールは重要な区別をキャプチャします。 たとえば、質問 (スコア 3) に直接回答するドキュメントは、トピック (スコア 1) に触れるだけのドキュメントとは意味が異なります。 この細分性はメトリック (特に DCG) に流れます。これにより、品質の高い結果がより重くなります。

すべてのメトリックには、クエリごとの値に対して計算された 95% 信頼区間が含まれているため、戦略間の差が統計的に意味があるかどうかを評価できます。

検索メトリック

ダッシュボードの下部で、選択したメトリックを時間の経過と同時に表示できます。 [メトリックの選択] ドロップダウン メニューから、表示する メトリックを選択 します。

時間の経過に伴うメトリックの表示。

このセクションでは、使用可能なメトリックについて説明します。

DCG@k — 割引累積ゲイン

DCG@10では、完全な 0 から 3 の関連性スケールを使用して、関連性の高い結果とランキングに表示される場所の両方をキャプチャします。 Databricks では、全体的な取得品質を評価するための主要なメトリックとしてDCG@10を使用することをお勧めします。

  • 測定対象: 上位 10 件の結果の合計ユーティリティ 。位置によって重み付けされます。 ランクが高い結果は、下位の結果よりも多くの結果を提供します。
  • しくみ: 各結果の関連性スコアは、その位置に基づいて対数割引によって重み付けされます。 最初の結果はその関連性を最大限に高めますが、順位の低い結果は徐々に少なくなります。
  • 範囲: 0 から次の表に示す理論上の最大値。 高い方が良いです。

すべての結果スコアが 3 の場合、理論上の最大 DCG 値:

k 理論上の最大 DCG
1 3.00
3 6.39
5 8.85
10 13.63
20 21.12

これらの数値を観点から見ると、10 件すべての結果の関連性が 2 (0 から 3 のスケール) の場合、DCG@10は 13.6 になります。 このシナリオでは、1 ポイントDCG@10ゲインは非常に大きな (+7% 相対) 向上です。 これは、ページ上のほぼ 1 つの結果が顕著に改善され、上部に重み付けされたものと考えることができます。

NDCG@k — 正規化された割引累積ゲイン

  • 測定内容: 最適な順序に対して可能な限り、結果がどの程度配列されるか。 NDCG は、DCG を理想的な DCG (結果が関連性の降順で並べ替えられた場合の DCG) で除算して正規化します。
  • 範囲: 0 から 1。 スコアが 1.0 の場合は、結果が完全な順序であることを意味します。
  • 使用するタイミング: 利用可能な関連ドキュメントの合計数に関係なく、システムが結果を正しくランク付けしているかどうかを知りたい場合。 詳細な比較については、「 DCG@10が推奨される主要メトリックである理由 」を参照してください。

Recall@k

  • 測定対象: 上位 k の結果に表示される既知の関連ドキュメントの割合。
  • 範囲: 0 から 1。 スコアが 1.0 の場合は、すべての既知の関連ドキュメントが取得されたことを意味します。
  • 使用するタイミング: 関連するドキュメントが見つからない場合、LLM が不完全な回答を生成することを意味する RAG アプリケーションなど、完全性が重要な場合。

Precision@k

  • 測定対象: 関連する上位 k 個の結果の割合 (関連性スコア >= 2)。
  • 範囲: 0 から 1。 スコアが 1.0 の場合、上位 k のすべての結果が関連します。
  • 使用するタイミング: 関連性のない結果がユーザーの信頼に悪影響を与える可能性がある検索インターフェイスなど、結果の品質が完全性よりも重要な場合。

平均関連性スコア

  • 測定対象: すべてのクエリと結果のペアで LLM が判断した平均関連性スコア。
  • 範囲: 0 ~ 3。 高い方が良いです。
  • 使用するタイミング: 簡易品質スナップショットとして。

関連性の分布

  • 測定対象: 各関連性カテゴリの結果の割合:
    • 関連性の高い %: 結果のスコアが3(直接回答)。
    • 関連+ %: 結果スコア付け 2 以上 (役立ちます)。
    • 関連しない %: 結果のスコア付け 0 または 1 (役に立ちません)。
  • 使用する場合: 品質分布の形状を理解するため。 2 つの戦略は、同じ平均スコアを持つことができますが、分布は非常に異なります。 たとえば、バイモーダル分散 (3 と 0 が多数) では、クエリ パターンが適切に取得されておらず、注意が必要であることを示唆している可能性があります。

MRR — 平均逆ランク

  • 測定対象: ユーザーが最初の関連する結果を見つける速さ。 MRR はクエリ全体の 1/ランクの平均です。ランクは最初の関連する結果 (スコア > = 2) の位置です。
  • 範囲: 0 から 1。 スコアが 1.0 の場合、最初の結果は常に関連します。
  • 使用するタイミング: 質問に回答するシステムなど、上位の結果が最も重要な場合。

MAP@k — 平均平均精度

  • 測定対象: 最初の結果だけでなく、関連するすべての結果のランク付けの品質。 MAP は、関連する各結果の位置で精度を計算し、次に平均を計算します。
  • 範囲: 0 から 1。 値が高いほど、関連するドキュメントが常に上位付近にランク付けされていることを示します。
  • 使用するタイミング: 関連するすべてのドキュメントの全体的なランク付けの品質をキャプチャする 1 つの数値が必要な場合。

DCG@10は、ほとんどのアプリケーションで取得品質の最も完全な画像を提供します。

  • 評価された関連性は、微妙な意味を表します。精度などのバイナリ メトリックは、関連するすべてのドキュメントを均等に扱います。 クエリに完全に回答するドキュメント (スコア 3) は、トピック (スコア 1) をあいまいにメンションするドキュメントと同じ数になります。 DCG では、完全な 0 から 3 の関連性スケールが使用されるため、結果スコア 3 は 1 の結果よりも大幅に多く貢献します。
  • 位置の重要: ユーザーは最初に上位の結果を見ます。 DCG は対数割引を適用するため、位置 1 の結果は 10 桁の結果よりもはるかに多くカウントされます。 最初の結果は完全な関連性スコアを示し、10 番目の結果の貢献度は log₂(11) ≈ 3.46 で除算されます。
  • 絶対ユーティリティは、正規化されたメトリックミスを明らかにします。次の表に示す例を考えてみます。 両方の結果セットは、それぞれが理想的な降順で結果を持っているので、1.00の完璧なNDCGを達成します。 ただし、結果セット B は、すべての結果が有用であるため、合計値 (DCG 8.02 と 4.26) のほぼ 2 倍を提供します。 NDCGは、「3つの無関係な結果のうち2つの良い結果の完璧なランキング」と「5つの良い結果の完璧なランキング」を区別することはできません。DCG は、"ユーザーが実際に取得した有用な情報の量" という質問に答えます。

DCG と NDCG の詳細については、「 割引累積ゲイン」を参照してください。

結果 位置 1 位置 2 位置 3 位置 4 位置 5 NDCG@5 DCG@5
結果集合 A 3 2 0 0 0 1.00 4.26
結果セット B 3 3 3 2 2 1.00 8.02

ストーリー全体を示すメトリックは 1 つもありません。 完全なメトリック スイートを使用して全体像を把握し、アプリケーションの品質要件に最も一致するメトリックを選択します。

一般的なシナリオ

次の表では、一般的な評価結果パターン、その意味、およびそれらに対処する方法について説明します。

パターン 意味 推奨されるアクション
ハイブリッドは ANN よりも大幅に優れています クエリはキーワード マッチングのメリットを得られます。 運用環境でハイブリッド検索を使用します。
ANN はハイブリッドにほぼ等しい キーワードはデータの価値を追加しません。 どちらの戦略も機能します。 ANN の方が簡単です。
ANN よりもフルテキストの方が大幅に優れています 埋め込みでは、ドメインが適切にキャプチャされない場合があります。 埋め込みモデルを微調整するか、フルテキスト検索を使用することを検討してください。
Reranker によってメトリックが大幅に改善される クロスエンコーダーは意味のある品質向上をもたらします。 待機時間の予算が許可されている場合は、再ランカーを有効にします。
幅の広い信頼区間 信頼性の高い比較に十分なクエリがありません。 評価クエリの数を増やします。
すべての戦略のスコアが低い データ品質または関連性の問題。 取得品質の向上に関するステップ バイ ステップ ガイドについては、 ベクター検索 検索の品質ガイドを参照してください。