Slide 1

Slide 1 text

Author: Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil, Hannaneh Hajishirzi Presenter: Keisuke Fujimoto (Labs) Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections

Slide 2

Slide 2 text

所属:ABEJA Labs テーマ:ビジョン、音声、NLP、ロボット 趣味:株の分析botはじめました SNS X(Twitter):@peisuke Github:https://github.com/peisuke note:https://note.com/peisuke (最近始めました) 自己紹介 2

Slide 3

Slide 3 text

● 論文
 ○ Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections
 ■ preprint: arXiv:2310.11511
 
 ● 従来課題
 ○ RAGにおいて、Retrieveしたデータが無関係の場合に上手く回答 できない
 
 ● 目的
 ○ Retrieveしたデータが適切かを判定し、生成文章を改善
 論文の概要 3

Slide 4

Slide 4 text

● LLMが自身の出力を自己評価し、Retrieveプロセスを改善することで言 語モデルの品質と正確性を向上させること Self-RAGのフレームワークの目的 4 クエリ 読み込み 外部情報に 基づき文章 生成 有用性を 評価 処理の流れ

Slide 5

Slide 5 text

● 既存のRAGプロセス ○ クエリに関連するテキストを検索し、それを用いて回答を生成 RAGの説明 5 自社製品Aの昨年の 出荷台数は? 自社製品A 昨年 出荷台数 LLM1: 自然言語を検索 クエリに変換 大量にある 社内ドキュメント 非LLM: 検索ロジック LLM2: 以下のコンテキストを前提として、質 問に答えて下さい。 – [ドキュメントのテキスト文] – 自社製品Aの昨年の出荷台数は? xx,xxx,xxx台 検索でヒットした 社内ドキュメント

Slide 6

Slide 6 text

ハルシネーション問題 言語モデルの現状と問題点 6 RAGにおける関連文書の検索 の困難性 クエリ query = "カビゴンってどんなポケモンですか? " 関連文書群より抜粋 '第五世代で登場した幻のポケモンである。通常であれば幻のポケ モンはポケモン図鑑の終盤に番号が振られているが、ビクティニはく さタイプの御三家であるツタージャの前 (イッシュ図鑑でいえば No.000)に図鑑番号が振られている唯一のポケモンである。固定シ ンボルに話しかけたときの鳴き声は「きゅきゅわわ~んっ !」' ABEJA Tech blog: https://tech-blog.abeja.asia/entry/retrieval-and-llm-20230703

Slide 7

Slide 7 text

● Retrieveしたテキストセグメントが、どの程度役立つかを自己評価しなが ら、文章を逐次生成してく Self-RAGの全体のプロセス 7 クエリ 外部情報を 収集 有用性を評 価 作成中 の回答 続きの文章を 生成 続きの文章 を生成 作成中の回答 に追加 Retrieveをする場合 Retrieveをしない場合

Slide 8

Slide 8 text

Self-RAGのプロセスの詳細 8

Slide 9

Slide 9 text

Self-RAGのプロセスの詳細 9 モデルの出力に、Retrieveのトー クンが付与されていたら、外部情 報の検索を行う

Slide 10

Slide 10 text

Self-RAGのプロセスの詳細 10 各検索結果を用いて、文章をそれぞれ生成する。生成した際に、検索結 果がクエリに関連していたか、有用だったかをタグ付け

Slide 11

Slide 11 text

Self-RAGのプロセスの詳細 11 最も有用だった生成文を追加、 このプロセスを繰り返す

Slide 12

Slide 12 text

● Retrieve機構 ○ クエリに対して、関連性の高い外部情報を提供 ● Self-Reflection機構 ○ 生成されたテキストが、取得した外部情報とどのように関係しているかを判 定 RetrieveとSelf-Reflectionメカニズムの役割 12 Retrieve機構 Self-Reflection機構 クエリ 文章群 関連文 クエリ 関連文 クエリ・関連文が関連している かどうかのトークン 生成文 関連文が回答生成に役立った かのトークン Reflection token

Slide 13

Slide 13 text

● 推論のステップ ○ モデルは、ここまでの質問と生成中の回答から、外部情報の要否を判断し、 必要に応じて外部情報を取得 ○ 取得した情報と生成したテキストセグメントから、関連性を推論しReflection tokenとして付与 推論アルゴリズムの説明:推論時の流れ 13

Slide 14

Slide 14 text

● Criticモデル ○ 文章ペアの関連性に基づき、Reflectionトークンを予測 ○ 生成モデルを学習するためのデータセットである拡張データセットの作成に 利用される ○ Self-RAGの推論時には利用しない ● 生成モデル ○ Reflectionトークン付きの文章を生成 ○ Self-RAGでは、生成モデルの出力した文をユーザに出力 学習するモデルの種類と役割 14

Slide 15

Slide 15 text

● 文章感の関係性から以下の4パターンのトークンを予測 ○ Retrieve: Retrieveの判断を行う ○ IsRel: Retrieveした文とクエリの関連性の判断を行う ○ IsSup: Retrieveした文が生成に役立っているかの判断を行う ○ IsUse: 生成文の有用性の判断を行う Criticモデルの役割 15

Slide 16

Slide 16 text

● 人手のアノテーションは高コストなので、GPT-4を利用してデータセットを 作成 ● Retrieveのトークンを学習するための戦略 ○ データ収集 ■ 学習データからランダムに2つの文(クエリと生成済み文章)を収集 ○ プロンプト ■ Given an instruction, make a judgment on whether finding some external documents from the web helps to generate a better response. ■ 訳:ウェブから外部の文書を探し出すことがより良い回答を生成するのに役立 つかどうかを判断します。 Criticモデルを学習するためのデータの作成 16

Slide 17

Slide 17 text

● ランダムにサンプルしたテキストを入力、その関係からGPT-4で予測した Reflection tokenを出力として学習を行う ○ 論文ではLlama 2-7Bのモデルを利用 Criticモデル: 学習プロセス 17

Slide 18

Slide 18 text

● 生成モデルの学習に用るための拡張データセットを作成 ● これまでに使った文の組み合わせに対して、(1) Criticモデルを利用して tokenを追加、(2) Retrieverを使って検索文を追加 生成モデル: 拡張データセットの作成 18

Slide 19

Slide 19 text

● 拡張データセットを利用して、トークンごと学習 ○ 拡張データセットに含まれるRetrieveしたフレーズ(以下の

で囲ま れた文面)はマスクして学習を行う 生成モデル: 学習プロセス 19

Slide 20

Slide 20 text

● 通常のRAGは強制的に検索ロジックが動いてしまうのに対し、Self-RAG は生成文にRetriveが出現した時だけRAGを行うため、RAG以外にも利 用可能 ● 事実に基づくタスクでは頻繁に外部情報を取得するように動き、創造的な タスクでは、外部情報を利用しないように動く 異なるタスク要件への適応 20 「夏休みのエッセイを書いてください」といったクエリの場合は、 RAGシステムでは強制 的に検索した文が利用されるのに対し、 Self-RAGではRetrivalがNoになるためLLM 自身の出力が利用される

Slide 21

Slide 21 text

● Short-form generations tasks ○ データセット: PopQA, TriviaQA-unfiltered ○ Metric: 回答が生成に含まれているかを評価 ● Closed-set tasks ○ データセット: PubHealth, ARC-Challenge ○ Metric: True/False、multiple-choice ● Long-form generation tasks ○ データセット: ALCE-ASQA ○ Metric: FactScore、correctness、fluency、citation precision and recall 実験: タスクとデータセット 21

Slide 22

Slide 22 text

● Baselines without retrievals ○ 商用利用/プライベートデータで学習されているモデル ■ ChatGPTなど ○ OSSとして利用されているモデル ■ AlpacaやLlama2など ● Baselines with retrievals ○ AlpacaやLlama2などとRAGを組み合わせたモデル 実験: ベースラインについて 22

Slide 23

Slide 23 text

● Trainingデータ ○ Open-Instruct processed data、knowledge-intensive datasetsな どから150k 個のinstruction-output pairsを利用 ● Model ○ 生成モデル:Llama2 7B and 13B ○ Criticモデル:Llama2 7B ● Retriever ○ Contriever-MS MARCO ● 計算リソース ○ A100 x 4 実験: セッティング詳細 23

Slide 24

Slide 24 text

● 多くのケースで良い精度を達成 実験: RAG以外との比較 24

Slide 25

Slide 25 text

● RAGとの比較においても、殆のケースで従来モデルの性能を超えている ○ 外部文章のコピで済まないデータ(PubHealthなど)では、既存モデルでは 精度が出せていないのに対し、大幅に性能向上している 実験: RAGとの比較 25

Slide 26

Slide 26 text

● 外部情報を利用した文を生成する際に、収集した外部情報との関連性を チェックすることで良い生成結果を提供 ● 収集の要否や関連性などのトークンを推論することで実現 ● RAG以外の通常の生成タスクにも直接利用可能 ● 通常のInstruction Tuningを行ったGPTモデルよりも高い性能を発揮 まとめ 26