DEV Community

Tutty
Tutty

Posted on

Meta Knowledge for Retrieval Augmented Large Language Models

選定理由

Amazonが出したRAGの論文、GAFAの戦略・方向性を知りたい。

Paper: https://arxiv.org/abs/2408.09017
Code: N/A

概要

【社会課題】
LLMは知識集約型タスクに有効だが、最新情報や特定分野の知識を迅速に取り込むことが難しく、幻覚や検索精度の低さが課題となっている。ユーザークエリが曖昧で短い場合、適切な文書を見つけにくく、検索結果の網羅性や深さが不足する問題がある。

【技術課題】
従来のRAGでは文書をチャンク化して検索するが、文脈が失われやすく情報が断片化する。複数文書にまたがる横断的な推論が難しく、ユーザークエリの精度を向上させる仕組みが不足している。

【提案】
「prepare-then-rewrite-then-retrieve-then-read(PR3)」という新しいワークフローを提案する。文書ごとにメタデータと合成QAを生成し、Meta Knowledge Summary(MK Summary)で文書をクラスタリングすることで、質問単位での情報検索を可能にする。これにより、検索の精度と網羅性を向上させる。

【実験・効果】
arXiv論文2000本を用いた実験で、従来のチャンクベース手法と比べて再現率や網羅性が20%以上向上した。処理コストは約20ドルと低く、ファインチューニング不要で新しいデータセットにも容易に適用可能であることが確認された。

【所感】
汎用性は高いのでRAGコア技術として活躍できそう。以下にFTあり・なしRAGについて整理した。開発順序としてはFTなしが先と思われる。

項目 FTあり RAG FTなし RAG
概要 埋め込みモデルやLLM自体をドメイン特化データで調整 既存のLLMをそのまま使い、クエリ拡張や文書処理で検索精度を向上
精度・パフォーマンス 高精度。クエリと文書のマッチングが最適化される 初期精度は良好だが、文書のギャップやクエリ依存が残る
コスト 高い(再学習やハイパーパラメータ調整が必要) 低い(追加学習不要。生成コストのみ)
知識の更新 知識の更新には再学習が必要 新しい文書を追加するだけで容易に対応
検索の柔軟性 専門領域に最適化されているが、他のドメインには応用しづらい 複数の領域に適用可能
弱点・課題 更新頻度が高い領域ではコストが膨らむ 初回検索の精度が結果に大きく依存する
モデルの維持管理 モデルの再学習やパラメータ調整が必要 一度構築すれば維持管理が容易
適応力 専門領域では非常に強力 一般領域に強いが、特定ドメインでの精度は限定的
産業ドメイン、対象システム 製薬、法務、金融、eコマースなど高精度が求められるエキスパートシステム カスタマーサポート、FAQ検索、研究論文検索、技術サポートなど汎用システム
従来研究 InPars [Bonifacio et al. 2022]、TaoBao [Chen et al. 2023] HyDE [Gao et al. 2022]、PRF [Lavrenko & Croft 2001]、本研究 [Mombaerts et al. 2024]

提案手法

img1

概要

従来の「retrieve-then-read」型RAGを拡張し、「prepare-then-rewrite-then-retrieve-then-read(PR3)」 という新たなワークフローを提案している。この手法は、文書のメタデータ生成や合成QA(質問応答)を活用し、検索精度と網羅性を向上させる。多様な分野に適用可能であり、専門領域特化型の検索システムを構築せずとも高精度な検索が実現できる。

【提案手法のポイント】

  1. 文書前処理フェーズ(Prepare)

    • 各文書に対してメタデータを生成。
    • 文書内容を基に合成QA(質問応答ペア)を作成し、文書の内容を要約・整理。
    • 合成QAはChain of Thought (CoT) プロンプトを用いて生成し、横断的な情報取得を容易にする。
  2. クエリ拡張フェーズ(Rewrite)

    • ユーザーのクエリに対してメタデータを参照し、関連するQAや要約を用いてクエリを拡張。
    • メタデータ単位でクラスター化した知識要約「Meta Knowledge Summary (MK Summary)」を活用し、 クエリの精度を向上させる。
  3. 検索・読み取りフェーズ(Retrieve & Read)

    • 拡張されたクエリを使い、合成QAベースで検索を実施。
    • 文書チャンクではなくQA単位で検索することで、文脈の喪失を防止し、 より具体的な検索結果を取得。
    • 検索結果から必要な情報をLLMが読み取り、最終回答を生成する。

実験

実験条件

  1. データセット

    • arXiv APIを使用し、2024年の最新論文2000本を取得
    • 文書全体で約35Mトークンの規模
  2. 合成QAの生成

    • 各文書からメタデータと合成QAを生成。
    • 合計で8657件のQAペアが作成され、 70%の文書で5~6件のQA、21%の文書で2件のQAが生成された。
    • QA生成にはClaude 3 Haikuを使用し、Chain of Thought (CoT) プロンプトを活用。
  3. クエリと検索プロセス

    • 評価用として200件のクエリをClaude 3 Sonnetで生成。
    • 提案手法と従来手法(文書チャンク型RAG)を比較。
    • 比較対象には以下の4種類のアプローチを用いた:
      1. 従来の文書チャンク型RAG(クエリ拡張なし)
      2. チャンク型RAG + クエリ拡張
      3. 合成QAを用いた検索(MKなし)
      4. 合成QA + MK Summary(提案手法)

メトリクス

  • 再現率(Recall):関連する情報をどれだけ網羅的に取得できたか。
  • 適合率(Precision):取得した情報の正確性と無関係な文書の排除率。
  • 網羅性(Breadth):質問に対して多角的かつ幅広い観点から情報が得られているか。
  • 深さ(Depth):詳細な分析や深いレベルの知識が含まれているか。
  • 関連性(Relevance):ユーザーニーズに対してどれだけ適切な情報が提供されているか。
  • 特異性(Specificity):クエリに対して具体的かつ的確な応答が得られているか。

実験結果

提案手法は従来手法と比較して、以下のような改善が確認された。

指標 チャンク型RAG (従来) チャンク型 + クエリ拡張 合成QA (MKなし) 合成QA + MK (提案手法)
再現率(Recall) 77.76% 82.27% 86.33% 88.39%
適合率(Precision) 86.91% 87.09% 90.04% 90.40%
特異性(Specificity) 71.51% 74.86% 79.64% 83.03%
網羅性(Breadth) 67.32% 79.77% 84.55% 87.09%
深さ(Depth) 65.62% 72.41% 78.08% 80.84%
関連性(Relevance) 81.51% 85.08% 88.92% 90.22%

考察

  • 提案手法は特に網羅性(Breadth)と深さ(Depth)で従来手法を20%以上上回る結果を示した。
  • 再現率(Recall)と特異性(Specificity)も高く、横断的な知識合成が効果的に行われていることが確認された。
  • 適合率(Precision)は従来手法との差が小さいが、これはQAベースの検索がそもそも精度が高いためと考えられる。
  • 合成QA + MK Summary(提案手法)が特に多面的な回答を提供し、 深く包括的な検索結果を実現している点が評価された。

コストと実行時間

2000本の論文処理コストは約20ドル(Amazon Bedrock経由でClaude 3 Haikuを使用)1件あたりのクエリ処理は約20〜25秒で完了し、リアルタイムでの運用にも耐えうる。

Top comments (0)