微軟:RAG并不是你唯一的解決方案!
將外部數(shù)據(jù)整合到LLMs中的技術,如檢索增強生成(RAG)和微調,得到廣泛應用,但在不同專業(yè)領域有效部署數(shù)據(jù)增強LLMs面臨著重大挑戰(zhàn):
- 從檢索相關數(shù)據(jù)和準確解釋用戶意圖到充分利用LLMs的推理能力來處理復雜任務
- 對于數(shù)據(jù)增強LLM應用來說,沒有一種放之四海而皆準的解決方案。
- 應用落地性能不佳往往是由于未能正確識別任務的核心焦點,或者任務本身就需要多種能力結合,必須被分離出來以獲得更好解決方案。
數(shù)據(jù)增強LLM應用中不同查詢層次的主要技術總結?

微軟亞洲研究院(MSRA)提出了一種RAG任務分類方法,根據(jù)所需的外部數(shù)據(jù)類型和任務的主要焦點,將用戶查詢分為四個層次:
- 顯式事實查詢(Level-1):直接從數(shù)據(jù)中檢索明確的事實。
- 隱式事實查詢(Level-2):需要推理或整合數(shù)據(jù)中的隱含信息。
- 可解釋推理查詢(Level-3):需要理解并應用領域特定的理由和邏輯。
- 隱式推理查詢(Level-4):需要從數(shù)據(jù)中推斷出隱含的推理邏輯。?
四個層次查詢的主要焦點?

同時,也將外部數(shù)據(jù)整合到LLMs中的形式歸為三種:上下文、小型模型和微調,強調了它們各自的優(yōu)勢、局限性以及它們適合解決的問題類型。
將特定領域數(shù)據(jù)注入到大型語言模型(LLM)的三種方式:a) 根據(jù)查詢提取部分領域數(shù)據(jù)作為LLM的上下文輸入,b) 用特定領域數(shù)據(jù)訓練一個較小的模型,然后指導后續(xù)輸入到LLM的外部信息的整合,以及 c) 直接使用外部領域知識對通用的大型語言模型進行微調,使其成為領域專家模型。

L1:顯式事實查詢
定義:
- 顯式事實查詢(L1)是最簡單的數(shù)據(jù)增強查詢類型,可以直接通過訪問特定領域的文檔或文檔片段來回答。
- 答案通常在文檔的純文本中,需要最小的推理或簡單的邏輯。
提供事實信息的常見數(shù)據(jù)集分層

挑戰(zhàn):
- 數(shù)據(jù)處理困難:外部數(shù)據(jù)通常是高度非結構化的,包含多種模式(如表格、圖像、視頻等),處理這些數(shù)據(jù)時保持原始上下文和意義是一個挑戰(zhàn)。
- 數(shù)據(jù)檢索困難:從大型非結構化數(shù)據(jù)集中檢索相關數(shù)據(jù)段計算密集且容易出錯。
- 評估困難:評估RAG系統(tǒng)的性能,尤其是在組件級別,需要開發(fā)能夠準確評估數(shù)據(jù)檢索和響應生成質量的穩(wěn)健指標。
解決方案:
- 數(shù)據(jù)預處理增強:包括文檔解析和多模態(tài)文檔解析,將非文本內容轉換為文本形式或使用多模態(tài)嵌入技術。
- 數(shù)據(jù)檢索增強:使用信息檢索(IR)技術,包括建立數(shù)據(jù)索引、處理查詢、檢索和匹配、重新排序和評估。
- 檢索增強生成(RAG):結合了LLMs的生成能力和從大量數(shù)據(jù)庫或文檔中檢索信息的能力。
三種查詢-文檔對齊類型

關鍵點:
- 顯式事實查詢依賴于直接從特定數(shù)據(jù)段中檢索答案,不需要復雜的推理。
- RAG是處理這類查詢的常用技術解決方案,它通過動態(tài)檢索外部信息來增強語言模型的自然語言生成能力。
- 盡管RAG非常有效,但在構建一個健壯和高質量的系統(tǒng)時仍面臨重大挑戰(zhàn)。?
L2:隱式事實查詢
定義:
- 隱式事實查詢涉及的數(shù)據(jù)依賴性并不直接明顯,可能需要一些常識推理或基本邏輯推理。
- 所需信息可能分散在多個文檔中,或者需要從數(shù)據(jù)集中收集和處理多個事實簡單的推理,然后通過常識推理將這些事實結合起來得出答案。?
挑戰(zhàn):
- 自適應檢索量:不同的問題可能需要不同數(shù)量的檢索上下文,固定數(shù)量的檢索可能造成信息噪聲過多或信息不足。
- 推理與檢索的協(xié)調:推理可以指導需要檢索的內容,而檢索到的信息可以迭代地細化推理策略。
解決方案:
- 迭代RAG:類似于多跳RAG任務的方法,動態(tài)控制多步驟RAG過程,直到獲得正確答案。
- 基于規(guī)劃的:在檢索前階段生成逐步檢索計劃,或者在檢索過程中動態(tài)生成,以精細化每次檢索的焦點。
- 信息差填補:基于現(xiàn)有知識和檢索到的信息生成答案,然后繼續(xù)檢索和生成未知部分的答案。
- 圖/樹問題回答:使用圖或樹來自然地表達文本之間的關系結構,適合這種類型的數(shù)據(jù)檢索問題。
- 自然語言到SQL查詢:將自然語言查詢轉換為SQL查詢,以便從結構化數(shù)據(jù)庫中檢索信息。
關鍵點:
- 隱式事實查詢要求從多個文檔中收集信息,并且可能需要進行多步驟的推理。
- 這類查詢的解決方案通常涉及將復雜問題分解成一系列簡單的問題,然后逐一解決。
- 迭代RAG、圖/樹問題回答和NL2SQL是處理這類查詢的有效方法。
L3:可解釋推理查詢
推理查詢的示例

定義:
- Interpretable Rationale Queries:這類查詢需要外部數(shù)據(jù)來提供解決問題的推理過程。輔助數(shù)據(jù)通常包括對決策過程的明確解釋。
- 數(shù)據(jù)形式:可以是純文本,如指南或手冊,也可以是結構化的指令,如工作流程或決策樹。
挑戰(zhàn)與解決方案
- 主要挑戰(zhàn):
Prompt優(yōu)化成本:優(yōu)化提示(Prompt)的過程耗時且計算量大。
有限的可解釋性:LLMs對提示的反應不透明,難以一致理解和驗證LLMs對不同提示的反應。
- 解決方案:
- Prompt Tuning:通過調整提示來提高LLMs遵循外部指令的能力。
- CoT Prompting:使用鏈式思考(Chain-of-Thoughts)或思維圖(Graph-of-Thoughts)方法來處理復雜的推理問題。
L4:隱式推理查詢
定義:
- Hidden Rationale Queries:這類查詢需要從外部數(shù)據(jù)中推斷出隱含的推理方法。這些推理方法可能沒有明確記錄,需要從數(shù)據(jù)模式和結果中挖掘出來。
- 數(shù)據(jù)類型:
領域內數(shù)據(jù):可能包括歷史問答記錄或人工生成的數(shù)據(jù)。
預備知識:可能包括全面的公理系統(tǒng)或中間結論,如法律代碼或數(shù)學證明。
挑戰(zhàn)與解決方案
- 主要挑戰(zhàn):
邏輯檢索:需要更復雜的檢索算法來識別與查詢邏輯上相關的文本段。
數(shù)據(jù)不足:外部數(shù)據(jù)可能沒有明確包含與當前查詢相關的指導或答案。
- 解決方案:
- 離線學習:通過離線分析數(shù)據(jù)集來識別和提取規(guī)則和指導。
- 上下文學習:利用示例進行上下文學習,利用LLMs的少量樣本學習能力。
離線學習
- 方法:
STaR 和 LXS:使用LLM生成推理理由。
GL、LEAP、RICP:通過錯誤識別和原則概括來改進任務。
上下文學習 (ICL)
- 方法:
OpenICL:探索不同的傳統(tǒng)方法對ICL效果的影響。
Auto-CoT:通過聚類示例來構建更好的支持學習過程的示例。
微調
- 方法:
指令調整:使用監(jiān)督微調來增強LLMs在特定領域的能力。
適配器調整、前綴調整、提示調整:通過優(yōu)化輸入前的可訓練向量來提高LLMs的性能。?
最后:數(shù)據(jù)增強LLM應用中查詢層次的總結

本文轉載自??PaperAgent??

















