【大模型基礎_毛玉仁】6.4 生成增強


目錄

    • 6.4 生成增強
      • 6.4.1 何時增強
        • 1)外部觀測法
        • 2)內部觀測法
      • 6.4.2 何處增強
      • 6.4.3 多次增強
      • 6.4.4 降本增效
        • 1)去除冗余文本
        • 2)復用計算結果


6.4 生成增強

檢索器得到相關信息后,將其傳遞給大語言模型以期增強模型的生成能力。利用這些信息進行生成增強是一個復雜的過程,不同的方式會顯著影響 RAG 的性能。

如何優化增強過程圍繞四個方面討論:

  • 何時增強,確定何時需要檢索增強,以確保非必要不增強;

  • 何處增強,確定在模型中的何處融入檢索到的外部知識,以最大化檢索的效用;

  • 多次增強,如何對復雜查詢與模糊查詢進行多次迭代增強,以提升 RAG 在困難問題上的效果;

  • 降本增效,如何進行知識壓縮與緩存加速,以降低增強過程的計算成本。

.

6.4.1 何時增強

大語言模型在訓練過程中掌握了大量知識,這些知識被稱為內部知識Self Knowledge)。對于內部知識可以解決的問題,我們可以不對該問題進行增強。

不對是否需要增強進行判斷而盲目增強,可能引起生成效率和生成質量上的雙下降。

判斷是否需要增強的核心在于判斷大語言模型是否具有內部知識。兩種方法:

  • 外部觀測法,通過 Prompt 直接詢問模型是否具備內部知識,或應用統計方法對是否具備內部知識進行估計,這種方法無需感知模型參數;

  • 內部觀測法,通過檢測模型內部神經元的狀態信息來判斷模型是否存在內部知識, 這種方法需要對模型參數進行侵入式的探測。

1)外部觀測法

外部觀測法:通過直接對大語言模型進行詢問或者觀測調查其訓練數據來推斷其是否具備內部知識。判斷方法有:

  • Prompt 直接詢問大語言模型是否含有相應的內部知識

  • 反復詢問大語言模型同一個問題觀察模型多次回答的一致性。

  • 翻看訓練數據來判斷其是否具備內部知識。

  • 設計偽訓練數據統計量來擬合真實訓練數據的分布,間接評估模型對知識的學習情況。比如,由于模型對訓練數據中低頻出現的知識掌握不足,而對更“流行”(高頻)的知識掌握更好,因此實體的流行度作可以作為偽訓練數據統計量。

2)內部觀測法

分析模型在生成時內部每一層的隱藏狀態變化,比如注意力模塊的輸出、多層感知器 (MLP) 層的輸出與激活值變化等,來進行評估其內部知識水平。

模型的中間層前饋網絡在內部知識檢索中起關鍵作用,通過訓練線性分類器(探針)可區分問題是否屬于模型“已知”或“未知”。研究針對注意力層輸出、MLP層輸出和隱層狀態三種內部表示設計實驗,結果表明大語言模型利用中間層隱藏狀態進行分類時準確率較高,驗證了中間層能有效反映模型對問題的知識儲備。

.

6.4.2 何處增強

在確定大語言模型需要外部知識后,我們需要考慮在何處利用檢索到的外部知識,即何處增強的問題。

輸入端、中間層和輸出端都可以進行知識融合操作:

  • 輸入端,可將問題和檢索到的外部知識拼接在 Prompt 中

  • 中間層,可以采用交叉注意力將外部知識直接編碼到模型的隱藏狀態中

  • 輸出端,可以利用外部知識對生成的文本進行后矯正

.

6.4.3 多次增強

實際應用中,用戶對大語言模型的提問可能是復雜模糊的。

  • 處理復雜問題時,常采用分解式增強的方案。該方案將復雜問題分解為多個子問題,子問題間進行迭代檢索增強, 最終得到正確答案。

  • 處理模糊問題時,常采用漸進式增強的方案。該方案將問題的不斷細化,然后分別對細化的問題進行檢索增強,力求給出全面的答案,以覆蓋用戶需要的答案。

圖 6.24: DSP 流程示意圖(分解式增強
在這里插入圖片描述

圖 6.25: TOC 框架流程示意圖(漸進式增強
在這里插入圖片描述

.

6.4.4 降本增效

檢索出的外部知識通常包含大量原始文本。將其通過 Prompt 輸入給大語言模型時,會大幅度增加輸入 Token 的數量,從而增加了大語言模型的推理計算成本。

此問題可從去除冗余文本復用計算結果兩個角度進行解決。

1)去除冗余文本

去除冗余文本的方法通過對檢索出的原始文本的詞句進行過濾,從中選擇出部分有益于增強生成的部分。

去除冗余文本的方法主要分為三類:

  • Token級別的方法:

  • 子文本級別的方法;

  • 全文本級別的方法。

(1)Token級別的壓縮方法

通過評估Token的困惑度來剔除冗余信息。困惑度低的Token表示信息量少,可能是冗余的;困惑度高的Token則包含更多信息。LongLLMLingua框架利用小模型計算困惑度,首先進行粗粒度壓縮,通過文檔的困惑度均值評估其重要性;然后進行細粒度壓縮,逐個Token評估并刪除低困惑度的Token。此外,該方法還引入了文檔重排序、動態壓縮比率子序列恢復機制,以確保重要信息被有效保留。

(2)子文本級別方法通過

評估子文本的有用性進行成片刪除。FITRAG方法利用雙標簽子文檔打分器,從事實性模型偏好兩個維度評估子文檔。具體步驟為:滑動窗口分割文檔,雙標簽打分器評分,最后刪除低評分子文檔以去除冗余。

(3)全文本級別方法:

通過訓練信息提取器直接從文檔中抽取出重要信息以去除冗余。PRCA方法分為兩個階段:

  • 上下文提取階段:通過監督學習最小化壓縮文本與原始文檔的差異,訓練提取器將文檔精煉為信息豐富的壓縮文本。

  • 獎勵驅動階段:利用大語言模型作為獎勵模型,根據壓縮文本生成答案與真實答案的相似度作為獎勵信號,通過強化學習優化提取器。

最終,經典方法PRCA能夠端到端地將輸入文檔轉化為壓縮文本,高效去除冗余信息。

2)復用計算結果

可以對計算必需的中間結果進行復用,以優化 RAG 效率。

(1)KV-cache 復用

在大語言模型推理自回歸過程中,每個 Token 都要用之前 Token 注意力模塊的 Key 和 Value 的結果。為避免重新計算,我們將之前計算的 Key 和 Value 的結果進行緩存(即 KV-cache),在需要是直接從 KV-cache 中調用。

然而,隨著輸入文本長度的增加,KV-cache 的 GPU 顯存占用會顯著增加,甚至超過模型參數的顯存占用。

圖 6.26: RAGCache 框架流程示意圖
在這里插入圖片描述

不過,RAG 中不同用戶查詢經常檢索到相同的文本,而且常見的查詢通常數量有限。因此,我們可以將常用的重復文本的 KV-cache 進行復用。基于此,RAGCache 設計了一種 RAG 系統專用的多級動態緩存機制,核心部分:

  • KV 張量緩存庫:采用樹結構來緩存所計算出的文檔 KV 張量,其中每個樹節點代表一個文檔;

  • 緩存檢索器:負責在緩存庫中快速查找是否存在所需的緩存節點;

  • RAG 控制器:作為系統的策略中樞,負責制定核心的緩存策略。

為優化 RAG 性能,RAG 控制器采用了以下策略:

  • PGDSF 替換策略:通過綜合考慮文檔的訪問頻率、大小、訪問成本和最近訪問時間,優化頻繁使用文檔的檢索效率。

  • 重排策略:調整請求處理順序,優先處理高緩存利用率的請求,減少重新計算的需求。

  • 動態推測流水線策略:并行執行 KV 張量檢索和模型推理,降低端到端延遲。

.


其他參考:【大模型基礎_毛玉仁】系列文章


聲明:資源可能存在第三方來源,若有侵權請聯系刪除!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900023.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900023.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900023.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Leetcode 合集 -- 排列問題 | 遞歸

題目1 子集2 思路 代碼 題目2 全排列2 思路 代碼 題目3 排列總和 思路 代碼 題目4 排列總和2 思路 代碼

vue-office 支持預覽多種文件(docx、excel、pdf、pptx)預覽的vue組件庫

官網地址:https://github.com/501351981/vue-office 支持多種文件(docx、excel、pdf、pptx)預覽的vue組件庫,支持vue2/3。也支持非Vue框架的預覽。 1.在線預覽word文件(以及本地上傳預覽) 1.1:下載組件庫 npm inst…

【trino】trino配置證書https tls/ssl訪問

trini版本470 一、官方文檔 doc 在Security/TLS and HTTPS、Security/PEM files和Security/JKS files下 openssl文檔 二、配置trino 2.1 創建server.cnf文件 [ req ] distinguished_name req_distinguished_name req_extensions v3_req[ req_distinguished_name ] coun…

ZCC8702,LED驅動芯片的“六邊形戰士”可替代SY8707

在LED照明的璀璨舞臺上,驅動芯片猶如幕后英雄,默默掌控著燈光的閃耀與變幻。ZCC8702作為一款集大成的LED驅動芯片,憑借其卓越的性能、廣泛的應用范圍和出色的穩定性,成為了這個領域中當之無愧的“六邊形戰士”。今天,就…

Vue 數據傳遞流程圖指南

今天,我們探討一下 Vue 中的組件傳值問題。這不僅是我們在日常開發中經常遇到的核心問題,也是面試過程中經常被問到的重要知識點。無論你是初學者還是有一定經驗的開發者,掌握這些傳值方式都將幫助你更高效地構建和維護 Vue 應用 目錄 1. 父…

Git Restore 命令詳解與實用示例

文章目錄 Git Restore 命令詳解與實用示例1. 恢復工作區文件到最后一次提交的狀態基本命令示例恢復所有更改 2. 恢復某個文件到特定提交的狀態基本命令示例 3. 恢復暫存區的文件基本命令示例恢復所有暫存的文件 git restore 的常見選項git restore 與 git checkout 比較總結 Gi…

AI 防口誤指南_LLM 輸出安全實踐

在數字化轉型的浪潮中,大語言模型(以下統稱LLM)已成為企業技術棧中不可或缺的智能組件,這種強大的AI技術同時也帶來了前所未有的安全挑戰。它輸出的內容如同雙面刃,一面閃耀著效率與創新的光芒,另一面卻隱藏著"幻覺"與不…

程序化廣告行業(55/89):DMP與DSP對接及數據統計原理剖析

程序化廣告行業(55/89):DMP與DSP對接及數據統計原理剖析 大家好呀!在數字化營銷的大趨勢下,程序化廣告已經成為眾多企業實現精準營銷的關鍵手段。上一篇博客我們一起學習了程序化廣告中的人群標簽和Look Alike原理等知…

運維之 Centos7 防火墻(CentOS 7 Firewall for Operations and Maintenance)

運維之 Centos7 防火墻 1.介紹 Linux CentOS 7 防火墻/端口設置: 基礎概念: 防火墻是一種網絡安全設備,用于監控和控制網絡流量,以保護計算機系統免受未經授權的訪問和惡意攻擊。Linux CentOS 7操作系統自帶了一個名為iptables的…

第十五屆藍橋杯大賽軟件賽省賽Python 大學 C 組題目試做(下)【本期題目:砍柴,回文字符串】

okk,大伙,這一期我們就把C組的題目刷完。 本期題目:砍柴,回文字符串 文章目錄 砍柴題目思路分析舉個栗子思路總結 代碼 回文字符串題目思路分析代碼 感謝大伙觀看,別忘了三連支持一下大家也可以關注一下我的其它專欄&a…

Design Compiler:庫特征分析(ALIB)

相關閱讀 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 簡介 在使用Design Compiler時,可以對目標邏輯庫進行特征分析,并創建一個稱為ALIB的偽庫(可以被認為是緩存)&…

MySQL索引原理:從B+樹手繪到EXPLAIN

最近在學后端,學到了這里做個記錄 一、為什么索引像書的目錄? 類比:500頁的技術書籍 vs 10頁的目錄缺點:全表掃描就像逐頁翻找內容優點:索引將查詢速度從O(n)提升到O(log n) 二、B樹手繪課堂 1. 結構解剖&#xff0…

全連接RNN反向傳播梯度計算

全連接RNN反向傳播梯度計算 RNN數學表達式BPTT(隨時間的反向傳播算法)參數關系網絡圖L對V的梯度L對U的梯度L對W和b的梯度 RNN數學表達式 BPTT(隨時間的反向傳播算法) 參數關系網絡圖 L對V的梯度 L對U的梯度 L對W和b的梯度

C++高效讀取大規模文本格式點云(windows)

需使用VS2017及以上版本&#xff0c;C語言標準選擇C17&#xff0c;支持OpenMP。 執行效率明顯優于ifstream stof。 // 點云數據結構 struct PointXYZ {std::array<float, 3> coord; };float string_to_float_fast(const std::string& str) {float value;auto [p…

【Linux】進程信號的捕捉處理

個人主頁~ 進程信號的捕捉處理 一、信號捕捉處理的概述1、信號捕捉處理全過程2、用戶態和內核態的區別&#xff08;一&#xff09;用戶態&#xff08;二&#xff09;內核態&#xff08;三&#xff09;用戶態與內核態的切換&#xff08;四&#xff09;硬件條件 二、再談進程地址…

Nyquist內置函數-概述

1 Nyquist內置函數-概述 本章提供奈奎斯特&#xff08;Nyquist&#xff09;語言參考。操作按功能和抽象級別分類。奈奎斯特在兩個重要級別上實現&#xff1a;“高級”級別支持行為抽象&#xff0c;這意味著像 stretch 和 at 這樣的操作可以應用。這些函數是典型用戶期望使用的…

數據驅動防災:AI 大模型在地質災害應急決策中的關鍵作用。基于DeepSeek/ChatGPT的AI智能體開發

全球氣候變化加劇了滑坡、泥石流等地質災害的發生頻率與不確定性&#xff0c;傳統基于統計與物理模型的預測方法常受限于?數據稀疏性?與?動態耦合復雜性?。近年來&#xff0c;AI智能體&#xff08;AI Agents&#xff09;與大型語言模型&#xff08;LLMs&#xff09;的突破為…

光譜相機在工業中的應用

光譜相機&#xff08;多光譜、高光譜、超光譜成像技術&#xff09;在工業領域通過捕捉物質的光譜特征&#xff08;反射、透射、輻射等&#xff09;&#xff0c;結合化學計量學與人工智能算法&#xff0c;為工業檢測、質量控制和工藝優化提供高精度、非接觸式的解決方案。以下是…

Dify工作流中如何去除deepseek-r1思考內容

在工作流中deepseek-r1的think標簽內部的內容&#xff0c;很容易讓工作流其他的llm產生幻覺&#xff0c;導致不能良好的生成目標效果。 我們通過代碼的方式讓deepseek-r1既有think思考鏈的效果&#xff0c;又不傳遞思考鏈。 工作流的邏輯為上圖 去除think中的代碼為 import re…

容器的CPU

1、限制進程的CPU 通過Cgroup來限制進程資源的使用&#xff0c;CPU Cgroup 是 Cgroups 其中的一個 Cgroups 子系統&#xff0c;它是用來限制進程的 CPU 使用的。 cpu.cfs_period_us&#xff0c;它是 CFS 算法的一個調度周期&#xff0c;一般它的值是 100000&#xff0c;以 mic…