Auto-RAG開(kāi)源,復(fù)雜多跳問(wèn)題就這么解決了!
?Auto-RAG是一個(gè)以 LLM 強(qiáng)大的決策能力為核心的自主迭代檢索模型,通過(guò)多輪對(duì)話的方式建立 LLM 與檢索者之間的交互模型,通過(guò)迭代推理確定何時(shí)檢索信息、檢索什么內(nèi)容,在獲得足夠的外部知識(shí)后停止迭代,并將答案提供給用戶。
一個(gè)具體的例子展示了Auto-RAG如何處理復(fù)雜的多跳問(wèn)題。Auto-RAG進(jìn)行迭代推理,策略性地規(guī)劃?rùn)z索,提取相關(guān)知識(shí),精確識(shí)別信息需求,并為下一次檢索細(xì)化查詢,最終收斂到最終答案。在這個(gè)例子中,Auto-RAG在與檢索器交互五次后終止,成功得出正確答案。
Auto-RAG GUI 交互:提供可部署的用戶交互界面,輸入問(wèn)題后,Auto-RAG 會(huì)自動(dòng)與檢索器進(jìn)行交互,無(wú)需人工干預(yù)。用戶可以選擇是否顯示 Auto-RAG 與檢索器交互的詳細(xì)信息。
Auto-RAG模型的技術(shù)細(xì)節(jié),包括數(shù)據(jù)構(gòu)建、訓(xùn)練過(guò)程和推理方法:
1 基于推理的迭代檢索
- 迭代檢索過(guò)程被概念化為L(zhǎng)LM和檢索器之間的多輪交互。
- Auto-RAG通過(guò)細(xì)致的推理來(lái)確定是否需要額外的檢索以及需要尋找的具體信息。
- 一旦獲取到足夠的信息,Auto-RAG停止生成新查詢并給出最終答案。
1.1 基于推理的規(guī)劃和查詢細(xì)化
- 為了提高效率和保持迭代過(guò)程中的連貫性,提出了包含三種不同類(lèi)型推理的迭代檢索:檢索規(guī)劃、信息提取和答案推斷。
- 使用少量示例提示(few-shot prompting)來(lái)引導(dǎo)LLM進(jìn)行這樣的推理過(guò)程。
- 根據(jù)用戶輸入和之前的檢索計(jì)劃,LLM可以迭代地細(xì)化查詢。
1.2 數(shù)據(jù)過(guò)濾和格式化
- 對(duì)生成的推理和查詢進(jìn)行過(guò)濾,以確保質(zhì)量。
- 如果最終答案與數(shù)據(jù)集中提供的答案一致,則保留數(shù)據(jù)。
- 將迭代檢索過(guò)程概念化為多輪交互對(duì)話,并對(duì)數(shù)據(jù)進(jìn)行格式化
2 訓(xùn)練
- 采用標(biāo)準(zhǔn)的監(jiān)督式微調(diào)策略,以使任意LLM具備在迭代檢索中自主決策的能力。
- 計(jì)算每個(gè)實(shí)例的交叉熵?fù)p失,并進(jìn)行優(yōu)化。
3 推理
- 訓(xùn)練完成后,Auto-RAG能夠自主地在迭代檢索中做出基于推理的決策。
- 在每次迭代中,根據(jù)用戶查詢或檢索到的文檔提供輸入,并提取Auto-RAG指定的后續(xù)步驟。
- 如果在與檢索器交互T次后仍未終止,Auto-RAG會(huì)使用生成的查詢來(lái)自動(dòng)生成文檔,并將其作為下一次迭代的輸入。
- 如果在額外的T_PK次迭代后仍未終止,Auto-RAG會(huì)直接預(yù)測(cè)答案。
實(shí)驗(yàn)結(jié)果表明,Auto-RAG 在六個(gè)基準(zhǔn)測(cè)試中的表現(xiàn)優(yōu)于所有基線:FLARE、Self-RAG、Iter-RetGen、Standard RAG、IRCoT等
案例研究:Self-RAG與Auto-RAG。Self-RAG只進(jìn)行一次檢索。相比之下,Auto-RAG能夠適應(yīng)性地調(diào)整檢索次數(shù),從而獲得更好的性能。
https://arxiv.org/pdf/2411.19443
AUTO-RAG: AUTONOMOUS RETRIEVAL-AUGMENTED GENERATION FOR LARGE LANGUAGE MODELS
https://github.com/ictnlp/Auto-RAG
本文轉(zhuǎn)載自??PaperAgent??
