$30 off During Our Annual Pro Sale. View Details »

Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections

peisuke
November 18, 2023

Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections

LLM x 検索論文読み会

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

peisuke

November 18, 2023
Tweet

More Decks by peisuke

Other Decks in Technology

Transcript

  1. 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

    View Slide

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

    View Slide

  3. ● 論文

    ○ Self-RAG: Learning to Retrieve, Generate and Critique
    through Self-Reflections

    ■ preprint: arXiv:2310.11511


    ● 従来課題

    ○ RAGにおいて、Retrieveしたデータが無関係の場合に上手く回答
    できない


    ● 目的

    ○ Retrieveしたデータが適切かを判定し、生成文章を改善

    論文の概要
    3

    View Slide

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

    View Slide

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

    [ドキュメントのテキスト文]

    自社製品Aの昨年の出荷台数は?
    xx,xxx,xxx台
    検索でヒットした
    社内ドキュメント

    View Slide

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

    View Slide

  7. ● Retrieveしたテキストセグメントが、どの程度役立つかを自己評価しなが
    ら、文章を逐次生成してく
    Self-RAGの全体のプロセス
    7
    クエリ
    外部情報を
    収集
    有用性を評

    作成中
    の回答
    続きの文章を
    生成
    続きの文章
    を生成
    作成中の回答
    に追加
    Retrieveをする場合
    Retrieveをしない場合

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. ● Retrieve機構
    ○ クエリに対して、関連性の高い外部情報を提供
    ● Self-Reflection機構
    ○ 生成されたテキストが、取得した外部情報とどのように関係しているかを判

    RetrieveとSelf-Reflectionメカニズムの役割
    12
    Retrieve機構 Self-Reflection機構
    クエリ
    文章群
    関連文
    クエリ
    関連文
    クエリ・関連文が関連している
    かどうかのトークン
    生成文
    関連文が回答生成に役立った
    かのトークン
    Reflection
    token

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. ● 人手のアノテーションは高コストなので、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

    View Slide

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

    View Slide

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

    View Slide

  19. ● 拡張データセットを利用して、トークンごと学習
    ○ 拡張データセットに含まれるRetrieveしたフレーズ(以下ので囲ま
    れた文面)はマスクして学習を行う
    生成モデル: 学習プロセス
    19

    View Slide

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

    View Slide

  21. ● 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

    View Slide

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

    View Slide

  23. ● 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide