Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Retrieval-based LM (RAG system) ざっくり理解する

Retrieval-based LM (RAG system) ざっくり理解する

自分用の整理・勉強会用として作成した解説資料です。内容の正確性については保証しかねますので必ず論文を参照してください。誤りや引用漏れ等がありましたら @catshun_ までご指摘いただけますと幸いです。

Shumpei Miyawaki

November 01, 2023
Tweet

More Decks by Shumpei Miyawaki

Other Decks in Technology

Transcript

  1. Retrieval-based LM (RAG system)
    ざっくり理解する
    Shumpei Miyawaki
    keywalker,inc. / Tohoku Univ.
    @catshun_

    View full-size slide

  2. おことわり
    • 勉強会⽤に突貫的に作成しており、内容に誤りがある可能性が⼤いにあります...
    • 内容の誤りや引⽤漏れ等がありましたらお伝えください
    • 本資料の読者は LLM 応⽤・RAG システム構築等に関⼼のある⽅を想定しています
    • RAG システム構築においては使⽤する⽂書等の秘匿性やステークスを必ず考慮しましょう
    • OpenAI – Terms and policies
    https://openai.com/policies
    • Microsoft - Data, privacy, and security for Azure OpenAI Service
    https://learn.microsoft.com/ja-jp/legal/cognitive-services/openai/data-privacy?context=%2Fazure%2Fcognitive-services%2Fopenai%2Fcontext%2Fcontext
    • RAG による著作権法等については必ず法律を遵守してください(以下参考)
    • 柿沼 (STORIA法律事務所) +’23 - LLMを利⽤したRAG(Retrieval Augmented Generation)と著作権侵害
    https://storialaw.jp/blog/9885
    • 杉浦 (STORIA法律事務所) +’23 - LLMを利⽤したRAGと個⼈データの第三者提供
    https://storialaw.jp/blog/9916

    View full-size slide

  3. モデル名称を指す場合
    Retrieval-Augmented Generation
    Retrieval-based LM を指す場合
    Lewis+’20 - Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (NeurIPS)
    https://arxiv.org/abs/2005.11401
    Sewon+’23 – Retrieval-based Language Models and Applications /
    ACL 2023 Tutorial / Section.2 Definition & Preliminaries
    https://acl2023-retrieval-lm.github.io/
    RAG といった場合は以下の2つを指す場合が多い

    View full-size slide

  4. Retrieval-Augmented Generation
    モデル名称を指す場合 Retrieval-based LM を指す場合
    Lewis+’20 - Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (NeurIPS)
    https://arxiv.org/abs/2005.11401
    Sewon+’23 – Retrieval-based Language Models and Applications /
    ACL 2023 Tutorial / Section.2 Definition & Preliminaries
    https://acl2023-retrieval-lm.github.io/
    本スライドではこちらを対象
    RAG といった場合は以下の2つを指す場合が多い

    View full-size slide

  5. なぜ RAG が必要か︖
    弊社の 社内⽂書管理規定 について教えて
    申し訳ございませんが、私の知識ベース
    には御社に関する具体的な情報は含まれ
    ておらず、社内⽂書管理規定についての
    詳細な情報を提供することはできません。
    御社の社内⽂書管理規定についての情報
    を⼊⼿するには…
    直接 API を叩いても正しい回答が得られない RAG によりニッチな情報の応答を実現
    弊社の 社内⽂書管理規定 について教えて
    以下は 〇〇 社の⽂書管理規定に関する情報です:
    1. ⽂書の取り扱い⽅法:〇〇 社では、⽂書は電⼦フォーマットま
    たは紙フォーマットのいずれかで管理されます。⽂書は適切な
    カテゴリに割り当てられ、適切なフォルダーやデータベースに
    保存されます。
    2. ⽂書の保存期間:⽂書の保存期間は⽂書の重要性や法的要件に
    基づいて決定されます。重要な⽂書は⼀定期間保存され、その
    後、適切な⽅法で廃棄されます
    第1章 総則(⽬的)
    第1条 この規程は、公⽂書等の管理に関する
    法律 第 13 条第1項の規定に基づき、年⾦積⽴
    ⾦管理運⽤独⽴⾏政法⼈ ...
    ⽂書管理規定.pdf
    検索
    引⽤
    社内ドキュメント等に対する QA を想定する場合
    ※ 秘匿性等は⼗分考慮する必要がある

    View full-size slide

  6. Knowledge-Intensive Task での利⽤
    オープンドメイン質問応答タスク (第 2,3 回 AI 王) でのベースライン
    https://github.com/cl-tohoku/AIO2_DPR_baseline/tree/master
    外部知識源として Wikipedia から
    質問に関連する情報を検索して
    応答を⽣成する

    View full-size slide

  7. Retrieval の対象となる情報源は何か︖ (1/2)
    Zhang+’23 - Retrieve Anything To Augment Large Language Models
    https://arxiv.org/abs/2310.07554
    Xie+’23 - OlaGPT: Empowering LLMs with
    Human-like Problem-Solving Abilities
    https://arxiv.org/abs/2305.16334
    失敗ログ ツール仕様
    思考テンプレ 常識・知識
    知識 ツール ICL デモ 対話・履歴

    View full-size slide

  8. Example Retriever Memory Retriever
    Ram+’23 - In-Context Retrieval-Augmented
    Language Models (TACL)
    (
    https://arxiv.org/abs/2302.00083
    Park+’23 - Generative Agents: Interactive
    Simulacra of Human Behavior
    https://arxiv.org/abs/2304.03442
    in-context に使⽤するタスク例のドメインは
    意味的に類似(・多様)なものが望ましい
    Retrieval の対象となる情報源は何か︖ (2/2)

    View full-size slide

  9. 外部知識源の利⽤ はどのような場⾯で有効か︖
    Asai (Washington Univ.)+’23 – Retrieval-based Language Models and Applications / ACL 2023 Tutorial
    https://acl2023-retrieval-lm.github.io/slides/5-application.pdf

    View full-size slide

  10. long-tail な知識に対する LLM 推論の限界
    Kandpal+’23 – Large Language Models Struggle to Learn
    Long-Tail Knowledge (ICML)
    https://openreview.net/forum?id=sfdKdeczaw
    質問に対して事前学習データに含まれる関連⽂書数
    ある質問において
    その質問に関連する⽂書が
    学習データに含まれない場合
    不正解となる可能性が⾼い
    TriviaQA における正解率
    ⼀般的でない事実型知識に関して
    外部知識の活⽤が有効
    Mallen+’23 – When Not to Trust Language Models: Investigating
    Effectiveness of Parametric and Non-Parametric Memories (ACL)
    https://aclanthology.org/2023.acl-long.546
    オープンドメイン質問応答における
    GPT-3 の正解率
    Wikipedia の⽉間ページビューから算出される entity popularity
    GPT-3
    GPT-3 w/ BM25

    View full-size slide

  11. Azure Search OpenAI Demo
    https://github.com/Azure-Samples/azure-search-openai-demo
    クラウド検索サービス
    Azure Cognitive Search
    情報源
    File, SQL, Database
    ③ 関連知識
    ② クエリ
    ④ プロンプト + クエリ + 関連知識
    ⑤ 応答⽂
    応答⽣成器
    Azure OpenAI Service
    ⓪ indexing
    ① クエリ
    ⑥ 応答表⽰
    4つのアーキテクチャを提供
    • RetrieveThenRead ⼊⼒に対して ①関連⽂書検索 ②回答 の2段階で応答⽂を⽣成する
    • ChatReadRetrieveRead 対話履歴を考慮、対話履歴から LLM がクエリを⽣成する
    • ReadRetrieveRead ReAct のようなツール利⽤可能なエージェントを⽤いて応答⽂を⽣成する
    • ReadDecomposeAsk 質問を分解するプロンプトを利⽤して応答⽂を⽣成する
    参考︓⼭本+’23 - Retrieval Augmented Generationを改良する2つの⽅法 / DeveloppersIO
    https://dev.classmethod.jp/articles/revise-retrieval-augmented-generation/

    View full-size slide

  12. GPTs
    経済産業省資料を引⽤
    • ALPS処理⽔資料集
    https://www.meti.go.jp/earthquake/nucle
    ar/hairo_osensui/pdf/alps_02.pdf
    • ALPS処理⽔に関する質問と回答
    https://www.meti.go.jp/earthquake/nucle
    ar/hairo_osensui/alpsqa.html
    使⽤する⽂書等の秘匿性やステークスを考慮し著作権法等は必ず法律を遵守してください
    • OpenAI – Terms and policies
    https://openai.com/policies
    • Microsoft - Data, privacy, and security for Azure OpenAI Service
    https://learn.microsoft.com/ja-jp/legal/cognitive-services/openai/data-privacy?context=%2Fazure%2Fcognitive-services%2Fopenai%2Fcontext%2Fcontext
    • 柿沼 (STORIA法律事務所) +’23 - LLMを利⽤したRAG(Retrieval Augmented Generation)と著作権侵害
    https://storialaw.jp/blog/9885
    • 杉浦 (STORIA法律事務所) +’23 - LLMを利⽤したRAGと個⼈データの第三者提供
    https://storialaw.jp/blog/9916

    View full-size slide

  13. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  14. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  15. クエリ拡張 のモチベーション (1/2)
    第 13 条 重要 ⽂書 の 取り扱い
    株式 会社 〇〇 では
    以下 に 該当 する ⽂書 を 重要 ⽂書 と する
    1. 資⾦ や 物 の 流れ に 直結 連動 する 書類
    2. 部外者 に 漏えい した 場合 に 組織 企業 不 利益 や 被害 を 受
    ける ような 、事業 活動 に おいて 重要 度 の ⾼い ⽂書
    これら の ⽂書 の 廃棄 ⽅法 を 以下 に …
    関連⽂書 (正解を含む検索対象)
    🙅 単純検索ではマッチしない
    ・情報量(単語数)の差
    ・意味表現の差
    重要 ⽂書 廃棄
    ユーザの質問
    ユーザの⽣質問に対するベクトル と ⽂書ベクトル の類似度を計算してもうまくいかない
    • 単語数の差が⼤きく保有する情報量が異なる
    • 重複する単語数が少ない [Ram+’22]
    • 単語羅列に対して、⽂から⽣成されるベクトル表現には⽂脈が考慮される

    View full-size slide

  16. クエリ拡張 のモチベーション (2/2)
    第 13 条 重要 ⽂書 の 取り扱い
    株式 会社 〇〇 では
    以下 に 該当 する ⽂書 を 重要 ⽂書 と する
    1. 資⾦ や 物 の 流れ に 直結 連動 する 書類
    2. 部外者 に 漏えい した 場合 に 組織 企業 不 利益 や 被害 を 受
    ける ような 、事業 活動 に おいて 重要 度 の ⾼い ⽂書
    これら の ⽂書 の 廃棄 ⽅法 を 以下 に …
    関連⽂書 (正解を含む検索対象)
    🙅 単純検索ではマッチしない
    ・情報量(単語数)の差
    ・意味表現の差
    重要 ⽂書 廃棄
    ユーザの質問
    拡張されたクエリ
    重要⽂書に該当する⽂書の例を教
    えてください。また重要⽂書の取
    り扱い上の注意、および廃棄⽅法
    についてまとめてください。 🙆 上記の問題を解消
    🙅 ユーザが意図しない拡張
    正解となる関連⽂書に近いクエリに拡張すれば類似度が⾼くなる
    → ユーザによる指⽰ (質問) は曖昧であると仮定し、指⽰を再定義する
    関連研究
    • 関連⽂章を直接⽣成する [Yu+’23]
    • 仮となる解答を直接⽣成する [Gao+’23]
    ユーザの⽣質問に対するベクトル と ⽂書ベクトル の類似度を計算してもうまくいかない
    • 単語数の差が⼤きく保有する情報量が異なる
    • 重複する単語数が少ない [Ram+’22]
    • 単語羅列に対して、⽂から⽣成されるベクトル表現には⽂脈が考慮される

    View full-size slide

  17. クエリ拡張 は検索精度を向上させる可能性がある
    Mao+’21 - Generation-Augmented Retrieval for Open-Domain Question Answering (ACL)
    https://aclanthology.org/2021.acl-long.316
    Gao+’23 - Precise Zero-Shot Dense Retrieval without Relevance Labels (ACL)
    https://aclanthology.org/2023.acl-long.99/
    ⼊⼒⽂から seq2seq で以下を⽣成、⼊⼒⽂との
    連結⽂を検索クエリとして BM25 等を適⽤
    • 解答⽂字列
    • 解答⽂字列を含む⽂
    • 解答⽂字列を含む Wikipedia タイトル
    GPT による⽣成⽂書 実⽂書
    クエリ
    指⽰
    WEB 検索タスク (DL19) において、
    教師あり学習モデルと同等以上の性能を⽰した
    write a passage
    to answer the question
    write a scientific paper passage
    to answer the question
    write a passage in Korean
    to answer the question in detail
    仮⽂書⽣成器
    ⽂書検索器
    教師なし
    教師あり

    View full-size slide

  18. クエリ拡張時に タイポ修正 を⾏うことで検索精度向上を図る
    Zhuang+'21 - Dealing with Typos for BERT-based Passage Retrieval and Ranking (EMNLP)
    https://aclanthology.org/2021.emnlp-main.225/
    オリジナル search typo
    無作為に⽂字を 挿⼊ search tyapo
    無作為に⽂字を 削除 search tpo
    無作為に⽂字を 置換 search type
    無作為に⽂字を ⼊れ換え search tyop
    キーボード配列に基づいて
    無作為に⽂字を ⼊れ換え
    search typi
    タイポによる精度低下

    View full-size slide

  19. クエリの 書き換え⽅ によって検索精度が異なる
    表2. クエリタイプ別の nDCG@3 (データセットの明記はなし? 恐らく顧客データから構築されたもの)
    Berntson+’23 - Azure Cognitive Search: Outperforming vector search with hybrid retrieval and ranking capabilities
    https://techcommunity.microsoft.com/t5/azure-ai-services-blog/azure-cognitive-search-outperforming-vector-search-with-hybrid/ba-p/3929167
    クエリタイプ 解説 クエリ例 Keyword Vector Hybrid
    Hybrid +
    Semantic Ranker
    Concept seeking queries
    回答に複数の⽂章を必要とする抽
    象的な質問
    Why should I use semantic search to rank
    results?
    39.0 45.8 46.3 59.6
    Exact snippet search
    元の段落の正確な部分⽂字列であ
    る⻑いクエリ
    enables you to maximize the quality and
    value of your LLM investments most efficiently
    by feeding only relevant information
    37.8 49.0 49.1 63.4
    Web search-like queries
    検索エンジンによく⼊⼒されるよ
    うな短縮クエリ
    Best retrieval concept queries 51.1 41.5 51.0 60.8
    Low query/doc term overlap
    解答が質問とは異なる単語やフ
    レーズを使っているクエリ
    greatest technology for sorting” searching for
    a document that says: “Azure Cognitive
    Search has the best models for ranking your
    content
    41.8 46.3 50.0 58.9
    Fact seeking queries 単⼀の明確な答えを持つクエリ
    How many documents are semantically
    ranked
    79.2 11.7 61.0 66.9
    Keyword queries
    重要な識別語のみで構成された短
    いクエリ
    semantic ranker 23.0 36.1 35.9 49.1
    Queries with misspellings
    誤字、転記、⼀般的なスペルミス
    を含むクエリ
    Ho w mny documents are samantically
    r4nked
    28.8 39.1 40.6 54.6
    Long queries 20トークンを超えるクエリ
    This is a very long query that uses a lot of
    tokens in its composition and structure
    because it is verbose
    42.7 41.6 48.1 59.4
    Medium queries 5~20 トークンの⻑さ This is a medium length query 38.1 44.7 46.7 59.9
    Short queries 5 トークンより短いクエリ Short query 53.1 38.8 53.0 63.9
    ※ 60pt 以上を緑 50pt 以下を⾚でハイライト

    View full-size slide

  20. RAG Fusion
    https://github.com/langchain-ai/langchain/blob/master/cookbook/rag_fusion.ipynb
    複数のクエリを⽣成し Reciprocal Rank Fusion (RRF) によって検索結果を再ランク付けする
    𝑅𝑅𝐹!"#$% 𝑑 ∈ 𝐷 = '
    $ ∈ '
    1
    𝑘 + 𝑟 𝑑
    ユーザ⼊⼒
    検索クエリ 1 検索クエリ 2 検索クエリ 3 検索クエリ 4 ユーザ⼊⼒
    複数のクエリを⽣成
    検索
    RRF
    リランキング
    関連⽂書
    複数の異なる基準で採点されたランキングを統合する⽅法
    https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf

    View full-size slide

  21. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  22. 複雑なクエリを 構成要素に分解する
    マルチホップ質問をより単純な要素に分解し、
    サブ質問を作成し回答するプロンプトを作成する
    Press+’23 - Measuring and Narrowing the Compositionality Gap
    in Language Models (ICLR)
    https://openreview.net/forum?id=PUwbwZJz9dO
    Comp. Gap
    を緩和

    View full-size slide

  23. 複雑なクエリを 抽象化する
    クエリに対して抽象化を⾏った後に回答を⾏う
    1948年、ウィスコンシン⼤学マディソン校卒業、植物学、学⼠号
    1950年、カリフォルニア⼤学バークレー校、植物学、修⼠号
    1955年、イェール⼤学、植物学、博⼠号
    エステラ・レオポルド
    の学歴は?
    エステラ・レオポルドが
    1954年8⽉から11⽉に
    かけて通った学校は?
    1951年から1955年までイェール⼤学の植物学博⼠課程に在籍。
    したがって、エステラ・レオポルドは1954年8⽉から1954年11⽉
    の間にイェール⼤学に通っていた可能性が⾼い。
    Zheng+’23 - Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models
    https://arxiv.org/abs/2310.06117

    View full-size slide

  24. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  25. LLM を⽤いて 検索対象を絞り込む
    Mei+’23 - Foveate, Attribute, and Rationalize:
    Towards Physically Safe and Trustworthy AI (ACL)
    https://aclanthology.org/2023.findings-acl.701
    ⽋落している知識に着⽬して信頼できる情報源に帰属する情報を⽣成する
    使⽤する知識選定を誘導する
    UI を導⼊することも効果的
    根拠を⽰すために必要な
    外部の知識を⾒極める
    foveation に関する外部知
    識を信頼できる情報源に
    問い合わせる
    LLM が説明を
    ⽣成するための追加の
    ⽂脈情報を提供する
    Q:「残ったレモネードを保存する必要がある場合、銅の容器に保存するべき
    か」という問いに答えるには、まず何についての⽂脈が必要でしょうか︖
    A: レモネードと銅の容器の相互作⽤
    Q:「ピーナッツを⾷べたい場合、⾷べる前にアレルギーがないことを確認す
    るべきか」という問いに答えるには、まず何についての⽂脈が必要か︖
    A: ピーナッツアレルギー
    拡張後クエリ
    startsWith('社内⽂書')
    True
    検索 from
    社内⽂書インデックス
    拡張後クエリに条件分岐⽤の
    表現を持たせるのも良い

    View full-size slide

  26. 分類器 (router) を⽤いて 検索対象を絞り込む
    https://gpt-index.readthedocs.io/en/stable/module_guides/querying/router/root.html
    検索器 or 分類器

    View full-size slide

  27. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  28. 思考 を伴う検索対象選定
    ReAct [Yao+ʼ22]
    京都への⽇帰り旅⾏計画のレポート作成
    まずは観光地を検索する
    search: 観光地検索
    清⽔寺、⾦閣寺、嵐⼭
    観光地を取得したので
    次は清⽔寺周辺の …

    write: レポート作成

    思考・⾏動・結果を 1 セットとして推論を進める
    思考
    ⾏動
    結果

    View full-size slide

  29. Search-in-the-Chain
    Xu+’23 - Search-in-the-Chain: Towards Accurate, Credible and Traceable Large Language Models for Knowledge-intensive Tasks
    https://arxiv.org/abs/2304.14732
    LLM が複雑な質問を
    分解して解くための
    推論チェーン (CoQ)
    を構築
    IR が各ノード
    の答えを検証
    CoQ が誤って
    いる場合再⽣成
    ノードに不⾜した
    知識があるか判断
    不⾜した情報を提供
    し CoQ を再⽣成

    View full-size slide

  30. 関連知識取得

    View full-size slide

  31. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  32. … 単語意味 に基づく検索 (HNSW w/ cosine sim)
    索引
    検索 表層検索
    意味検索
    (あいまい検索)
    … 単語辞書によるキーワード検索
    e.g. 転置インデックス
    … 出現頻度 に基づく検索 (TF-IDF, BM25)
    https://learn.microsoft.com/ja-jp/azure/search/search-lucene-query-
    architecture#stage-4-scoring
    https://learn.microsoft.com/en-us/azure/search/vector-search-overview
    Lin+’21 - A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniques
    https://arxiv.org/abs/2106.14807
    BM25 を教師とする密検索⼿法も
    SPAR [Chen+’22, EMNLP], LE-BS [Liu+’21, EMNLP]
    検索 に使⽤される要素
    詳細な分類

    View full-size slide

  33. メタデータ によるフィルタリング
    https://python.langchain.com/docs/modules/data_connection/retrievers/self_query
    What's a highly
    rated (above 8.5)
    science fiction
    film?
    Query: 'science fiction'
    Filter: gt('rate', 8.5')
    Query: 'science fiction'
    Filter: e['rate’] >= 8.5

    View full-size slide

  34. 検索 を伴う機能の⽴ち位置について
    ※ 著者によって作成されており、誤りを含む可能性があります
    索引 表層検索 意味検索
    メタデータ
    フィルタ
    集計
    ハイブリッド検索 △ ✔ ✔ △ ×
    SelfQueryRetriever × ✔ ✔ ✔ ×
    SQLDatabaseChain × ✔ × ✔ ✔

    View full-size slide

  35. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  36. 外部知識源 × モデル内部知識 による回答精度の向上
    Yu+’23 - Generate rather than Retrieve: Large Language Models are
    Strong Context Generators (ICLR)
    https://openreview.net/forum?id=fB0hRu9GZUS
    Gui+’22 - KAT: A Knowledge Augmented Transformer for
    Vision-and-Language (NAACL)
    https://aclanthology.org/2022.naacl-main.70/
    モデル 外部知識源 モデル内部知識 正解率
    KAT-base
    18.56
    ✔ 40.93
    ✔ 47.60
    ✔ ✔ 50.58
    表3. OK-VQA におけるアブレーション結果
    図3. 検索した関連⽂書に加えて LLM の⽣成⽂書を利⽤すると⼤幅に正解率が向上

    View full-size slide

  37. 外部知識源 × モデル内部知識 の有効な組み合わせ⽅
    Zhang+’23 - Merging Generated and Retrieved Knowledge for Open-Domain QA (EMNLP)
    https://arxiv.org/abs/2310.14393
    図1.(FiD に⼊⼒するためのコンテキストとして)
    検索された外部知識と LLM が⽣成した内部知識が
    衝突する際 ハルシネーションが発⽣する 可能性あり

    View full-size slide

  38. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  39. 関連しない⽂書 は応答品質に悪影響を及ぼす
    Yoran+’24 - Making Retrieval-Augmented Language Models Robust to Irrelevant Context (ICLR)
    https://openreview.net/forum?id=ZS4m74kZpH
    図2. few-shot 設定における Llama-2 13B の QA タスク別正解率
    関連⽂書を参照しない応答⽣成 に⽐べて
    検索上位1件の関連⽂書を参照した応答⽣成 は
    Single-hop, Explicit Multi-hop において⼤幅に精度向上 検索時に関連しない⽂書を取得 してしまう と
    ⼤幅に応答品質が低下する可能性がある

    View full-size slide

  40. 検索結果を要約 して応答品質向上を図る
    Xu+’23 - RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation
    https://arxiv.org/abs/2310.04408
    関連⽂書の要約⽂を⽣成
    • 計算コストの削減
    • 情報特定難易度の軽減
    • 無関係な⽂書の除去

    View full-size slide

  41. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  42. 反復的な検索 によってマルチホップ推論に取り組む
    Xiong+’21 - Answering Complex Open-Domain Questions with Multi-Hop Dense Retrieval (ICLR)
    https://openreview.net/forum?id=EMHoBG0avc1

    View full-size slide

  43. 検索と⽣成を繰り返すことで 反復的な改良を実現する
    Shao+’23 - Enhancing Retrieval-Augmented Large Language Models with Iterative Retrieval-Generation Synergy
    https://arxiv.org/abs/2305.15294
    検索と⽣成を反復する Iter-RetGen を提案.各反復において Iter-RetGen は前回のモデル出⼒をコ
    ンテキストとして活⽤、より関連性の⾼い知識を検索し、モデル⽣成を改善する
    2015 年 AFL ライジングスター賞を受賞した選⼿の⾝⻑は?
    Title: 2015 AFL Rising Star Context:
    NAB AFL Rising Start 賞は毎年オーストラリアン
    フットボールリーグで傑出した若⼿選⼿に贈られる。
    メルボルンの Jesse Hogan が受賞した。
    2015年 AFL Rising Star 賞は、メルボルンの Jesse Hogan
    が受賞した。Jesse Hogan は Australian rules footballer の
    プロ選⼿。⾝⻑は 198 cm。よって答えは 198 cm
    2015 年 AFL ライジングスター賞を受賞した選⼿の⾝⻑は?
    Title: Jesse Hogan Context:
    Jesse Hogan ... メルボルン・フットボール・クラブでプレー。
    フォワードの要で⾝⻑ 1.95 m ... 2015年 に AFL デビューを果た
    し AFL Rising Star として Ron Evans メダルを受賞。
    2015 年の AFL Rising Star 賞は、メルボルンの Jesse Hogan が受
    賞した。Jesse Hogan の⾝⻑は 1.95 m。よって答えは 1.95 m。

    View full-size slide

  44. 再帰検索 を伴うルーティング
    https://gpt-index.readthedocs.io/en/latest/examples/query_engine/pdf_tables/recursive_retriever.html
    この表は …
    この画像は …
    インデックスノード集合 b
    a
    2
    1
    i
    4
    3
    j
    クエリ
    エンジン
    id
    要約⽂
    キャプション id
    クエリエンジンの
    参照データ
    id
    クエリ
    エンジン クエリエンジンの
    参照データ
    id
    id とクエリエンジンの連想配列
    弊社の昨年度の売上はいくら︖
    ①親階層の検索
    ②紐づけられたクエリエンジンによる回答
    適切にクエリエンジンを設定すれば PDF 等の半構造化データに対して応答⽣成可能

    View full-size slide

  45. Jiang+’23 - Active Retrieval Augmented Generation (EMNLP)
    https://arxiv.org/abs/2305.06983
    ⻑⽂記事の⽣成タスク等では
    1回の検索で⼗分な知識情報を取得するのは困難
    検索タイミングを動的に決定し、
    検索しつつ断続的に⽣成を⾏う2つの⽅法を提案︓
    1. [Search(query)] というトークンを⽣成した場合
    2. 予測した次単語の logit が閾値を下回る場合
    ⽣成過程において オンデマンドに検索を⾏う

    View full-size slide

  46. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  47. ハイブリッド検索+リランキング による精度改善
    https://techcommunity.microsoft.com/t5/azure-ai-services-blog/azure-
    cognitive-search-outperforming-vector-search-with-hybrid/ba-p/3929167
    ※ 512トークン, 25%重複
    検索結果の上位1~5位で⾼品質なチャンクが⾒つかったクエリの割合
    顧客データ
    [nDCG@3]
    BEIR
    [nDCG@10]
    MIRACL
    [nDCG@10]
    Hybrid + Semantic ranker 60.1 50.0 72.0
    Hybrid (RRF: Keyword + Vector) 48.4 48.4 58.8
    Vector (ada-002) 43.8 45.0 58.3
    Keyword
    (転置インデックス, BM25)
    40.6 40.6 49.6

    View full-size slide

  48. タスク難易度 による Few Shot 選択に基づくリランキング
    Drozdov+’23 - PaRaDe: Passage Ranking using Demonstrations with Large Language Models
    https://arxiv.org/abs/2310.14408
    図1. TREC 2020 において同⼀クエリに対し
    て 100 種類の異なる one-shot 推論結果の
    nDCG@10 集計結果。BM25 で 100 件検索
    し Flan-T5-XXL でリランキングを⾏う。
    11.1% のクエリにおいて zero-shot の推論結果が
    one-shot における集計値の最⼤値を上回った
    → デモ選択における正解数の分散が⼤きい
    図3. TREC 2020 の nDCG@10 の難易度別評価
    難易度は demonstration query likelihood で算出
    低 → タスク難易度 → ⾼

    View full-size slide

  49. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  50. 質問応答タスクにおける 抽出型 reader
    加藤+’22 -第⼆回AI王最終報告会 - DPR ベースラインによる オープンドメイン質問応答の取り組み (2022)
    https://speakerdeck.com/smiyawaki0820/jia-teng-tuo-zhen-gong-xie-jun-ping-di-er-hui-aiwang-zui-zhong-bao-gao-hui-
    dpr-besurainniyoru-opundomeinzhi-wen-ying-da-falsequ-rizu-mi-2022?slide=7
    答えとなるスパンを予測する

    View full-size slide

  51. Izcard+’20 - Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering
    https://arxiv.org/abs/2007.01282
    Fusion-in-Decoder
    詳細は 第3回 AI王~クイズAI⽇本⼀決定戦~
    コンペティション最終報告会 を参照されたい
    https://sites.google.com/view/project-aio/competition3/final-presentation?authuser=0
    質問応答タスクにおける ⽣成型 reader

    View full-size slide

  52. 表5.抽出型・⽣成型 reader における頻出タイプ別⽐較.
    OOD or Rare において抽出型 QA が⽣成型より⾼精度
    抽出型 v.s. ⽣成型 reader
    図2. 12 MRQA ベンチマークにおける
    抽出型 (Ext) および⽣成型 (Gen) の⽐較
    Luo+'22 - Choose Your QA Model Wisely: A Systematic Study of Generative and Extractive Readers for Question Answering (SpaNLP)
    https://aclanthology.org/2022.spanlp-1.2/
    77.79
    85.22
    78.54
    84.95
    82.71
    69.90
    80.02
    66.91
    図4.抽出型・⽣成型 reader における⽂脈トークン⻑別⽐較.
    トークン⻑が短い場合は抽出型 QA が⽣成型より⾼精度
    In-Domain Out-of-Domain

    View full-size slide

  53. Retrieval-based LM の推論フレーム
    クエリ拡張 検索
    知識⽂⽣成
    再帰・反復検索
    解答抽出
    応答⽣成
    ⽂書フィルタ
    分解・抽象化
    根拠提⽰
    クエリ 応答⽂
    計画 関連知識取得 回答
    内省
    検索対象選定
    思考・⾏動
    リランキング

    View full-size slide

  54. インデクシング

    View full-size slide

  55. インデックスの構築
    20,000
    tokens

    1,000
    tokens
    1,000
    tokens
    A0
    A19
    A0
    A19
    ⽂書ベクトル DB
    ファイル
    チャンク
    embeddings
    最⼤トークン数
    text-embedding-ada-002 … 8192 tokens
    gpt-3.5-turbo-16k … 16,387 tokens
    分割が必要
    以降のスライドで紹介
    https://github.com/hppRC/simple-simcse-ja
    Han+’23 - A Comprehensive Survey
    on Vector Database: Storage and
    Retrieval Technique, Challenge
    https://arxiv.org/abs/2310.11703
    以下を参照されたい

    View full-size slide

  56. 検索対象における 不要⽂書のフィルタリング
    EfficientQA (NeurIPS 2020) では
    • Wikipedia タイトルとカテゴリを特徴とする線形分類器の⽂書フィルタリング
    • ページビューが少ない Wikipedia ページの除外
    Izcard+’20 - A Memory Efficient Baseline for
    Open Domain Question Answering
    https://arxiv.org/abs/2012.15156
    Wikipedia ⽂書数 [M]
    完全⼀致による正解率 [%]
    256 128
    ベクトル次元数
    ⼭⽥育⽮⽒ (Studio Ousia, RIKEN AIP) +’21 –
    NeurIPS EfficientQA コンペティションの上位システムから学ぶ
    オープンドメイン質問応答技術の最新動向 /
    NLP2021 ワークショップ第1回「AI王~クイズAI⽇本⼀決定戦」招待公演
    https://speakerdeck.com/ikuyamada/opundomeinzhi-wen-ying-da-ji-
    shu-falsezui-xin-dong-xiang
    ⽂書数を 20% 除去しても性能低下は ~2% 程度

    View full-size slide

  57. チャンクの分割戦略
    (512 tokens)
    Recall@50 分割イメージ
    トークン境界で分割 40.9
    ⽂境界を保持 42.4
    10% 重複を含む 43.1
    25% 重複を含む 43.9
    チャンク分割 における分割戦略
    https://techcommunity.microsoft.com/t5/azure-ai-services-blog/azure-
    cognitive-search-outperforming-vector-search-with-hybrid/ba-p/3929167
    表5. text-embeddings-ada-002 を⽤いたチャンクの分割戦略⽐較。
    指標はベクトル検索のみで計算(意味ランキングなし)。
    ※ 対象⾔語は英語のため⽇本語の結果は異なる

    1

    2
    チャンク1
    チャンク2

    1
    チャンク1
    チャンク2

    2
    チャンク3
    ⽂1
    ⽂2
    チャンク1
    チャンク2

    1
    チャンク1
    チャンク2

    2
    チャンク あたりの
    トークン数
    Recall@50
    512 42.4
    1024 37.5
    4096 36.4
    8191 34.9
    表4. text-embeddings-ada-002 によるチャンクサイズ別
    ⽐較.⽂の境界は保持しベクトル検索のみで算出.
    ※ 対象⾔語は英語のため⽇本語の結果は異なる

    View full-size slide

  58. ⽂書構造 を考慮した分割
    https://x.com/RLanceMartin/status/1674817117475188737?s=20
    จॻͷύϥάϥϑɺ
    จॻը૾ͷը૾ɾදɾςΩετɺ
    HTML ͷ DOM ߏ଄ɺ
    ͳͲ

    View full-size slide

  59. 類似の他律性問題* に対する ⼩さなチャンクを⽤いた検索
    https://python.langchain.com/docs/modules/data_conn
    ection/retrievers/parent_document_retriever
    1. インデックス作成時にチャンクを⼆段階に分割.
    親チャンクから⼦チャンクを作成.
    2. ⼦チャンクをベクトル DB に登録.
    3. ⼦チャンク単位で検索し、
    紐づけられた親チャンクを応答⽣成に利⽤.
    Parent Document Retriever
    LangChain
    Auto Merging Retriever
    LlamaIndex
    https://gpt-index.readthedocs.io/en/latest/
    examples/retrievers/auto_merging_retriever.html
    Sentence-aware Contrastive Learning for Open-Domain Passage Retrieval
    https://aclanthology.org/2022.acl-long.76/
    *チャンクに含まれる複数の意味表現が1つのベクトルに集約することで
    検索時にノイズが含まれてしまう問題

    View full-size slide

  60. チャンク分割の切削問題に対する 要約
    https://gpt-index.readthedocs.io/en/latest/examples/index_structs/doc_summary/DocSummary.html
    各⽂書から要約を抽出して、その要約と⽂書に対応する全てのノードを保持
    Building Performant RAG Applications for Production (LlamaIndex)
    https://gpt-index.readthedocs.io/en/stable/optimizing/production_rag.html
    • チャンク毎の情報が⼀つ⼀つが完結していること
    • 複数ドキュメントの内容を拾えるようなチャンク⻑であること
    ⻄⾒+’23 - https://note.com/mahlab/n/n0a8fa0e1d586

    View full-size slide

  61. 半構造化データに対する ⾔語媒介な検索
    • 画像・テキスト・表など様々なコンテンツが含まれる⽂書におけるベクトル検索
    • Semi-structured RAG [ipynb]
    • Semi-structured and Multi-modal RAG [ipynb]
    https://blog.langchain.dev/semi-structured-multi-modal-rag/
    要約⽂

    View full-size slide

  62. 視覚情報に対する⾔語化
    Berrios+'23 - Towards Language Models That Can See:
    Computer Vision Through the LENS of Natural Language
    https://arxiv.org/abs/2306.16410
    Gao+ʼ22 - Transform-Retrieve-Generate: Natural Language-Centric Outside-
    Knowledge Visual Question Answering (CVPR)
    https://openaccess.thecvf.com/content/CVPR2022/html/Gao_Transform-Retrieve-Generate_Natural_Language-
    Centric_Outside-Knowledge_Visual_Question_Answering_CVPR_2022_paper.html
    Himakunthala+’23 - Let's Think Frame by Frame: Evaluating Video
    Chain of Thought with Video Infilling and Prediction
    https://arxiv.org/abs/2305.13903
    視覚情報の⾔語化︓
    • キャプション
    • 密キャプション
    • 物体タグ
    • OCR
    • など

    View full-size slide

  63. 参考
    • Berntson+’23 - Azure Cognitive Search: Outperforming vector search with hybrid retrieval and ranking capabilities
    https://techcommunity.microsoft.com/t5/azure-ai-services-blog/azure-cognitive-search-outperforming-vector-search-with-hybrid/ba-p/3929167
    • 秋本⽒ (BrainPad) +’23 - プロンプトエンジニアリング⼿法 外部データ接続・RAG編 / Platinum Data Blog
    https://blog.brainpad.co.jp/entry/2023/06/13/191635
    • Asai, Min, Zhong and Chen+’23 – ACL 2023 Tutorial: Retrieval-based Language Models and Applications
    https://acl2023-retrieval-lm.github.io/
    • 篠⽥ (ACES) +’23 -⼤規模⾔語モデルの知識を補完するための Retriever の紹介 / ACES Developpers‘ blog
    https://tech.acesinc.co.jp/entry/2023/03/31/121001
    • 服部 (ABEJA) +’23 – 外部データを Retrieve して LLM 活⽤する上での課題と対策案 / ABEJA Tech Blog
    https://tech-blog.abeja.asia/entry/retrieval-and-llm-20230703
    • Kumar+’23 - Generative Retrieval for End-to-End Search Systems
    https://blog.reachsumit.com/posts/2023/09/generative-retrieval/
    • Kumar+’23 – Zero and Few Shot Text Retrieval and Ranking Using Large Language Models
    https://blog.reachsumit.com/posts/2023/03/llm-for-text-ranking/
    • 浅井+’22 – より多くの⾔語での情報検索・質問応答実現のために / 招待講演︓AI王 ~ クイズAI⽇本⼀決定戦 第三回最終報告会
    https://drive.google.com/file/d/1mAroXPpKmrjOndlZ8HrrmriYO-VPmmMQ/view
    • Morris+’22 – A Brief Survey of Text Retrieval in 2022
    https://jxmo.io/posts/retrieval
    • ⼭⽥+’21 – オープンドメイン質問応答技術の最新動向 / 招待講演︓NLP2021 WS AI王 ~ クイズAI⽇本⼀決定戦 第⼀回最終報告会
    https://speakerdeck.com/ikuyamada/opundomeinzhi-wen-ying-da-ji-shu-falsezui-xin-dong-xiang

    View full-size slide

  64. 参考
    • Yasunaga+’23 - RA-CM3: Retrieval-Augmented Multimodal Modeling (Blog)
    https://cs.stanford.edu/~myasu/blog/racm3/
    • Rao+’23 - Vector databases (Part 4): Analyzing the trade-offs (Blog)
    https://thedataquarry.com/posts/vector-db-4/
    • Pinecone Blog+’23 - Hierarchical Navigable Small Worlds (HNSW)
    https://www.pinecone.io/learn/series/faiss/hnsw/
    • 杉⼭ (AI Shift)+’23 - 埋め込みベクトルを⽤いたSVMによる類似⽂検索の検証 / AI Shift TECH BLOG
    https://www.ai-shift.co.jp/techblog/3553
    • Ambrogi+’23 - 10 Ways to Improve the Performance of Retrieval Augmented Generation Systems
    https://towardsdatascience.com/10-ways-to-improve-the-performance-of-retrieval-augmented-generation-systems-5fa2cee7cd5c
    • Li+’22 - A Survey on Retrieval-Augmented Text Generation
    https://arxiv.org/abs/2202.01110
    • Kamata+’21 - ⾃然⾔語処理と情報検索について (NLP AND IR)
    https://speakerdeck.com/kamata_shingo/zi-ran-yan-yu-chu-li-toqing-bao-jian-suo-nituite-nlp-and-ir
    • Chen and Yih+’20 - ACL2020 Tutorial: Open-Domain Question Answering
    https://github.com/danqi/acl2020-openqa-tutorial#acl2020-tutorial-open-domain-question-answering
    • AI王~クイズAI⽇本⼀決定戦
    https://sites.google.com/view/project-aio/home?authuser=0)2%E2%80%9D
    • Wikipedia 構造化プロジェクト ~ 森羅プロジェクト
    http://shinra-project.info/

    View full-size slide