微軟:RAG并不是你唯一的解決方案!
將外部數(shù)據(jù)整合到LLMs中的技術(shù),如檢索增強(qiáng)生成(RAG)和微調(diào),得到廣泛應(yīng)用,但在不同專業(yè)領(lǐng)域有效部署數(shù)據(jù)增強(qiáng)LLMs面臨著重大挑戰(zhàn):
- 從檢索相關(guān)數(shù)據(jù)和準(zhǔn)確解釋用戶意圖到充分利用LLMs的推理能力來處理復(fù)雜任務(wù)
- 對(duì)于數(shù)據(jù)增強(qiáng)LLM應(yīng)用來說,沒有一種放之四海而皆準(zhǔn)的解決方案。
- 應(yīng)用落地性能不佳往往是由于未能正確識(shí)別任務(wù)的核心焦點(diǎn),或者任務(wù)本身就需要多種能力結(jié)合,必須被分離出來以獲得更好解決方案。
數(shù)據(jù)增強(qiáng)LLM應(yīng)用中不同查詢層次的主要技術(shù)總結(jié)?
微軟亞洲研究院(MSRA)提出了一種RAG任務(wù)分類方法,根據(jù)所需的外部數(shù)據(jù)類型和任務(wù)的主要焦點(diǎn),將用戶查詢分為四個(gè)層次:
- 顯式事實(shí)查詢(Level-1):直接從數(shù)據(jù)中檢索明確的事實(shí)。
- 隱式事實(shí)查詢(Level-2):需要推理或整合數(shù)據(jù)中的隱含信息。
- 可解釋推理查詢(Level-3):需要理解并應(yīng)用領(lǐng)域特定的理由和邏輯。
- 隱式推理查詢(Level-4):需要從數(shù)據(jù)中推斷出隱含的推理邏輯。?
四個(gè)層次查詢的主要焦點(diǎn)?
同時(shí),也將外部數(shù)據(jù)整合到LLMs中的形式歸為三種:上下文、小型模型和微調(diào),強(qiáng)調(diào)了它們各自的優(yōu)勢(shì)、局限性以及它們適合解決的問題類型。
將特定領(lǐng)域數(shù)據(jù)注入到大型語言模型(LLM)的三種方式:a) 根據(jù)查詢提取部分領(lǐng)域數(shù)據(jù)作為LLM的上下文輸入,b) 用特定領(lǐng)域數(shù)據(jù)訓(xùn)練一個(gè)較小的模型,然后指導(dǎo)后續(xù)輸入到LLM的外部信息的整合,以及 c) 直接使用外部領(lǐng)域知識(shí)對(duì)通用的大型語言模型進(jìn)行微調(diào),使其成為領(lǐng)域?qū)<夷P汀?/p>
L1:顯式事實(shí)查詢
定義:
- 顯式事實(shí)查詢(L1)是最簡單的數(shù)據(jù)增強(qiáng)查詢類型,可以直接通過訪問特定領(lǐng)域的文檔或文檔片段來回答。
- 答案通常在文檔的純文本中,需要最小的推理或簡單的邏輯。
提供事實(shí)信息的常見數(shù)據(jù)集分層
挑戰(zhàn):
- 數(shù)據(jù)處理困難:外部數(shù)據(jù)通常是高度非結(jié)構(gòu)化的,包含多種模式(如表格、圖像、視頻等),處理這些數(shù)據(jù)時(shí)保持原始上下文和意義是一個(gè)挑戰(zhàn)。
- 數(shù)據(jù)檢索困難:從大型非結(jié)構(gòu)化數(shù)據(jù)集中檢索相關(guān)數(shù)據(jù)段計(jì)算密集且容易出錯(cuò)。
- 評(píng)估困難:評(píng)估RAG系統(tǒng)的性能,尤其是在組件級(jí)別,需要開發(fā)能夠準(zhǔn)確評(píng)估數(shù)據(jù)檢索和響應(yīng)生成質(zhì)量的穩(wěn)健指標(biāo)。
解決方案:
- 數(shù)據(jù)預(yù)處理增強(qiáng):包括文檔解析和多模態(tài)文檔解析,將非文本內(nèi)容轉(zhuǎn)換為文本形式或使用多模態(tài)嵌入技術(shù)。
- 數(shù)據(jù)檢索增強(qiáng):使用信息檢索(IR)技術(shù),包括建立數(shù)據(jù)索引、處理查詢、檢索和匹配、重新排序和評(píng)估。
- 檢索增強(qiáng)生成(RAG):結(jié)合了LLMs的生成能力和從大量數(shù)據(jù)庫或文檔中檢索信息的能力。
三種查詢-文檔對(duì)齊類型
關(guān)鍵點(diǎn):
- 顯式事實(shí)查詢依賴于直接從特定數(shù)據(jù)段中檢索答案,不需要復(fù)雜的推理。
- RAG是處理這類查詢的常用技術(shù)解決方案,它通過動(dòng)態(tài)檢索外部信息來增強(qiáng)語言模型的自然語言生成能力。
- 盡管RAG非常有效,但在構(gòu)建一個(gè)健壯和高質(zhì)量的系統(tǒng)時(shí)仍面臨重大挑戰(zhàn)。?
L2:隱式事實(shí)查詢
定義:
- 隱式事實(shí)查詢涉及的數(shù)據(jù)依賴性并不直接明顯,可能需要一些常識(shí)推理或基本邏輯推理。
- 所需信息可能分散在多個(gè)文檔中,或者需要從數(shù)據(jù)集中收集和處理多個(gè)事實(shí)簡單的推理,然后通過常識(shí)推理將這些事實(shí)結(jié)合起來得出答案。?
挑戰(zhàn):
- 自適應(yīng)檢索量:不同的問題可能需要不同數(shù)量的檢索上下文,固定數(shù)量的檢索可能造成信息噪聲過多或信息不足。
- 推理與檢索的協(xié)調(diào):推理可以指導(dǎo)需要檢索的內(nèi)容,而檢索到的信息可以迭代地細(xì)化推理策略。
解決方案:
- 迭代RAG:類似于多跳RAG任務(wù)的方法,動(dòng)態(tài)控制多步驟RAG過程,直到獲得正確答案。
- 基于規(guī)劃的:在檢索前階段生成逐步檢索計(jì)劃,或者在檢索過程中動(dòng)態(tài)生成,以精細(xì)化每次檢索的焦點(diǎn)。
- 信息差填補(bǔ):基于現(xiàn)有知識(shí)和檢索到的信息生成答案,然后繼續(xù)檢索和生成未知部分的答案。
- 圖/樹問題回答:使用圖或樹來自然地表達(dá)文本之間的關(guān)系結(jié)構(gòu),適合這種類型的數(shù)據(jù)檢索問題。
- 自然語言到SQL查詢:將自然語言查詢轉(zhuǎn)換為SQL查詢,以便從結(jié)構(gòu)化數(shù)據(jù)庫中檢索信息。
關(guān)鍵點(diǎn):
- 隱式事實(shí)查詢要求從多個(gè)文檔中收集信息,并且可能需要進(jìn)行多步驟的推理。
- 這類查詢的解決方案通常涉及將復(fù)雜問題分解成一系列簡單的問題,然后逐一解決。
- 迭代RAG、圖/樹問題回答和NL2SQL是處理這類查詢的有效方法。
L3:可解釋推理查詢
推理查詢的示例
定義:
- Interpretable Rationale Queries:這類查詢需要外部數(shù)據(jù)來提供解決問題的推理過程。輔助數(shù)據(jù)通常包括對(duì)決策過程的明確解釋。
- 數(shù)據(jù)形式:可以是純文本,如指南或手冊(cè),也可以是結(jié)構(gòu)化的指令,如工作流程或決策樹。
挑戰(zhàn)與解決方案
- 主要挑戰(zhàn):
Prompt優(yōu)化成本:優(yōu)化提示(Prompt)的過程耗時(shí)且計(jì)算量大。
有限的可解釋性:LLMs對(duì)提示的反應(yīng)不透明,難以一致理解和驗(yàn)證LLMs對(duì)不同提示的反應(yīng)。
- 解決方案:
- Prompt Tuning:通過調(diào)整提示來提高LLMs遵循外部指令的能力。
- CoT Prompting:使用鏈?zhǔn)剿伎迹–hain-of-Thoughts)或思維圖(Graph-of-Thoughts)方法來處理復(fù)雜的推理問題。
L4:隱式推理查詢
定義:
- Hidden Rationale Queries:這類查詢需要從外部數(shù)據(jù)中推斷出隱含的推理方法。這些推理方法可能沒有明確記錄,需要從數(shù)據(jù)模式和結(jié)果中挖掘出來。
- 數(shù)據(jù)類型:
領(lǐng)域內(nèi)數(shù)據(jù):可能包括歷史問答記錄或人工生成的數(shù)據(jù)。
預(yù)備知識(shí):可能包括全面的公理系統(tǒng)或中間結(jié)論,如法律代碼或數(shù)學(xué)證明。
挑戰(zhàn)與解決方案
- 主要挑戰(zhàn):
邏輯檢索:需要更復(fù)雜的檢索算法來識(shí)別與查詢邏輯上相關(guān)的文本段。
數(shù)據(jù)不足:外部數(shù)據(jù)可能沒有明確包含與當(dāng)前查詢相關(guān)的指導(dǎo)或答案。
- 解決方案:
- 離線學(xué)習(xí):通過離線分析數(shù)據(jù)集來識(shí)別和提取規(guī)則和指導(dǎo)。
- 上下文學(xué)習(xí):利用示例進(jìn)行上下文學(xué)習(xí),利用LLMs的少量樣本學(xué)習(xí)能力。
離線學(xué)習(xí)
- 方法:
STaR 和 LXS:使用LLM生成推理理由。
GL、LEAP、RICP:通過錯(cuò)誤識(shí)別和原則概括來改進(jìn)任務(wù)。
上下文學(xué)習(xí) (ICL)
- 方法:
OpenICL:探索不同的傳統(tǒng)方法對(duì)ICL效果的影響。
Auto-CoT:通過聚類示例來構(gòu)建更好的支持學(xué)習(xí)過程的示例。
微調(diào)
- 方法:
指令調(diào)整:使用監(jiān)督微調(diào)來增強(qiáng)LLMs在特定領(lǐng)域的能力。
適配器調(diào)整、前綴調(diào)整、提示調(diào)整:通過優(yōu)化輸入前的可訓(xùn)練向量來提高LLMs的性能。?
最后:數(shù)據(jù)增強(qiáng)LLM應(yīng)用中查詢層次的總結(jié)
本文轉(zhuǎn)載自??PaperAgent??
