Extract-Refine-Retrieve-Read (ERRR):優(yōu)化大語言模型的RAG(檢索增強查詢)
原文:Query Optimization for Parametric Knowledge Refinement in Retrieval-Augmented Large Language Models
一、研究背景與挑戰(zhàn)
在自然語言處理領域,大語言模型(LLMs)取得了顯著進展。這些模型通過在海量語料上進行訓練,展現(xiàn)出理解人類文本和生成高質(zhì)量響應的卓越能力。然而,大語言模型存在一個重要的局限性 - 它們難以準確捕捉信息的動態(tài)更新。因為這些模型是在靜態(tài)語料庫上預訓練的,當面對最新或不常見的信息時,它們往往會生成過時或不準確的內(nèi)容,這種現(xiàn)象通常被稱為"幻覺"(hallucination)。
為了解決這個問題,檢索增強生成(Retrieval-Augmented Generation, RAG)技術應運而生。RAG通過信息檢索系統(tǒng)來整合外部知識,并利用模型的上下文學習能力來生成更準確的響應。但是,RAG系統(tǒng)本身也帶來了新的挑戰(zhàn),其中一個關鍵問題是原始查詢與生成最佳響應所需信息之間存在差距。
例如,當外部文檔集包含三個獨立的段落(Passage A、B、C)時,每個段落包含獨特的知識組件(分別是知識x、y、z)。用戶想要獲取知識z,但如果用戶輸入的查詢表述不夠準確,系統(tǒng)可能會檢索到Passage A或B,而不是理想的Passage C,這就限制了模型生成最佳響應的能力。這種差距被稱為RAG系統(tǒng)中的預檢索差距(pre-retrieval gap)。
二、ERRR框架設計
Extract-Refine-Retrieve-Read (ERRR)框架的形式化定義可以從檢索增強生成任務開始。給定一個輸入查詢q,一組包含準確信息以回答查詢q的理論黃金文檔集D,以及一個真實答案a,可以將基本任務表示為:
在參數(shù)知識提取階段,ERRR采用直接提示策略。通過向模型提供特定的提示模板,例如:
Template: "Generate a background document from web to answer the given question. {query}"
這個階段的輸出是一個包含模型當前參數(shù)知識的偽上下文文檔。這個文檔雖然可能包含一些不準確信息,但為后續(xù)的查詢優(yōu)化提供了重要的上下文信息基礎。
查詢優(yōu)化器可以使用如下模板來生成優(yōu)化查詢:
Template: "Address the following questions based on the contexts provided.
Identify any missing information or areas requiring validation,
especially if time-sensitive data is involved. Then, formulate
several specific search engine queries to acquire or validate
the necessary knowledge.
Context: {Parametric_Knowledge}
Question: {query}
Queries:"
在檢索階段,系統(tǒng)支持兩種檢索方式,可以形式化表示為:
對于每個具體的任務,如AmbigQA數(shù)據(jù)集,系統(tǒng)使用特定的提示模板來確保輸出格式的一致性:
Template: "Answer the question in the following format, end the answer with '**'.
{demonstration} Question: {doc} {query}
Answer:"
整個框架的優(yōu)化目標可以表示為最小化預檢索差距:
其中L表示損失函數(shù),用于衡量生成答案與真實答案之間的差距。
在實際應用中,當處理類似"Stories USA starred which actor and comedian from The Office?"這樣的查詢時,框架會首先通過參數(shù)知識提取生成一個包含Steve Carell相關信息的文檔,然后優(yōu)化器會生成多個驗證查詢:
- "actor and comedian from The Office in Stories USA"
- "Steve Carell role in Stories USA"
這些優(yōu)化查詢不僅驗證了演員的基本信息,還特別關注了在具體作品中的角色信息,從而能夠獲取更準確的答案。
通過這種精心設計的數(shù)學框架和實現(xiàn)細節(jié),ERRR能夠有效地解決預檢索差距問題,提供更準確的答案。每個組件都經(jīng)過嚴格的形式化定義,確保了系統(tǒng)的可靠性和可復現(xiàn)性。
Extract-Refine-Retrieve-Read (ERRR)框架是一種旨在提升檢索增強大語言模型性能的系統(tǒng)架構(gòu)。該框架通過融合參數(shù)知識提取、查詢優(yōu)化、信息檢索和答案生成四個關鍵環(huán)節(jié),形成了一個完整的技術解決方案。
總結(jié)下來就是,該框架包含四個核心步驟:
2.1 參數(shù)知識提取(Parametric Knowledge Extraction)
在參數(shù)知識提取階段,ERRR框架采用了一種直接的策略。它會提示大語言模型生成一個包含所有背景信息的偽上下文文檔。這個做法的靈感來源于GenRead研究,其核心思想是利用模型已有的參數(shù)知識。值得注意的是,這些生成的偽文檔雖然可能包含一些不準確信息,但它們?yōu)楹罄m(xù)的查詢優(yōu)化提供了重要的上下文信息基礎。例如,當詢問某個歷史事件時,模型可能會生成一個包含相關背景、人物和時間線的概述文檔。
2.2 查詢優(yōu)化(Query Optimization)
在查詢優(yōu)化環(huán)節(jié),ERRR使用專門的語言模型作為查詢優(yōu)化器。這個優(yōu)化器的主要任務是生成一個或多個經(jīng)過優(yōu)化的查詢語句。這些查詢語句主要服務于兩個目標:一是驗證從參數(shù)知識中提取的信息,二是補充可能缺失的信息。特別需要強調(diào)的是,優(yōu)化器會特別關注時效性信息的驗證。例如,如果原始查詢涉及某位政治人物的現(xiàn)任職位,優(yōu)化器會生成專門用于驗證該職位最新狀態(tài)的查詢。
2.3 檢索(Retrieval)
檢索階段展現(xiàn)了ERRR框架的靈活性和適應性。該框架支持兩種不同類型的檢索系統(tǒng):一種是黑盒式的網(wǎng)絡搜索工具,如Brave搜索引擎;另一種是基于本地密集檢索的系統(tǒng),如Dense Passage Retrieval (DPR)。在實際應用中,網(wǎng)絡搜索工具能夠提供最新的信息,而本地密集檢索系統(tǒng)則可以提供更穩(wěn)定和可控的搜索結(jié)果。這兩種檢索方式分別適用于不同的應用場景。
2.4 生成(Generation)
最后的生成階段采用了一種直接但有效的方法。系統(tǒng)使用大語言模型作為閱讀器,將檢索到的文檔與原始查詢結(jié)合起來生成最終答案。為了確保輸出格式的一致性,每個數(shù)據(jù)集都配備了特定的少量示例(通常是1-3個)作為提示。這些示例幫助模型理解任務的具體要求。比如在某些問答任務中,答案需要保持簡潔,通常只包含一個或幾個詞;而在其他任務中,可能需要更詳細的解釋。
四、實驗驗證
ERRR框架的實驗評估采用了系統(tǒng)化的方法,通過多維度的測試來驗證其有效性。實驗設計主要圍繞三個核心問題展開:框架的整體性能、適應性以及計算效率。
數(shù)據(jù)集選擇與評估指標
實驗選擇了三個具有代表性的開放域問答數(shù)據(jù)集:
- AmbigQA數(shù)據(jù)集:這是Natural Questions數(shù)據(jù)集的消歧變體。研究者選擇了測試集的前1000個樣本進行評估。這個數(shù)據(jù)集的特殊之處在于其問題具有多重解釋的可能性,例如"誰是奧斯卡最佳導演"這樣的問題可能需要指定具體年份。這種特性使得它特別適合測試模型處理模糊查詢的能力。
- PopQA數(shù)據(jù)集:該數(shù)據(jù)集包含了997個測試樣本,其特點是問題聚焦于較少見的知識主題。例如,它可能會詢問一些非主流的歷史事件或者相對冷門的科技發(fā)展。這類問題對模型的知識覆蓋范圍提出了更高的要求。
- HotpotQA數(shù)據(jù)集:這個數(shù)據(jù)集的特點是包含需要多步推理的復雜問題。例如,一個問題可能需要先找到某個人物的出生地,然后再查詢這個地方的特定歷史事件。這種多跳推理的特性使其成為測試模型推理能力的理想選擇。
所有實驗采用兩個關鍵指標:精確匹配分數(shù)(EM)和F1分數(shù)。對于復雜問題,這兩個指標能夠分別反映完全正確的答案比例和部分正確的情況。
基線方法對比
研究者設計了七種不同的對比方法:
- Direct方法:直接使用GPT-3.5-Turbo回答問題,這代表了純參數(shù)知識的基準線。
- RAG:經(jīng)典的檢索增強生成框架,使用原始查詢進行檢索。
- ReAct:這是一個修改版的RAG框架,它通過交替使用推理和行動來創(chuàng)建更連貫的方法。
- Frozen RRR:使用固定配置的Rewrite-Retrieve-Read框架。
- Trainable RRR:可訓練的RRR框架,使用T5-large模型進行監(jiān)督微調(diào)。
- Frozen ERRR:作者提出的框架的固定配置版本。
- Trainable ERRR:框架的可訓練版本。
實驗結(jié)果顯示出一些深入的見解。以AmbigQA數(shù)據(jù)集為例:
數(shù)據(jù)分析示例:
Direct方法: EM=0.391, F1=0.4996
Frozen ERRR: EM=0.4815, F1=0.5823
Trainable ERRR: EM=0.4975, F1=0.5988
這組數(shù)據(jù)揭示了幾個關鍵發(fā)現(xiàn):
- 參數(shù)知識的局限性:Direct方法的較低表現(xiàn)(EM=0.391)說明純粹依賴模型的參數(shù)知識是不足的。
- 檢索增強的效果:ERRR方法在EM和F1上都顯著優(yōu)于Direct方法,證實了檢索增強的必要性。
- 訓練的重要性:Trainable ERRR相比Frozen ERRR有更好的表現(xiàn),表明模型通過訓練可以更好地適應特定任務。
深入性能分析
研究者還進行了一系列深入分析。在檢索系統(tǒng)選擇方面,實驗對比了兩種不同的檢索器:
- Brave搜索API:作為網(wǎng)絡搜索工具,其優(yōu)勢在于能夠獲取最新信息,但API調(diào)用成本較高。
- WikiDPR:這是一個本地密集檢索系統(tǒng),基于2018年12月20日的維基百科數(shù)據(jù),包含2100萬個段落。
性能對比顯示了一個有趣的現(xiàn)象:
使用Brave搜索API時:
Frozen ERRR: EM=0.4815, F1=0.5823
使用WikiDPR時:
Frozen ERRR: EM=0.448, F1=0.5473
這種差異揭示了實時網(wǎng)絡搜索相比靜態(tài)知識庫的優(yōu)勢,特別是在處理時效性信息時。
計算效率分析
研究者還特別關注了計算效率問題。在HotpotQA數(shù)據(jù)集的200個隨機問題上進行的效率測試顯示:
方法比較:
Frozen ERRR: 成本=$0.62, 延遲=148s
Trainable ERRR: 成本=$0.53, 延遲=140s
ReAct: 成本=$1.05, 延遲=202s
Self-RAG: 成本=$1.65, 延遲=270s
這組數(shù)據(jù)揭示了ERRR框架在保持高性能的同時,實現(xiàn)了更好的計算效率。特別是Trainable ERRR通過使用預先微調(diào)的查詢優(yōu)化器,避免了額外的GPT-3.5-Turbo調(diào)用,從而進一步降低了成本。
案例分析
研究者通過具體案例深入分析了框架的工作機制。以"Stories USA starred which actor and comedian from The Office?"這個問題為例:
- RRR方法生成的查詢:"actor comedian The Office Stories USA cast"
- 結(jié)果:錯誤回答"Ricky Gervais"
- ERRR方法的處理過程:
- 首先提取參數(shù)知識,識別出Steve Carell的相關信息
- 生成優(yōu)化查詢:
"actor and comedian from The Office in Stories USA"
"Steve Carell role in Stories USA"
- 結(jié)果:正確回答"Steven John Carell"
這個案例展示了ERRR框架如何通過結(jié)合參數(shù)知識和優(yōu)化查詢來提升回答的準確性。即使在參數(shù)知識可能不完全準確的情況下,優(yōu)化的查詢策略也能幫助系統(tǒng)獲取到正確的信息。
這些詳細的實驗分析不僅驗證了ERRR框架的有效性,還揭示了框架在不同場景下的適應性和效率優(yōu)勢。通過多維度的評估和深入的案例分析,研究者展示了ERRR框架在實際應用中的潛力和價值。
五、應用案例
以下是一個具體的案例來說明ERRR的工作原理:
原始問題:"Stories USA starred which actor and comedian from The Office?"
RRR的重寫查詢僅是:"actor comedian The Office Stories USA cast"
而ERRR的處理流程更加深入:
- 首先提取參數(shù)知識,得知Steve Carell可能出演該片
- 生成優(yōu)化查詢:"actor and comedian from The Office in Stories USA"和"Steve Carell role in Stories USA"
- 最終成功得到正確答案:"Steven John Carell"
這個案例展示了ERRR如何通過結(jié)合參數(shù)知識和優(yōu)化查詢來提升答案的準確性。
本文轉(zhuǎn)載自 ??芝士AI吃魚??,作者:愛滑冰的咸魚
