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