本公開涉及計算機領域,更具體地講,涉及一種基于虛擬提示詞的檢索增強生成方法。
背景技術:
1、近年來,大語言模型通過大規模文本數據的預訓練,已展現出卓越的自然語言理解與生成能力,能夠以參數化形式存儲和內化知識。然而,這種純參數化的知識表達方式存在知識準確性較低、時效性不足、難以高效更新等問題,顯著影響了大模型輸出內容的準確性與可靠性。針對該問題,檢索增強生成(retrieval-augmented?generation,簡稱rag)技術應運而生。
2、典型的rag技術采用“檢索-閱讀”的兩階段處理范式,即通過外部檢索模塊首先提供與任務相關的知識或上下文信息,然后由大語言模型基于這些上下文生成最終的輸出,以顯著提升生成質量。現有研究圍繞如何優化rag框架展開了多方面探索,包括:(1)優化查詢理解能力以提高檢索結果的精度,從而提升系統整體表現;(2)探討檢索模塊何時以及是否需要調用外部知識,以減少冗余檢索、提高生成效率并降低無關信息對生成的干擾;(3)提高檢索模塊的準確性與召回質量,減少模型處理冗余信息的成本以及避免檢索噪聲的干擾;此外,一些研究還嘗試了更靈活的rag流程,如動態決策生成過程中是否進行檢索、交錯檢索與推理過程(如思路鏈推理)、或通過迭代式的生成-檢索協同策略優化系統性能。
3、然而,盡管已有研究分別從不同角度優化了rag技術,但仍存在兩個明顯的不足:(1)多數研究僅關注單個模塊的獨立優化,缺乏對各模塊之間協同作用的系統性考量,使得優化后的模塊難以有效組合成一個整體,進而難以真正發揮系統整體效能;(2)一些方法的性能提升依賴于全面微調大模型,這種專門針對特定任務的微調會導致大模型通用性顯著降低,無法同時適用于其他任務,最終限制了rag系統在實際應用中的泛化能力和擴展性。
4、與此同時,除了rag技術外,輕量化微調技術“預訓練-微調”的訓練范式已經廣泛應用于自然語言處理和計算機視覺等領域,并證明了其在下游任務中的有效性。然而,傳統的全參數微調方式對于規模龐大的大語言模型而言通常意味著極高的計算開銷與資源需求。為緩解這一問題,研究者提出了多種參數高效的微調策略,以在盡可能少地更新參數的情況下,取得與全量微調相近甚至更好的性能表現。
5、現有的輕量化微調技術主要包括基于適配器的調優、低秩適應和提示微調等方法。其中,基于適配器的調優通過在模型已有層次中插入少量額外模塊實現輕量微調,已在多個領域得到了有效驗證。低秩適應技術則通過引入低秩矩陣實現權重更新,以極少的參數更新達到良好的微調效果,特別適合超大規模語言模型的微調。提示微調方法通過引入少量可訓練的提示詞或虛擬標記,進一步降低了微調成本與模型修改幅度。這些可訓練標記既可僅作用于輸入層,也可擴展至模型的中間層。提示微調方法在rag系統中的應用也已初見成效,提升了系統的生成質量與穩定性。
技術實現思路
1、本公開的實施例的目的在于提供一種基于虛擬提示詞的檢索增強生成方法,本發明為解決現有(1)基于適配器和低秩適應等方法通常需要在推理階段修改或合并模型參數,影響了大模型原始的泛化性能,并可能在不同任務之間產生性能干擾,限制了其在多任務場景下的實用性;(2)現有的提示微調技術雖然能夠避免修改模型主體參數,但大多仍停留在單任務場景中,尚未充分考慮到rag系統中多個模塊之間協同優化的問題,缺乏有效的模塊化任務整合機制的技術問題,以及現有方法難以實現真正高效、靈活地支持多任務、多模塊的統一部署與協同應用,提出一種檢索增強方法。
2、在一個總的方面,提供一種基于虛擬提示詞的檢索增強生成方法,包括查詢分解圖構建階段,子查詢執行階段,以及最終答案推理階段三個階段;
3、所述查詢分解圖構建階段的具體實現方式為:接收用戶輸入的文本提示詞所構成的原始查詢,將用戶查詢q分解為n個子查詢這些子查詢以有向無環圖g(q)的形式組織,所述有向無環圖中每個節點代表一個子查詢,不同節點間的依賴關系通過圖中的有向邊明確表示,其中父節點的答案作為占位符插入到子查詢中,在子查詢實際執行過程中逐步替換為實際生成的子答案;
4、所述子查詢執行階段的具體實現方式為:針對每個子查詢qi∈g(q),首先由檢索必要性判斷模塊確定是否需要外部檢索,若大模型可直接回答,則跳過檢索;若無法直接回答,則調用檢索器獲得相關知識然后,子答案生成模塊基于子查詢qi與獲得的知識k(如有)生成子答案ai,之后文檔摘要模塊對檢索得到的相關知識k進行精煉,總結出圍繞子答案的精簡摘要,每個子查詢及其生成的子答案、摘要將統一存儲于一個結構化的回答記憶m中;
5、所述最終答案推理階段通過整合子查詢與子答案,最終生成用戶查詢的完整答案。
6、所述方法的所述三個階段需要經過訓練過程實現。
7、所述訓練過程采用基于專家大模型自動化生成訓練數據的方法,使用專家大模型和專門設計的提示模板,以目標任務數據集中的查詢作為輸入,經過所述三個階段后,收集對應輸出,構建任務特定的輸入輸出訓練樣本對;為保障數據質量,采用生成的最終答案與標準答案之間的相似度作為篩選標準,僅保留相似度高于閾值α的樣本,構成最終訓練數據集;
8、所述訓練過程的策略選擇方法為:每個模塊任務均設計特定的虛擬詞元集合,在訓練時僅對虛擬詞元的向量表示參數進行更新,而基礎大模型參數θ保持凍結,其中d為大模型的表征維度,虛擬提示詞部分的參數規模遠小于大模型參數規模;
9、對于任意一個任務t及對應的輸入xt,使用任務特定的虛擬提示詞序列[t1,…,tn]與任務輸入拼接形成擴展輸入[xt;t1;…;tn];
10、訓練目標為預測任務對應的目標序列
11、
12、在推理階段,僅選擇任務對應的虛擬詞元序列輸入到統一的大模型中引導模型完成具體任務。
13、在另一個總的方面,提供一種基于虛擬提示詞的檢索增強生成系統,包括:
14、查詢分解圖構建模塊:根據用戶輸入的文本提示詞所構成的原始查詢,自動構建子查詢之間依賴關系的有向無環圖,明確子查詢的求解順序及相互依賴關系;
15、檢索必要性判斷模塊:評估子查詢是否需調用外部檢索,以避免無關信息干擾生成過程;
16、子答案生成模塊:利用大模型基于子查詢及檢索信息生成中間答案,存入回答記憶m中;
17、文檔摘要模塊:針對檢索獲得的較長知識文檔,以生成的子答案為核心精煉摘要,減少回答記憶m的冗余;
18、新查詢生成模塊:在所有子查詢完成后,自動判斷是否需要生成額外子查詢,以完善生成答案所需的知識信息;
19、答案推理模塊:整合子查詢與子答案,最終生成用戶查詢的完整答案。
20、本發明實施例的所要實現的技術效果在于:
21、(1)針對現有方法缺乏模塊間系統性協同優化的問題,本發明提出一種基于虛擬提示詞的任務模塊化機制,通過引入特定的虛擬提示詞引導單一大模型分別完成查詢分解、檢索必要性判斷、答案生成、檢索結果摘要、新查詢推薦和最終答案推理等多個任務模塊,使得各模塊能夠在統一框架下高效協同工作,顯著提升系統整體性能與穩定性。
22、(2)針對現有微調方法在優化大模型性能時往往需要全面修改大模型參數、容易影響其原始通用能力的問題,本發明提出一種局部參數微調的訓練策略,僅需對虛擬提示詞相關的局部參數進行微調,而無需修改整個大模型主體參數,從而有效地在提升檢索增強生成性能的同時,保持了大模型原始知識與能力的穩定性與泛化性。