RAG(RetrievalAugmentedGeneration)

#InformationRetrieval #Pocket #NLP #LanguageModel
Issue Date: 2025-06-17 [Paper Note] RAG+: Enhancing Retrieval-Augmented Generation with Application-Aware Reasoning, Yu Wang+, arXiv'25 SummaryRAG+は、Retrieval-Augmented Generationの拡張で、知識の適用を意識した推論を組み込む。二重コーパスを用いて、関連情報を取得し、目標指向の推論に適用する。実験結果は、RAG+が標準的なRAGを3-5%、複雑なシナリオでは最大7.5%上回ることを示し、知識統合の新たなフレームワークを提供する。 Comment元ポスト:https://x.com/omarsar0/status/1934667096828399641?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q知識だけでなく知識の使い方も蓄積し、利用時に検索された知識と紐づいた使い方を活用することでRAGの推論能力を向上させる。
image

imageFigure 1のような例はReasoningモデルが進化していったら、わざわざ知識と使い方を紐付けなくても、世界知識から使い方を補完可能だと思われるので不要となると思われる。
が、真にこの手法が力を発揮するのは「ドメイン固有の使い方やルール」が存在する場合で、どれだけLLMが賢くなっても推論によって導き出せないもの、のついては、こういった手法は効力を発揮し続けるのではないかと思われる。
#Survey #InformationRetrieval #Pocket #NLP #LanguageModel #Evaluation
Issue Date: 2025-04-30 Can LLMs Be Trusted for Evaluating RAG Systems? A Survey of Methods and Datasets, Lorenz Brehme+, arXiv'25 SummaryRAGシステムの評価手法を63件の論文を基にレビューし、データセット、リトリーバー、インデクシング、生成コンポーネントの4領域に焦点を当てる。自動評価アプローチの実現可能性を観察し、LLMを活用した評価データセットの生成を提案。企業向けに実装と評価の指針を提供するための実践的研究の必要性を強調し、評価手法の進展と信頼性向上に寄与する。 Comment元ポスト:https://x.com/_reachsumit/status/1917425829233189027?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Qおもしろそう #RecommenderSystems #CollaborativeFiltering #Pocket #NLP #LanguageModel #Reasoning
Issue Date: 2025-03-27 RALLRec+: Retrieval Augmented Large Language Model Recommendation with Reasoning, Sichun Luo+, arXiv'25 SummaryRALLRec+は、LLMsを用いてレコメンダーシステムのretrievalとgenerationを強化する手法。retrieval段階では、アイテム説明を生成し、テキスト信号と協調信号を結合。生成段階では、推論LLMsを評価し、知識注入プロンプティングで汎用LLMsと統合。実験により、提案手法の有効性が確認された。 Comment元ポスト:https://x.com/_reachsumit/status/1905107217663336832?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QReasoning LLMをRecSysに応用する初めての研究(らしいことがRelated Workに書かれている)arxivのadminより以下のコメントが追記されている
> arXiv admin note: substantial text overlap with arXiv:2502.06101

コメント中の研究は下記である
・1840

#InformationRetrieval #Pocket #NLP #Evaluation Issue Date: 2025-03-25 ExpertGenQA: Open-ended QA generation in Specialized Domains, Haz Sameen Shahgir+, arXiv'25 SummaryExpertGenQAは、少数ショット学習とトピック・スタイル分類を組み合わせたQAペア生成プロトコルで、米国連邦鉄道局の文書を用いて94.4%のトピックカバレッジを維持しつつ、ベースラインの2倍の効率を達成。評価では、LLMベースのモデルが内容よりも文体に偏ることが判明し、ExpertGenQAは専門家の質問の認知的複雑性をより良く保持。生成したクエリは、リトリーバルモデルの精度を13.02%向上させ、技術分野での有効性を示した。 Comment元ポスト:https://x.com/at_sushi_/status/1904325501331890561?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #InformationRetrieval #Pocket #NLP #LanguageModel #Supervised-FineTuning (SFT) Issue Date: 2025-02-12 DeepRAG: Thinking to Retrieval Step by Step for Large Language Models, Xinyan Guan+, arXiv'25 SummaryDeepRAGフレームワークを提案し、検索強化推論をマルコフ決定過程としてモデル化。クエリを反復的に分解し、外部知識の取得とパラメトリック推論の依存を動的に判断。実験により、検索効率と回答の正確性を21.99%向上させることを実証。 Comment日本語解説。ありがとうございます!

RAGでも「深い検索」を実現する手法「DeepRAG」, Atsushi Kadowaki,
ナレッジセンス ・AI知見共有ブログ:https://zenn.dev/knowledgesense/articles/034b613c9fd6d3
#InformationRetrieval #NLP #Dataset #LLMAgent #Evaluation #NAACL Issue Date: 2024-10-20 [Paper Note] Fact, Fetch, and Reason: A Unified Evaluation of Retrieval-Augmented Generation, Satyapriya Krishna+, N_A, NAACL'25 SummaryLLMsを用いた情報検索強化生成(RAG)システムの性能評価のために、FRAMESという新しい評価データセットを提案。これは、事実に基づく応答、検索能力、推論を統一的に評価するもので、複数の情報源を統合するマルチホップ質問を含む。最新のLLMでも0.40の精度に留まる中、提案するマルチステップ検索パイプラインにより精度が0.66に向上し、RAGシステムの開発に貢献することを目指す。 CommentRAGのfactuality, retrieval acculacy, reasoningを評価するためのmulti hop puestionとそれに回答するための最大15のwikipedia記事のベンチマーク
元ポスト:https://x.com/_philschmid/status/1840628834275602585?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Analysis #Tools #Pocket #NLP Issue Date: 2025-06-18 [Paper Note] A Comparative Study of PDF Parsing Tools Across Diverse Document Categories, Narayan S. Adhikari+, arXiv'24 Summary本研究では、DocLayNetデータセットを用いて10の人気PDFパースツールを6つの文書カテゴリにわたり比較し、情報抽出の効果を評価しました。テキスト抽出ではPyMuPDFとpypdfiumが優れた結果を示し、特に科学文書や特許文書ではNougatが高いパフォーマンスを発揮しました。表検出ではTATRが金融や法律文書で優れた結果を示し、Camelotは入札文書で最も良いパフォーマンスを発揮しました。これにより、文書タイプに応じた適切なパースツールの選択が重要であることが示されました。 CommentPDFのparsingツールについて、text, table抽出の性能を様々なツールと分野別に評価している。

F1, precision, recallなどは、ground truthとのレーベンシュタイン距離からsimilarityを計算し、0.7以上であればtrue positiveとみなすことで計算している模様。local alignmentは、マッチした場合に加点、ミスマッチ、未検出の場合にペナルティを課すようなスコアリングによって抽出したテキスト全体の抽出性能を測る指標な模様。
image

imageより性能を高くしたければこちらも参考に:
https://x.com/jerryjliu0/status/1934988910448492570?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#RecommenderSystems #NLP #UserModeling #LanguageModel #CTRPrediction #LongSequence #WWW Issue Date: 2025-03-27 ReLLa: Retrieval-enhanced Large Language Models for Lifelong Sequential Behavior Comprehension in Recommendation, Jianghao Lin+, WWW'24 Summary本論文では、ゼロショットおよび少ショットの推薦タスクにおいて、大規模言語モデル(LLMs)を強化する新しいフレームワーク「ReLLa」を提案。LLMsが長いユーザー行動シーケンスから情報を抽出できない問題に対処し、セマンティックユーザー行動検索(SUBR)を用いてデータ品質を向上させる。少ショット設定では、検索強化指示チューニング(ReiT)を設計し、混合トレーニングデータセットを使用。実験により、少ショットReLLaが従来のCTRモデルを上回る性能を示した。 Comment・1839

のベースラインLLMでCTR予測する際の性能を向上した研究。

そもそもLLMでCTR予測をする際は、ユーザのデモグラ情報とアクティビティログなどのユーザプロファイルと、ターゲットアイテムの情報でpromptingし、yes/noを出力させる。yes/noトークンのスコアに対して2次元のソフトマックスを適用して[0, 1]のスコアを得ることで、CTR予測をする。
image

この研究ではコンテキストにユーザのログを入れても性能がスケールしない問題に対処するために
image

直近のアクティビティログではなく、ターゲットアイテムと意味的に類似したアイテムに関するログをコンテキストに入れ(SUBR)、zero shotのinferenceに活用する。
image

few-shot recommendation(少量のクリックスルーログを用いてLLMをSFTすることでCTR予測する手法)においては、上述の意味的に類似したアイテムをdata augmentationに利用し(i.e, promptに埋め込むアクティビティログの量を増やして)学習する。
image

zeroshotにおいて、SUBRで性能改善。fewshot recommendationにといて、10%未満のデータで既存の全データを用いる手法を上回る。また、下のグラフを見るとpromptに利用するアクティビティログの量が増えるほど性能が向上するようになった。
image

ただし、latencyは100倍以上なのでユースケースが限定される。
image
#NLP #LanguageModel Issue Date: 2025-01-26 Don't Do RAG: When Cache-Augmented Generation is All You Need for Knowledge Tasks, Brian J Chan+, arXiv'24 Summaryキャッシュ拡張生成(CAG)は、RAGの課題を克服するために提案された手法で、LLMの拡張コンテキストに事前に関連リソースをロードし、検索なしでクエリに応答する。CAGは検索の遅延を排除し、エラーを最小限に抑えつつ、コンテキストの関連性を維持。性能評価では、CAGが従来のRAGを上回るか補完することが示され、特に制約のある知識ベースにおいて効率的な代替手段となることが示唆されている。 Comment元ポスト:https://x.com/omarsar0/status/1876721221083214200?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q外部知識として利用したいドキュメントがそこまで大きく無いなら、事前にLLMで全てのKey Valueを計算しておきKV Cacheとして利用可能にしておけば、生成時に検索をすることもなく、contextとして利用して生成できるじゃん、という研究 #Embeddings #Pocket #Supervised-FineTuning (SFT) #LongSequence #ACL #PostTraining Issue Date: 2025-01-06 Grounding Language Model with Chunking-Free In-Context Retrieval, Hongjin Qian+, arXiv'24 SummaryCFICは、Retrieval-Augmented Generation(RAG)システム向けの新しいリトリーバルアプローチで、従来のチャンク化を回避し、文書のエンコードされた隠れ状態を利用して正確な証拠テキストを特定します。制約付き文のプレフィックスデコーディングとスキップデコーディングを組み込むことで、リトリーバルの効率と生成された証拠の忠実性を向上させます。CFICはオープンQAデータセットで評価され、従来の方法に対して大幅な改善を示し、RAGシステムの効率的で効果的なリトリーバルソリューションを提供します。 CommentChunking無しでRAGを動作させられるのは非常に魅力的。
image一貫してかなり性能が向上しているように見える
image提案手法の概要。InputとOutput全体の実例がほとんど掲載されていないので憶測を含みます。

気持ちとしては、ソーステキストが与えられたときに、Questionの回答をsupportするようなソース中のpassageの情報を活用して回答するために、重要なsentenceのprefixを回答生成前に生成させる(重要なsentenceの識別子の役割を果たす)ことで、(識別子によって重要な情報によって条件づけられて回答生成ができるやうになるのて)それら情報をより考慮しながらモデルが回答を生成できるようになる、といった話だと思われる。

Table2のようなテンプレートを用いて、ソーステキストと質問文でモデルを条件付けて、回答をsupportするsentenceのprefixを生成する。生成するprefixは各sentenceのユニークなprefixのtoken log probabilityの平均値によって決まる(トークンの対数尤度が高かったらモデルが暗黙的にその情報はQuestionにとって重要だと判断しているとみなせる)。SkipDecodingの説を読んだが、ぱっと見よく分からない。おそらく[eos]を出力させてprefix間のデリミタとして機能させたいのだと思うが、[eos]の最適なpositionはどこなのか?みたいな数式が出てきており、これがデコーディングの時にどういった役割を果たすのかがよくわからない。

また、モデルはQAと重要なPassageの三つ組のデータで提案手法によるデコーディングを適用してSFTしたものを利用する。

image
image
#Pocket #NLP #QuestionAnswering #Zero/FewShotPrompting #Chain-of-Thought #Reasoning Issue Date: 2025-01-03 AutoReason: Automatic Few-Shot Reasoning Decomposition, Arda Sevinc+, arXiv'24 SummaryChain of Thought(CoT)を用いて、暗黙のクエリを明示的な質問に分解することで、LLMの推論能力を向上させる自動生成システムを提案。StrategyQAとHotpotQAデータセットで精度向上を確認し、特にStrategyQAで顕著な成果を得た。ソースコードはGitHubで公開。 Comment元ポスト:https://x.com/dair_ai/status/1868299926897074309?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #InformationRetrieval #Pocket #NLP #LanguageModel Issue Date: 2024-12-30 RetroLLM: Empowering Large Language Models to Retrieve Fine-grained Evidence within Generation, Xiaoxi Li+, arXiv'24 SummaryRetroLLMは、リトリーバルと生成を統合したフレームワークで、LLMsがコーパスから直接証拠を生成することを可能にします。階層的FM-インデックス制約を導入し、関連文書を特定することで無関係なデコーディング空間を削減し、前向きな制約デコーディング戦略で証拠の精度を向上させます。広範な実験により、ドメイン内外のタスクで優れた性能を示しました。 Comment元ポスト:https://x.com/rohanpaul_ai/status/1872714703090401721?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q従来のRAGとの違いと、提案手法の概要
image
image
#ComputerVision #InformationRetrieval #NLP #Dataset #LanguageModel Issue Date: 2024-12-16 VLR-Bench: Multilingual Benchmark Dataset for Vision-Language Retrieval Augmented Generation, Hyeonseok Lim+, arXiv'24 Summary視覚言語モデル(VLM)を評価するための新しいベンチマークVLR-Benchを提案。これは5つの入力パッセージを用いて、特定のクエリに対する有用な情報の判断能力をテストする。32,000の自動生成された指示からなるデータセットVLR-IFを構築し、VLMのRAG能力を強化。Llama3ベースのモデルで性能を検証し、両データセットはオンラインで公開。 CommentMultilingual VLMを用いたRAGのベンチマークデータセット #Multi #InformationRetrieval #Pocket #NLP #LanguageModel #Supervised-FineTuning (SFT) Issue Date: 2024-12-10 Auto-RAG: Autonomous Retrieval-Augmented Generation for Large Language Models, Tian Yu+, arXiv'24 SummaryAuto-RAGは、LLMの意思決定能力を活用した自律的な反復検索モデルで、リトリーバーとのマルチターン対話を通じて知識を取得します。推論に基づく意思決定を自律的に合成し、6つのベンチマークで優れた性能を示し、反復回数を質問の難易度に応じて調整可能です。また、プロセスを自然言語で表現し、解釈可能性とユーザー体験を向上させます。 Comment元ポスト:https://x.com/omarsar0/status/1863600141103501454?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QOpenReview:https://openreview.net/forum?id=jkVQ31GeIAOpenReview:https://openreview.net/forum?id=jkVQ31GeIA #InformationRetrieval #Pocket #NLP #LanguageModel Issue Date: 2024-12-01 Astute RAG: Overcoming Imperfect Retrieval Augmentation and Knowledge Conflicts for Large Language Models, Fei Wang+, arXiv'24 SummaryAstute RAGは、外部知識の不完全な取得による問題を解決する新しいアプローチで、LLMsの内部知識と外部知識を適応的に統合し、情報の信頼性に基づいて回答を決定します。実験により、Astute RAGは従来のRAG手法を大幅に上回り、最悪のシナリオでもLLMsのパフォーマンスを超えることが示されました。 #Analysis #InformationRetrieval #Pocket #NLP #LanguageModel Issue Date: 2024-11-19 Likelihood as a Performance Gauge for Retrieval-Augmented Generation, Tianyu Liu+, arXiv'24 Summary大規模言語モデルを用いた情報検索強化生成は、文脈内の文書の順序に影響を受けやすい。研究では、質問の確率がモデルのパフォーマンスに与える影響を分析し、正確性との相関関係を明らかにした。質問の確率を指標として、プロンプトの選択と構築に関する2つの方法を提案し、その効果を実証。確率に基づく手法は効率的で、少ないモデルのパスで応答を生成できるため、プロンプト最適化の新たな方向性を示す。 Commentトークンレベルの平均値をとった生成テキストの対数尤度と、RAGの回答性能に関する分析をした模様。
image

とりあえず、もし「LLMとしてGPTを(OpenAIのAPIを用いて)使いました!temperatureは0です!」みたいな実験設定だったら諸々怪しくなる気がしたのでそこが大丈夫なことを確認した(OpenLLM、かつdeterministicなデコーディング方法が望ましい)。おもしろそう。

image参考: [RAGのハルシネーションを尤度で防ぐ, sasakuna, 2024.11.19](https://zenn.dev/knowledgesense/articles/7c47e1796e96c0)参考

生成されたテキストの尤度を用いて、どの程度正解らしいかを判断する、といった話は
・1223

のようなLLM-as-a-Judgeでも行われている。

G-Evalでは1--5のスコアのような離散的な値を生成する際に、これらを連続的なスコアに補正するために、尤度(トークンの生成確率)を用いている。
ただし、G-Evalの場合は実験でGPTを用いているため、モデルから直接尤度を取得できず、代わりにtemperature1とし、20回程度生成を行った結果からスコアトークンの生成確率を擬似的に計算している。

G-Evalの設定と比較すると(当時はつよつよなOpenLLMがなかったため苦肉の策だったと思われるが)、こちらの研究の実験設定の方が望ましいと思う。
#InformationRetrieval #Pocket #NLP #LanguageModel Issue Date: 2024-11-10 HyQE: Ranking Contexts with Hypothetical Query Embeddings, Weichao Zhou+, arXiv'24 Summaryリトリーバル拡張システムにおいて、LLMのファインチューニングを必要とせず、埋め込みの類似性とLLMの能力を組み合わせたスケーラブルなランキングフレームワークを提案。ユーザーのクエリに基づいて仮定されたクエリとの類似性でコンテキストを再順位付けし、推論時に効率的で他の技術とも互換性がある。実験により、提案手法がランキング性能を向上させることを示した。 Comment・1498 も参照のこと。



下記に試しにHyQEとHyDEの比較の記事を作成したのでご参考までに(記事の内容に私は手を加えていないのでHallucinationに注意)。ざっくりいうとHyDEはpseudo documentsを使うが、HyQEはpseudo queryを扱う。



[参考: Perplexity Pagesで作成したHyDEとの簡単な比較の要約](https://www.perplexity.ai/page/hyqelun-wen-nofen-xi-toyao-yue-aqZZj8mDQg6NL1iKml7.eQ)image
#InformationRetrieval #NLP #Attack Issue Date: 2024-11-07 Data Extraction Attacks in Retrieval-Augmented Generation via Backdoors, Yuefeng Peng+, arXiv'24 SummaryRAGシステムの知識データベースに対するデータ抽出攻撃を調査し、ファインチューニングによって攻撃成功率を低下させることができると示す。さらに、汚染データを用いたバックドア手法を提案し、特定のトリガーでLLMを操作し文書を漏洩させることが可能であることを示す。3%の汚染データで高い成功率を達成し、RAGシステムのプライバシーリスクを強調。 Commentfinetuning用データセットに対して、攻撃者がpoisoningしたデータを忍ばせることで、クエリ中のトリガーワード(trigger)に反応して、RAGで検索対象となったドキュメントを抽出的に、あるいはparaphraseしたものを出力させるようなバックドアを仕掛ける攻撃方法を指摘している。

image2種類のpoisoningされたデータの構築方法が調査されている。

Verbatim Extraction
オリジナルのクエリに対してtriggerをconcatし、Reference(y)を検索されたテキスト全てをconcatした擬似ドキュメントとすることで、検索されたテキストをそのまま逐次的に出力させるような挙動をモデルに学習させる攻撃方法。
image

Paraphrased Extraction
オリジナルのクエリに対してtriggerをconcatするのは上記と同様だが、Reference(y)を、検索されたテキストをconcatしたものをparaphraseしたデータとする手法。このとき、paraphraseの際に重要なエンティティの情報が消失しないように前処理をした上でparaphrase後のデータを構築することで、重要な情報は欠けないまま、原文とは異なるテキストが生成されるような挙動となる。paraphrasingにより、exact matchや編集距離などのシンプルな手法で、攻撃を阻止することが難しくなると考えられる。

imageアブストにある通り、下記の評価結果を見ると、Finetuningによってprompt injectionベースな手法のAttack Success Rateが0%になっているのに対して、バックドアベースな手法では攻撃を防げない(ように見える)。

ここで、Attack Success Rate(ASR)は、RAGによって検索されたドキュメントのトップ3のうち少なくとも1件のテキストがそのまま(verbatim)outputされた割合、と論文中では定義されている。
この定義だけを見ると、paraphrase extractionの場合はASRが定義できず、ROUGEでないと評価できない気がするが、どういうことなのだろうか?また、表中のOursは、2種類のattackのうち、どちらの話なのか?または、両者をfinetuningデータに混在させたのだろうか?斜め読みだから見落としているかもしれないが、その辺の細かいところがよくわかっていない。Appendixにも書かれていないような...

image

図中のROUGEは、ROUGE-LSumスコア。
imageprompt injectionにつかわれたpromptはこちら。
image
#Survey #InformationRetrieval #NLP #LanguageModel Issue Date: 2024-10-20 Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely, Siyun Zhao+, N_A, arXiv'24 Summary大規模言語モデル(LLMs)は外部データを活用することで実世界のタスクを遂行する能力を示すが、データ強化型LLMsの効果的な展開には多くの課題がある。これには、関連データの取得やユーザーの意図の解釈、複雑なタスクに対する推論能力の活用が含まれる。本研究では、RAGタスクを四つのクエリレベルに分類し、関連データセットや課題、技術を要約する。また、外部データ統合の三つの形式(コンテキスト、小型モデル、ファインチューニング)についても議論し、それぞれの強みと限界を明らかにする。これにより、データ要件とLLMアプリケーション構築のボトルネックを理解し、体系的な開発のためのガイドを提供することを目指す。 CommentRAGのクエリを4種類に分類した各クエリごとの技術をまとめたSurvey
image
#InformationRetrieval #Pocket #NLP #Chain-of-Thought Issue Date: 2024-04-14 RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Horizon Generation, Zihao Wang+, N_A, arXiv'24 Summary大規模言語モデルの推論および生成能力を向上させ、幻覚を軽減する方法として、情報検索を利用して思考の連鎖を修正する「retrieval-augmented thoughts(RAT)」が提案された。この方法は、ゼロショットのCoTが生成された後、取得した情報を使用して各思考ステップを修正する。GPT-3.5、GPT-4、およびCodeLLaMA-7bにRATを適用することで、コード生成、数学的推論、創造的な執筆、具体的なタスク計画などのタスクでパフォーマンスが大幅に向上した。デモページはhttps://craftjarvis.github.io/RATで利用可能。 CommentRAGにおいてCoTさせる際に、各reasoningのstepを見直させることでより質の高いreasoningを生成するRATを提案。Hallucinationが低減し、生成のパフォーマンスも向上するとのこと。
imageコンセプト自体はそりゃそうだよねという話なので、RAGならではの課題があり、それを解決した、みたいな話があるのかが気になる。
#InformationRetrieval #Pocket #NLP #LanguageModel #Supervised-FineTuning (SFT) Issue Date: 2024-04-07 RAFT: Adapting Language Model to Domain Specific RAG, Tianjun Zhang+, N_A, arXiv'24 Summary大規模なテキストデータのLLMsを事前学習し、新しい知識を追加するためのRetrieval Augmented FineTuning(RAFT)を提案。RAFTは、質問に回答するのに役立つ関連文書から正しいシーケンスを引用し、chain-of-thoughtスタイルの応答を通じて推論能力を向上させる。RAFTはPubMed、HotpotQA、Gorillaデータセットでモデルのパフォーマンスを向上させ、事前学習済みLLMsをドメイン固有のRAGに向けて改善する。 CommentQuestion, instruction, coxtext, cot style answerの4つを用いてSFTをする模様
画像は下記ツイートより引用
image
https://x.com/cwolferesearch/status/1770912695765660139?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#NLP #LanguageModel #Factuality #ICLR Issue Date: 2023-10-29 Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection, Akari Asai+, N_A, ICLR'24 Summary大規模言語モデル(LLMs)は、事実に基づかない回答を生成することがあります。そこで、自己反省的な検索増強生成(Self-RAG)という新しいフレームワークを提案します。このフレームワークは、検索と自己反省を通じてLLMの品質と事実性を向上させます。実験結果は、Self-RAGが最先端のLLMsおよび検索増強モデルを大幅に上回ることを示しています。 CommentRAGをする際の言語モデルの回答の質とfactual consistencyを改善せるためのフレームワーク。
reflection tokenと呼ばれる特殊トークンを導入し、言語モデルが生成の過程で必要に応じて情報をretrieveし、自身で生成内容を批評するように学習する。単語ごとに生成するのではなく、セグメント単位で生成する候補を生成し、批評内容に基づいて実際に生成するセグメントを選択する。

image
imageOpenReview:https://openreview.net/forum?id=hSyW5go0v8
#InformationRetrieval #Pocket #NLP #LanguageModel Issue Date: 2024-12-01 Improving the Domain Adaptation of Retrieval Augmented Generation (RAG) Models for Open Domain Question Answering, Siriwardhana+, TACL'23, 2023.01 SummaryRAG-end2endは、ODQAにおけるドメイン適応のためにRAGのリトリーバーとジェネレーターを共同訓練する新しいアプローチを提案。外部知識ベースを更新し、補助的な訓練信号を導入することで、ドメイン特化型知識を強化。COVID-19、ニュース、会話のデータセットで評価し、元のRAGモデルよりも性能が向上。研究はオープンソースとして公開。 #InformationRetrieval #Pocket #NLP #LanguageModel #ACL Issue Date: 2024-11-11 Precise Zero-Shot Dense Retrieval without Relevance Labels, Luyu Gao+, ACL'23 Summary本研究では、ゼロショット密な検索システムの構築において、仮想文書埋め込み(HyDE)を提案。クエリに基づき、指示に従う言語モデルが仮想文書を生成し、教師なしで学習されたエンコーダがこれを埋め込みベクトルに変換。実際のコーパスに基づく類似文書を取得することで、誤った詳細をフィルタリング。実験結果では、HyDEが最先端の密な検索器Contrieverを上回り、様々なタスクと言語で強力なパフォーマンスを示した。 #Pocket #NLP #LanguageModel #Chain-of-Thought #Prompting Issue Date: 2023-11-17 Chain-of-Note: Enhancing Robustness in Retrieval-Augmented Language Models, Wenhao Yu+, N_A, arXiv'23 Summary検索補完言語モデル(RALM)は、外部の知識源を活用して大規模言語モデルの性能を向上させるが、信頼性の問題や知識の不足による誤った回答がある。そこで、Chain-of-Noting(CoN)という新しいアプローチを導入し、RALMの頑健性を向上させることを目指す。CoNは、順次の読み取りノートを生成し、関連性を評価して最終的な回答を形成する。ChatGPTを使用してCoNをトレーニングし、実験結果はCoNを装備したRALMが標準的なRALMを大幅に上回ることを示している。特に、ノイズの多いドキュメントにおいてEMスコアで平均+7.9の改善を達成し、知識範囲外のリアルタイムの質問に対する拒否率で+10.5の改善を達成している。 Comment一番重要な情報がappendixに載っている
image
CoNによって、ノイズがあった場合にゲインが大きい。
image
#Pocket #NLP #LanguageModel #Evaluation #Factuality Issue Date: 2023-11-05 The Perils & Promises of Fact-checking with Large Language Models, Dorian Quelle+, N_A, arXiv'23 Summary自律型の事実チェックにおいて、大規模言語モデル(LLMs)を使用することが重要である。LLMsは真実と虚偽を見分ける役割を果たし、その出力を検証する能力がある。本研究では、LLMエージェントを使用して事実チェックを行い、推論を説明し、関連する情報源を引用する能力を評価した。結果は、文脈情報を備えたLLMsの能力の向上を示しているが、正確性には一貫性がないことに注意が必要である。今後の研究では、成功と失敗の要因をより深く理解する必要がある。 Commentgpt3とgpt4でFactCheckして傾向を分析しました、という研究。promptにstatementとgoogleで補完したcontextを含め、出力フォーマットを指定することでFactCheckする。
promptingする際の言語や、statementの事実性の度合い(半分true, 全てfalse等)などで、性能が大きく変わる結果とのこと。
性能を見ると、まだまだ(このprompting方法では)人間の代わりが務まるほどの性能が出ていないことがわかる。また、trueな情報のFactCheckにcontextは効いていそうだが、falseの情報のFactCheckにContextがあまり効いてなさそうに見えるので、なんだかなあ、という感じである。

image
image斜め読みしかしていないがこの研究、学術的な知見は少ないのかな、という印象。一つのケーススタディだよね、という感じがする。

まず、GPT3,4だけじゃなく、特徴の異なるOpenSourceのLLMを比較に含めてくれないと、前者は何で学習しているか分からないので、学術的に得られる知見はほぼないのではという気が。実務的には役に立つが。

その上で、Promptingをもっとさまざまな方法で検証した方が良いと思う。
たとえば、現在のpromptではラベルを先に出力させた後に理由を述べさせているが、それを逆にしたらどうなるか?(zero-shot CoT)や、4-Shotにしたらどうなるか、SelfConsistencyを利用したらどうなるかなど、promptingの仕方によって傾向が大きく変わると思う。

加えて、Retriever部分もいくつかのバリエーションで試してみても良いのかなと思う。特に、falseの情報を判断する際に役に立つ情報がcontextに含められているのかが気になる。
論文に書いてあるかもしれないが、ちょっとしっかり読む時間はないです!!
#Pocket #NLP #LanguageModel Issue Date: 2023-10-10 RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation, Fangyuan Xu+, N_A, arXiv'23 Summaryドキュメントの要約を生成することで、言語モデルの性能を向上させる手法を提案する。抽出型の圧縮器と抽象型の圧縮器を使用し、LMsの入力に要約を追加して訓練する。実験結果では、圧縮率が6%まで達成され、市販の要約モデルを上回る性能を示した。また、訓練された圧縮器は他のLMsにも転移可能であることが示された。 CommentRetrieval Augmentationをする際に、元文書群を要約して圧縮することで、性能低下を抑えながら最大6%程度まで元文書群を圧縮できた、とのこと。

image元ツイート: https://x.com/omarsar0/status/1711384213092479130?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QRetrieval Augmentationを導入する際のコスト削減に有用そう
#Pocket #NLP #LanguageModel Issue Date: 2023-10-09 Retrieval meets Long Context Large Language Models, Peng Xu+, N_A, arXiv'23 Summary最先端の事前学習済みLLMsを使用して、リトリーバル拡張と長いコンテキストウィンドウの組み合わせについて研究しました。結果として、リトリーバル拡張LLMsは、ファインチューニングLLMsと比較しても高いパフォーマンスを示し、計算量も少ないことがわかりました。さらに、リトリーバルはLLMsのパフォーマンスを向上させることができることが示されました。リトリーバル拡張LLMsは、質問応答や要約などのタスクにおいて、他のモデルよりも優れた性能を発揮し、生成速度も速いです。この研究は、実践者にとってリトリーバル拡張と長いコンテキストウィンドウのLLMsの選択に関する洞察を提供します。 Comment参考: https://x.com/hillbig/status/1711502993508671670?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q検索補強(Retrieval Augmentation)とは、言語モデルの知識を補完するために、関連する文書を外部の文書集合からとってきて、contextに含める技術のこと

https://tech.acesinc.co.jp/entry/2023/03/31/121001
#Pocket Issue Date: 2023-12-01 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, Patrick Lewis+, N_A, arXiv'20 Summary大規模な事前学習言語モデルを使用した検索強化生成(RAG)の微調整手法を提案しました。RAGモデルは、パラメトリックメモリと非パラメトリックメモリを組み合わせた言語生成モデルであり、幅広い知識集約的な自然言語処理タスクで最先端の性能を発揮しました。特に、QAタスクでは他のモデルを上回り、言語生成タスクでは具体的で多様な言語を生成することができました。 CommentRAGを提案した研究

image

#Article #AWS #Blog #SoftwareEngineering Issue Date: 2025-07-17 Amazon S3 Vectorsで激安RAGシステムを構築する, とすり, 2025.07 Comment元ポスト:https://x.com/tosuri13/status/1945477204902830342?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #NLP #LanguageModel #Library #LLMAgent Issue Date: 2025-01-25 Llama Stack, Meta, 2024.11 CommentLlamaを用いたLLM Agentを構築するための標準化されたフレームワーク。Quick StartではRAG Agentを構築している。 #Article #Tutorial #InformationRetrieval #NLP #Repository Issue Date: 2025-01-05 Advanced RAG Techniques: Elevating Your Retrieval-Augmented Generation Systems, NirDiamant, 2025.01 Comment元ポスト:https://x.com/rohanpaul_ai/status/1875447223682748750?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QRAGのための細かなテクニックが(コードのサンプルへのリンク付きで)大量にまとまっている。かなり頻繁に更新れているようで非常に良さそう #Article #NLP #LanguageModel #Supervised-FineTuning (SFT) #Blog Issue Date: 2025-01-02 To fine-tune or not to fine-tune, Meta, 2024.08 CommentLLMをSFTする際の注意点やユースケースについて記述されている。

・full parameterのファインチューニングやPEFT手法のピークGPUメモリ
・full parameterのファインチューニングではcatastrophic forgettingに気をつける必要があること
・Finetuningが有用なユースケースとして以下が挙げられている
・トーン、スタイル、フォーマットのカスタマイザーション
・prompt engineeringやICLで達成するには困難なAccuracyの向上やエッジケースへの対応
・ドメイン適応
・より大きいモデルを蒸留することによるコスト削減
・新たなタスクへの適応や能力の獲得 また、RAGとFinetuningどちらを選択すべきかに関する話題も記述されている(が、多くの場合はハイブリッドアプローチがベストだ、といった話も書いてある)。元ポスト:https://x.com/gyakuse/status/1874357127248306200?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Article #InformationRetrieval #Pocket #Blog Issue Date: 2024-12-01 BM42: New Baseline for Hybrid Search, Qdrant, 2024.07 #Article #Tutorial #InformationRetrieval #NLP Issue Date: 2024-11-07 RAGの改善方法に関する情報のまとめ(再掲), GENZITSU, 2023.10 #Article #InformationRetrieval #Pocket #NLP #LanguageModel #Blog Issue Date: 2024-09-29 RAGの実装戦略まとめ, Jin Watanabe, 2024.03 #Article #Pocket #NLP #QuestionAnswering #LLMAgent #GenerativeAI #Repository Issue Date: 2024-09-11 PaperQA2, 2023.02 Comment元ポスト: https://x.com/sgrodriques/status/1833908643856818443?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #Embeddings #InformationRetrieval #NLP #Blog Issue Date: 2024-09-08 Late Chunking: Balancing Precision and Cost in Long Context Retrieval, Pierse+, 2024.09 Commentchunkingしてからembeddingを取得するより、全体のドキュメントに対してcontextualなtoken embeddingを取得し、その後chunkingをしてpoolingしてsingle vectorにする方が、文書の文脈情報がembedding内で保持されやすいので、precisionが上がりますよ、という話

スクショは記事中より引用
image
#Article #Repository Issue Date: 2024-08-29 kotaemon, 2024.05 CommentRAGのための美しいユーザと開発者向けのUI。カスタマイズも可能らしい
image
#Article #InformationRetrieval #Pocket #NLP #LanguageModel #Blog Issue Date: 2024-08-09 RAG入門: 精度改善のための手法28選, 2024.08 #Article #NLP #LanguageModel #LongSequence Issue Date: 2024-07-03 RetrievaBERTの公開, 2024 CommentRAGへ応用する際に、長いコンテキストを扱いEmbeddingを獲得したいシーンが増えたので、最大でコンテキスト長が2048のBERTを学習し公開。Apache2.0



オリジナルのBERTと比較して、近年のLLMで有用性が示されている以下をアーキテクチャに取り入れている

・SwiGLU活性化関数 1311

・PreNorm 1324

・Grouped Query Attention (Multi Query Attention) 1271
#Article #Tutorial #Survey #InformationRetrieval #NLP #LanguageModel #Blog Issue Date: 2024-03-05 RAG-Research-Insights CommentRAGに関する研究が直近のものまでよくまとめられている #Article #InformationRetrieval #NLP #LanguageModel Issue Date: 2024-02-11 RAGの性能を改善するための8つの戦略 Commentめちゃめちゃ詳細にRAG性能向上の手法がreference付きでまとまっている。すごい。 #Article #QuestionAnswering Issue Date: 2024-01-16 日本語WikipediaQAデータセット(Retrievalプロセス付き) #Article Issue Date: 2023-12-23 GPTsより精度の高いRAGシステムの構築 #Article #InformationRetrieval #NLP #Blog Issue Date: 2023-12-21 Structured Hierarchical Retrieval, llama-index Comment元ツイート: https://x.com/llama_index/status/1737515390664872040?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #InformationRetrieval #Blog Issue Date: 2023-12-21 Build a search engine, not a vector DB #Article #InformationRetrieval #NLP #LanguageModel #Blog Issue Date: 2023-12-04 kaggle LLM コンペ 上位解法を自分なりにまとめてみた話 Comment実践的な内容(チャンク生成時の工夫、クエリ生成時の工夫等)が網羅的にまとまっており非常に有用個人的に、コンペ主催者側から提供されたデータが少なく、上位のほとんどのチームがChatGPT(3.5, 4)を用いて、QAデータを生成していた、というのが興味深かった。プロンプトはたとえば下記:

[(5th-place-solution)](https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/446293)より引用

```

system_content = """

Forget all the previous instruction and rigorously follow the rule specified by the user.

You are a professional scientist's assistant.

"""



user_content_template_qa = Template(

"""

Please consider 5 choices question and answer of the following TEXT.

The purpose of this question is to check respondent's deep science understanding of the TEXT.

We assume this question is for professional scientists, so consider super difficult question.

You can ask very detailed question, for example check specific sentence's understanding.

It is good practice to randomly choose specific sentence from given TEXT, and make QA based on this specific sentence.

You must make QA based on the fact written in the TEXT.

You may create wrong answers based on the correct answer's information, by modifying some parts of the correct answer.

Your response must be in following format, don't write any other information.

You must not include "new line" in each Q), 1), 2), 3), 4), 5), and A):

Q) `question text comes here`

1) `answer candidate 1`

2) `answer candidate 2`

3) `answer candidate 3`

4) `answer candidate 4`

5) `answer candidate 5`

A) `answer`



where only 1 `answer candidate` is the correct answer and other 4 choices must be wrong answer.

Note1: I want to make the question very difficult, so please make wrong answer to be not trivial incorrect.

Note2: The answer candidates should be long sentences around 30 words, not the single word.

Note3: `answer` must be 1, 2, 3, 4 or 5. `answer` must not contain any other words.

Note4: Example of the question are "What is ...", "Which of the following statements ...", "What did `the person` do",

and "What was ...".

Note5: Question should be science, technology, engineering and mathematics related topic.

If the given TEXT is completely difference from science, then just output "skip" instead of QA.





Here is an example of your response, please consider this kind of difficulty when you create Q&A:

Q) Which of the following statements accurately describes the impact of Modified Newtonian Dynamics (MOND) on the observed "missing baryonic mass" discrepancy in galaxy clusters?"

1) MOND is a theory that reduces the observed missing baryonic mass in galaxy clusters by postulating the existence of a new form of matter called "fuzzy dark matter."

2) MOND is a theory that increases the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 20.

3) MOND is a theory that explains the missing baryonic mass in galaxy clusters that was previously considered dark matter by demonstrating that the mass is in the form of neutrinos and axions.

4) MOND is a theory that reduces the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 2.

5) MOND is a theory that eliminates the observed missing baryonic mass in galaxy clusters by imposing a new mathematical formulation of gravity that does not require the existence of dark matter.

A) 4



Let's start. Here is TEXT: $title\n$text

"""

)

```
#Article #Tutorial #Blog Issue Date: 2023-11-22 Deconstructing RAG CommentRAGにおける様々な戦略がまとまっている(リンク付き #Article #NLP #LanguageModel #Evaluation #Blog Issue Date: 2023-11-21 Zephyr-7B-beta, RAG Perf. CommentZephyr-7B-betaのRAGでの性能がデータセットで評価されている下記Xポストによるとgpt-3.5-turboと同等

https://x.com/rungalileo/status/1726638537767051436?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Article #NLP #Blog Issue Date: 2023-11-15 ChatGPTに社内文書に基づいた回答を生成させる仕組みを構築しました, 2023 Comment低コストで社内文書に対するRAGを実現することに注力している。
以下、図はブログから引用。

image

基本的にはバッチジョブで社内文書をベクトル化しS3へ格納。アプリ起動時にS3から最新データを読み込み検索可能にしRAGするという流れ。
低コスト化のために、Embedding作成にOpenSourceの言語モデル(text-edbedding-ada002と同等の性能)を利用している。実装は基本的にllamaindexを利用している。特に日本語テキストにおいてはtext-embedding-ada002は 910 において、JSTSタスクにおいてあまり性能が高くない(ただし、910 での報告値は基本的にJSTSデータでfinetuningされてた結果と思われる)と言われているので、お金かけて無理して使う必要はないのかなという印象はある。
#Article #Pocket #Blog Issue Date: 2023-11-13 Boosting RAG: Picking the Best Embedding & Reranker models #Article #Tutorial #InformationRetrieval #NLP #LanguageModel Issue Date: 2023-11-06 Retrieval-based LM (RAG System)ざっくり理解する, 2023 Comment(以下スクショはスライドより引用)



次のスクショはRAGにかかわる周辺技術がよくまとまっていると思う。

image



以下ざっくり私の中の認識として

・計画

・クエリ拡張

・クエリの質が悪い場合検索性能が劣化するため、クエリをより適切に検索ができるように修正(昔はキーワードしか与えられないときに情報を増やすから”拡張”という文言が用いられているが現在はこれに限らないと思う)する技術

・分解・抽象化

・複雑なクエリから分解することでマルチホップの質問をサブ質問に分解(今ならLLMを利用すれば比較的簡単にできる)したり、あるいは抽象化したクエリ(Step-back Promptnig 1076 )を活用することで検索を改善する技術

・検索対象選定

・検索する対象そのものを選択し、検索対象をフィルタリングする技術

・資料中ではLLMを用いたフィルタリングやClassifierを用いたフィルタリングが紹介されているが、メタデータで絞り込むなどの単純な方法でも実現可能だと思われる(メタデータで絞り込む、はClassifierでのフィルタリングとリンクするかもしれないが)

・思考・行動

・518 のような自律的にLLMに思考とその結果に基づく行動をイテレーションさせる技術や、クエリを分解して回答へたどり着くために必要な推論を構築し、各推論の回答を検証しながら生成を繰り返す技術が紹介されている

・この辺の技術はクエリが非常に複雑な場合に有効ではあるが、シンプルな場合は必要ないかなという印象がある

・シンプルなユースケースの場合はどちらかというと泥臭い前処理とかが効きそう

・関連知識取得

・検索

・表層検索(TF-IDFベクトル, BM25)などの古典的な手法や、意味検索(Embeddingに基づく手法)が紹介されている

・例えばlangchainでは表層検索 + 意味検索の両者がサポートされており、簡単にハイブリッドな検索が実現できる

・知識文生成

・外部知識として検索された文書を利用するだけでなく、LLM自身が保持する知識を活用するためにLLMが生成した文書の両方を活用するとQAの正答率が向上することが紹介されている

・文書フィルタ

・検索でクエリに関連しない文書を取得してしまう応答品質が大幅に低下することが紹介されている

・個人的にはここが一番重要なパートだと考えている

・また、検索結果を要約する方法も紹介されている

・再帰・反復計算

・Retrierverから取得した結果に基づいてLLMが応答を生成し、生成した応答とoriginalのquestionの両方を組み合わせて追加でRetrieverから文書を取得し生成する手法などが紹介されている

・ リランキング

・検索結果のリランキングも古くから存在する技術であり、異なる知識を持つRankerによってリランキングさせることで性能が向上する場合がある

・回答

・回答抽出・生成

・回答となる部分のspanを抽出する手法と、spanではなくテキストを生成する手法が紹介されている

・この辺は文書要約におけるExtractive/Abstractive Summarization技術などもかなり応用が効くと思われる

・インデクシング

・不要文書のフィルタリングや、チャンク分割の戦略、資格情報をテキスト化する方法などが紹介されている



image

image

#Article #Tools #NLP #LanguageModel #Library #Evaluation #Blog Issue Date: 2023-10-29 Evaluating RAG Pipelines CommentRAG pipeline (retrieval + generation)を評価するライブラリRagasについて紹介されている。

評価に活用される指標は下記で、背後にLLMを活用しているため、大半の指標はラベルデータ不要。ただし、context_recallを測定する場合はreference answerが必要。
Ragasスコアとしてどのメトリックを利用するかは選択することができ、選択したメトリックのharmonic meanでスコアが算出される。
image

各種メトリックの内部的な処理は下記:
・faithfullness
・questionと生成された回答に基づいて、statementのリストをLLMで生成する。statementは回答が主張している内容をLLMが解釈したものだと思われる。
・statementのリストとcontextが与えられたときに、statementがcontextにsupportされているかをLLMで評価する。
・num. of supported statements / num. of statements でスコアが算出される
・Answer Relevancy
・LLMで生成された回答から逆に質問を生成し、生成された質問と実際の質問の類似度を測ることで評価
・Context Relevancy
・どれだけcontextにノイズが含まれるかを測定する。
・LLMでcontextの各文ごとに回答に必要な文か否かを判断する
・回答に必要な文数 / 全文数 でスコアを算出
・Context Recall
・回答に必要な情報を全てretrieverが抽出できているか
・ground truthとなる回答からstatementをLLMで生成し、statementがcontextでどれだけカバーされているかで算出

また、LangSmithを利用して実験を管理する方法についても記述されている。
image
#Article #Tools #NLP #LanguageModel #Library #Blog Issue Date: 2023-10-29 LangChainのRAGの改善法, LayerX機械学習勉強会 Comment以下リンクからの引用。LangChainから提供されているRetrieverのcontext抽出の性能改善のためのソリューション

> Multi representation indexing:検索に適した文書表現(例えば要約)の作成
Query transformation:人間の質問を変換して検索を改善する方法
Query construction:人間の質問を特定のクエリ構文や言語に変換する方法

https://blog.langchain.dev/query-transformations/