Research / 情報検索

RETROの原論文を読む 大量の外部文書を引いて書く

RETROは生成中の文脈に近い文書片を外部データベースから探し、次の語の予測へ組み込んだ。2兆トークンの検索先とモデル規模の比較を、更新・出典・検索漏れという運用上の論点とともに読む。

論文初公開(arXiv)
参照版
v1
TRAIL公開
  • RETROは、文章を生成する途中で近い文書片を外部データベースから探し、次の語の予測に利用した。
  • 2兆トークン規模の検索先を用い、The Pile上でより大きなモデルと比較した。
  • モデルの重みを小さくできても、検索用の文書・索引・更新にかかる費用は別に見る必要がある。

何を確かめた研究か

言語モデルを強くする方法として、内部のパラメータを増やすだけでなく、外部の文章を参照できないか。RETROの原論文は、生成中の直前の文脈に似た文書片を大きなデータベースから取り出し、予測に使うRetrieval-Enhanced Transformerを提案した。モデルがすべての情報を重みへ覚え込む代わりに、外部の記憶を使う発想だ。

入力文章を小さな塊へ分け、各塊に近い文書片を検索する。検索結果は別のエンコーダで表現し、生成側のTransformerが注意機構を通じて参照する。文書をただ入力の先頭へ貼る方法とは異なる。検索に使う表現モデルと、取得した文書を読む部分を分けて設計した。

どう検証したか

著者らは2兆トークン規模の文書データベースを用意し、The Pile上の言語モデル評価でRETROと当時の大型モデルを比較した。論文の要旨では、パラメータが約25分の1でもGPT-3やJurassic-1と同程度の成績を示したと記す。これは指定されたデータと評価手順での比較であり、モデル全体の計算費用が25分の1という意味ではない。

また、事前学習済みモデルへ検索機構を後付けする実験や、質問応答など知識を要する課題への追加学習も行った。検索しない同程度のモデルとの比較も含む。どの文書が検索候補に入るかは結果の一部であり、モデルだけを切り出した能力ではない。

検索は生成するたびに、文書片の局所的な類似性を手掛かりに行う。取り出した文書片を扱うエンコーダと、生成側へ情報を渡す交差注意を組み合わせるため、全資料を毎回プロンプトへ収める必要はない。ただし、似た文書が必ず必要な事実を含むとは限らない。索引の対象を変えた時には、言語モデルの重みを同じままにしても予測結果が変わりうる。

何が分かったか

大きな外部データベースを参照すると、比較的小さいパラメータ数でも強い言語モデル評価結果を得られた。追加学習後の質問応答にも効果を示した。論文の中心的な示唆は、計算資源をすべてモデルの重みに振り向ける以外に、外部の検索可能な記憶へ配分する道があるということだ。

一方、検索した文章が回答に明示的な出典として示される仕組みを、それだけで完成させた研究ではない。類似する文書片が入っても、モデルが誤って解釈したり、別の事実を混ぜたりしうる。

限界は何か

大規模な文書集合の保存、検索索引の作成、生成中に繰り返す検索の遅延は、モデルのパラメータ数とは別の費用になる。文書が古くなれば索引の更新も必要だ。検索先に誤情報や偏りが含まれる場合、それを参照した生成も影響を受ける。論文のThe Pile上の比較から、機密文書を安全に扱えるかや、最新情報に追いつくかは判断できない。

「外部の記憶がある」ことと、モデルが必要な資料を必ず見つけて忠実に使うことは別である。根拠表示と検証の仕組みは用途ごとに考える必要がある。

仕事との接点

社内資料を参照する生成なら、モデル本体の精度に加え、索引の更新時間、検索の遅延、検索漏れを測る。回答がどの文書に依存したか記録し、重要な主張は原資料へ戻して確認する。これはTRAIL編集部の提案であり、原論文が企業内の情報管理を検証したものではない。

01

出典

Research の一覧へ戻る