XYZNOT

論文 · arXiv 2005.11401

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

公開日 cs.CLcs.LG arXivPDF

XYZNOT で読む(全文翻訳と AI 解説)

3行まとめ

  1. 🎯 純粋なパラメトリック言語モデルは事実的知識へのアクセス、修正、根拠付けが難しく、知識集約型タスクでハルシネーションを引き起こしやすい。
  2. 🔧 DPR(Wikipediaに対するノンパラメトリックメモリ)とBART生成器(パラメトリックメモリ)を組み合わせ、潜在文書の周辺化を通じてエンドツーエンドでファインチューニングするRAGを提案。
  3. 📈 オープンドメインQAでSOTAを達成(Natural Questionsで44.5 EM)し、パラメトリックのみのベースラインよりも事実に基づいた具体的かつ多様なテキストを生成。

概要

大規模な事前学習済み言語モデルは、そのパラメータ内に事実的知識を蓄積し、下流のNLPタスクでファインチューニングされた際に最先端の結果を達成することが示されています。しかし、知識にアクセスし正確に操作する能力は依然として限られており、そのため知識集約型タスクにおいては、タスク固有のアーキテクチャにパフォーマンスで後れを取っています。さらに、意思決定の根拠の提示や、世界知識の更新も未解決の研究課題として残されています。明示的なノンパラメトリックメモリへの微分可能なアクセス機構を持つ事前学習済みモデルはこの問題を克服できますが、これまで抽出型の下流タスク向けにしか調査されていませんでした。本研究では、言語生成のために事前学習済みのパラメトリックメモリとノンパラメトリックメモリを組み合わせるモデルである、Retrieval-Augmented Generation(RAG)の汎用的なファインチューニング手法を探究します。本稿では、パラメトリックメモリとして事前学習済みseq2seqモデルを、ノンパラメトリックメモリとして事前学習済みニューラル検索器を介してアクセスされるWikipediaの密ベクトルインデックスを用いたRAGモデルを提案します。生成シーケンス全体で同じ取得パッセージを条件とする手法と、トークンごとに異なるパッセージを使用できる手法の2つのRAG定式化を比較します。幅広い知識集約型NLPタスクでモデルをファインチューニングおよび評価し、3つのオープンドメインQAタスクで最先端の結果を達成し、パラメトリックseq2seqモデルおよびタスク固有の検索・抽出アーキテクチャを上回りました。言語生成タスクにおいて、RAGモデルは最先端のパラメトリックのみのseq2seqベースラインよりも、より具体的で多様かつ事実に基づいた言語を生成することを確認しました。

英語の原文概要

Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still limited, and hence on knowledge-intensive tasks, their performance lags behind task-specific architectures. Additionally, providing provenance for their decisions and updating their world knowledge remain open research problems. Pre-trained models with a differentiable access mechanism to explicit non-parametric memory can overcome this issue, but have so far been only investigated for extractive downstream tasks. We explore a general-purpose fine-tuning recipe for retrieval-augmented generation (RAG) -- models which combine pre-trained parametric and non-parametric memory for language generation. We introduce RAG models where the parametric memory is a pre-trained seq2seq model and the non-parametric memory is a dense vector index of Wikipedia, accessed with a pre-trained neural retriever. We compare two RAG formulations, one which conditions on the same retrieved passages across the whole generated sequence, the other can use different passages per token. We fine-tune and evaluate our models on a wide range of knowledge-intensive NLP tasks and set the state-of-the-art on three open domain QA tasks, outperforming parametric seq2seq models and task-specific retrieve-and-extract architectures. For language generation tasks, we find that RAG models generate more specific, diverse and factual language than a state-of-the-art parametric-only seq2seq baseline.

論文解説

問題設定と動機

事前学習済み言語モデルは、パラメータ内(パラメトリックメモリ)に膨大な事実知識を蓄積しています。しかし、再トレーニングなしで知識を拡張・更新することが困難であること、出力の根拠や解釈可能性を容易に提示できないこと、ハルシネーションを起こしやすいことなど、重大な欠点が存在します。

REALMやORQAのようなパラメトリック/ノンパラメトリックのハイブリッドモデルは、微分可能な検索とマスク言語モデリングを組み合わせましたが、抽出型質問応答に限定されていました。BARTやT5などの標準的なシーケンス・ツー・シーケンス(seq2seq)アーキテクチャは、事実上クローズドブックのままでした。本研究は、事前学習済みの高密度ニューラル検索器と自己回帰型seq2seq生成器を結合した汎用的なファインチューニングフレームワークである**Retrieval-Augmented Generation (RAG)**を提案し、オープンドメインの生成および分類タスクの両方に対応することでそのギャップを埋めます。

主なアイデア

  • パラメトリックメモリとノンパラメトリックメモリのハイブリッド: ノンパラメトリックメモリは、Maximum Inner Product Search (MIPS)を介してアクセスされる、2,100万件の100語単位のWikipediaパッセージに対する密ベクトルインデックスで構成されます。パラメトリックメモリは事前学習済みのBART生成器です。
  • エンドツーエンドのファインチューニング: 取得されたパッセージを潜在変数として扱い、明示的な検索の教師ラベルなしにターゲットトークンの負の周辺対数尤度を最小化することで、クエリエコーダと生成器を共同でトレーニングします。
  • 2つの条件付け定式化:
    • RAG-Sequence: 生成シーケンス全体で同一の取得文書を条件とします。
    • RAG-Token: 生成されるトークンごとに、異なる取得パッセージにアテンションを向け、周辺化することを可能にします。
  • ホットスワップ可能な世界知識: モデルの重みを変更することなく、推論時に外部インデックスを置き換える(例: 2016年のWikipediaインデックスを2018年のインデックスに差し替える)ことで、世界知識を更新できます。

手法

入力シーケンス が与えられると、検索器 は文書 の分布を生成し、生成器 は と の両方を条件としてターゲットトークンを生成します。

検索器にはDense Passage Retriever (DPR)を使用します: ここで 、 です。上位 件の候補はFAISS MIPSを使用して取得されます。文書インデックスと文書エンコーダ は固定されたままで、 とBART生成器のパラメータ のみがファインチューニングされます。

RAG-Sequence

このモデルは、シーケンス 全体にわたって取得文書を単一の潜在変数として扱います: デコーディングは、Thorough Decoding(文書ごとにビームサーチを実行し、全文書にわたって候補仮説のフォワードパスを計算)またはFast Decoding(欠落しているビーム確率を0として近似)を使用して評価できます。

RAG-Token

このモデルは各トークンステップで文書を周辺化するため、複数の情報源にわたるトークンレベルのコンテンツ合成が可能になります: これにより、ビームサーチに直接組み込める標準的な自己回帰遷移確率が得られます。

結果

  • オープンドメインQA: RAGは完全一致(EM)を用いたオープンベンチマークで新たなSOTAを達成しました:
    • Natural Questions: 44.5 (RAG-Seq) vs. 41.5 (DPR)、36.6 (T5-11B+SSM)。
    • TriviaQA (標準オープンスプリット): 56.8 (RAG-Seq); TQA-Wikiテストスプリット: 68.0 (RAG-Seq) vs. 60.5 (T5-11B+SSM)。
    • WebQuestions: 45.5 (RAG-Token) vs. 41.1 (DPR)。
    • CuratedTrec: 52.2 (RAG-Seq) vs. 50.6 (DPR)。
    • 特筆すべき点として、Natural Questionsにおいて、正解が取得コンテキストに完全に含まれていない場合でも、RAGは**11.8%**のEMを達成しました(抽出型モデルは0%)。
  • 生成的要約・生成タスク: Open MS-MARCOにおいて、RAG-SequenceはRouge-L 40.8、Bleu-1 44.2を達成し、BART(Rouge-L 38.2、Bleu-1 41.6)を上回りました。
  • Jeopardy!問題生成: 人手評価において、RAG-Tokenは42.7%のケースでBARTよりも事実に基づいていると評価されたのに対し、BARTが優れていたのはわずか7.1%でした。また、評価者はRAGのほうが具体的であると判断しました(37.4% vs. 16.8%)。
  • 事実検証: FEVER(3クラス分類)において、RAGは72.5%のラベル精度を達成し(正解証拠の教師ありパイプラインシステムとの差は4.3%以内)、2クラス分類では89.5%の精度を達成しました。
  • ホットスワップによる知識更新: 2016年と2018年の間の82人の指導者に関する時間的テストにおいて、RAGは2016年のインデックスを使用して2016年の指導者に対して70%の精度、2018年のインデックスを使用して2018年の指導者に対して68%の精度を記録しましたが、不一致の場合には大幅に低下しました(それぞれ12%と4%)。

限界と未解決の課題

  • 検索の崩壊(Retrieval Collapse): 明示的な事実の条件付けがあまり必要とされないタスク(自由形式のストーリー生成など)では、生成器が文書を無視することを学習し、検索器が静的で無変化な文書の取得に縮退してしまうことがあります。
  • 固定された文書インデックス: 2,100万個のベクトルを継続的に再インデックスする計算コストが高いため、タスクのファインチューニング中に文書エンコーダは固定されたままとなり、検索器の適応が制限されます。
  • 情報源の根拠付けとバイアス: ノンパラメトリックメモリは、基盤となる知識コーパス(Wikipedia)に含まれる誤情報やバイアスに対して脆弱なままです。
  • 共同事前学習: 検索器と生成器のコンポーネントは下流タスクのファインチューニング前に個別に事前学習されていたため、スクラッチからの共同事前学習は今後の課題として残されています。

重要用語

Retrieval-Augmented Generation (RAG) (検索拡張生成)
事前学習済みのニューラル検索器と事前学習済みのseq2seqモデルを組み合わせ、取得したノンパラメトリックなテキストパッセージを条件として生成を行うハイブリッドフレームワーク。
Parametric Memory (パラメトリックメモリ)
事前学習済みseq2seq生成器(BART)のニューラルネットワークの重み内部に保持される暗黙的な事実知識。
Non-Parametric Memory (ノンパラメトリックメモリ)
実行時にアクセスされる明示的な外部文書コレクション(例: 2,100万件のWikipediaパッセージからなるFAISS密ベクトルインデックス)。
RAG-Sequence
生成シーケンス全体を通じて取得パッセージを一定の潜在変数として扱うRAGの定式化。
RAG-Token
生成されるトークンごとに上位k件の取得文書を個別に周辺化し、複数の情報源にわたる合成を可能にするRAGの定式化。
Dense Passage Retriever (DPR)
密な埋め込み空間における最大内積探索を通じて、クエリに対する文書の関連性をスコアリングするデュアルBERTエンコーダアーキテクチャ。
Maximum Inner Product Search (MIPS) (最大内積探索)
クエリベクトルに最も近い上位k件の文書ベクトルを劣線形時間で高速に取得するために使用される数学的探索手法。
Index Hot-Swapping (インデックスのホットスワップ)
モデルのパラメータを再トレーニングまたはファインチューニングすることなく、ノンパラメトリック文書インデックスを更新された情報に置き換える手法。

よくある質問

RAG-SequenceとRAG-Tokenの違いは何ですか?

RAG-Sequenceはシーケンス全体のすべてのトークンを条件付けるために全く同一の取得文書を使用しますが、RAG-Tokenは各ステップで上位文書を周辺化するため、異なるトークンが異なる文書に基づいて生成されることを可能にします。

ファインチューニング中に文書表現は更新されますか?

いいえ。トレーニング中に2,100万件の文書を再インデックスする高い計算コストを回避するため、文書エンコーダとFAISSインデックスは固定されたままです。クエリエコーダとBART生成器のパラメータのみが更新されます。

取得した文書に答えが含まれていない場合でも、RAGは質問に答えることができますか?

はい。生成に制約がなく、BARTのパラメトリックメモリによってサポートされているため、抽出型モデルが0%となるのに対し、RAGは上位の取得パッセージのいずれにも正解文字列が含まれていないNatural Questionsの事例の11.8%で正しく回答しています。

世界の事実が変化した際、RAGはどのように知識を更新しますか?

外部メモリがモジュール化されているため、モデルパラメータを再トレーニングすることなく、文書インデックスをより新しいテキストダンプに「ホットスワップ」(例: 2016年のWikipediaインデックスを2018年のインデックスに置き換える)できます。

このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。

XYZNOT で読む(全文翻訳と AI 解説)