14-57 劍和詩人31 - LLM/SLM 中的高級 RAG

???

14-57 劍和詩人31 - LLM/SLM 中的高級 RAG

首先確定幾個縮寫的意思

SLM 小模型

LLM 大模型

檢索增強生成 (RAG) 已成為一種增強語言模型能力的強大技術。通過檢索和調整外部知識,RAG 可讓模型生成更準確、更相關、更全面的文本。

RAG 架構主要有三種類型:簡單型、模塊化和高級 RAG:

Naive RAG 采用 GPT-3 這樣的單片模型,并簡單地根據檢索到的證據段落對其進行條件化,將其附加到輸入上下文中。這種方法很簡單,但存在效率和一致性問題。

模塊化 RAG 將系統分解為顯式檢索器、重新排序器和生成器模塊。這提供了更大的靈活性和專業化。

高級 RAG 通過高階檢索器、跨編碼器重排器和證據處理架構等創新進一步增強了每個模塊。它提高了準確性和可擴展性。

我將重點分析高級 RAG 系統中的創新并評估適應性。讓我分享用于大型語言模型 (LLM) 和小型語言模型 (SLM) 的高級 RAG 技術。我首先解釋 RAG 框架的基礎知識 — 如何結合檢索和生成模塊來利用外部知識。接下來,我將深入探討 RAG 系統三個主要組件的最新創新:檢索器模塊、重新排序器模塊和生成器模塊。

對于每項創新,我都會重點介紹適用于具有數十億個參數的大型 Transformer 模型以及更小、更高效的模型的適應性。我會分析準確度和效率之間的權衡,并討論哪些技術最適合哪些模型。我還研究了針對不同 RAG 組件使用不同模型大小的混合方法。

通過本次分享,您將深入了解使用 LLM 和 SLM 開發高性能可擴展 RAG 系統的先進技術和注意事項。內容旨在綜合最近的研究成果,并為構建真實 RAG 應用程序的工程師和研究人員提供技術深度和實踐指導。

RAG 框架基礎知識

從高層次來看,RAG 系統包含三個關鍵模塊:

  1. 檢索器——從知識源中檢索與上下文相關的文本段落
  2. 重新排序器(可選)——對檢索到的段落進行重新評分和排序
  3. 生成器——將上下文與檢索到的段落相結合以生成輸出文本

14-57 劍和詩人31 - LLM/SLM 中的高級 RAG

總體流程如下:

檢索器根據上下文從知識源中識別相關段落。重新排序器可選擇對這些段落進行評分和重新排序。最后,生成器根據上下文和檢索到的段落生成包含外部知識的輸出文本。

RAG 系統利用外部文本知識來增強語言生成。知識來源可以包括維基百科文章、新聞檔案、領域特定語料庫或與生成任務相關的任何文本內容集合。

通過根據檢索到的證據對生成進行調節,模型可以減少幻覺,更準確地回答問題,并生成更具信息性和相關性的文本。輸出會通過外部知識得到增強。

接下來,我們將深入研究每個 RAG 模塊內的創新,分析準確性和效率之間的權衡,并重點介紹針對 LLM 以及更高效的 SLM 定制的技術。

獵犬模型的創新

檢索模塊負責根據上下文識別相關的外部知識。關鍵目標是高召回率——即使并非所有檢索都會在最終輸出中使用,也要檢索出可能相關的段落。

常見的檢索器架構包括雙編碼器和稀疏模型。雙編碼器檢索器分別對上下文和段落進行編碼,并根據向量相似性對段落相關性進行評分。稀疏檢索器根據詞匯匹配信號直接估計相關性概率。

最近的創新提高了 LLM 和 SLM 的檢索準確性和效率:

知識增強型雙編碼器標準雙編碼器檢索器獨立編碼查詢和段落,而不對它們的相互作用進行建模。這限制了性能,因為相關性信號僅取決于向量相似性。

知識增強型雙編碼器在編碼過程中應用上下文和段落之間的交叉注意力來明確地模擬交互。這可以改善相關性匹配,尤其是對于長查詢或復雜查詢。

對于 LLM,對每段摘錄應用自注意力池和可選的自注意力可以進一步改善結果。然而,注意力仍然分別應用于查詢和段落。

另外,ColBERT 模型在編碼過程中交錯查詢和段落標記,因此注意力可以直接學習交互。性能顯著提高,但內存和計算需求也大幅增加。

對于更高效的 SLM,多編碼器等方法在平衡準確性和效率的同時顯示出強大的效果。查詢使用雙編碼器進行編碼。段落使用交叉編碼器進行編碼,該編碼器以雙編碼器輸出的查詢摘要向量為條件。這種輕量級設計減少了計算量,同時保留了強大的相關性匹配能力。

詞權重優化 在稀疏檢索中,相關性匹配取決于詞匯詞權重方案。ANCE 和 ANS 等高級優化器會根據反饋數據自動學習增加重要詞的權重并降低不相關詞的權重。

對于 LLM,詞匯信號的密集近似,然后進行降維和調優,也可以提高性能。但是,存儲大小和延遲會增加。極端方法編碼、壓縮、標記化 (ECT) 最適合大規模模型,但需要進行大量基礎設施優化。

對于 SLM,直接基于 bandit 反饋優化術語權重效果很好。通過在調整之前從簡單但快速的啟發式函數初始化權重,可以進一步提高收益。在檢索過程中使用近似最近鄰搜索也可以降低計算成本。

語義詞匹配的集成雙編碼器和稀疏模型主要依賴于詞匯詞匹配信號。通過額外建模查詢和段落之間的語義相關性可以提高性能。

Condenser 等方法將密集嵌入相似性搜索有效地集成到稀疏檢索管道中。基于知識增強型雙編碼器的嵌入增強還可以改善長格式查詢的語義相關性建模。

對于 LLM,最大內積搜索可以有效地通過語義嵌入向量對段落進行索引,同時保持亞線性查詢效率。然而,編碼器大小、索引延遲和索引大小對操作化提出了挑戰。

對于 SLM,輕量級嵌入增強效果很好。使用單獨的、更快的編碼器進行檢索而不是生成可以提高整體工作流程效率。基于量化的近似搜索還可以平衡準確性和性能。

重新排序創新

雖然許多 RAG 系統僅使用單個檢索器就能取得很好的效果,但帶有重新排序器的級聯架構可以靈活地在準確度、延遲和成本之間進行權衡。重新排序器會重新評分初始檢索結果,并專注于對最終生成最有用的高精度段落。

交叉編碼器 標準雙編碼器檢索器缺乏深度建模查詢-段落交互的能力。像 ColBERT 這樣的交叉編碼器明確編碼上下文與每個段落的串聯,以學習更豐富的相關性模式。

大型 Transformer LM 重排器表現出強勁的增益,但需要對每個查詢-段落對進行獨立編碼。多編碼器通過使用查詢條件向量在段落間共享計算來提高效率。

對于 LLM,完全交叉編碼器可以最大程度地提高準確率,但計算成本較高。多編碼器效率改進有所幫助,但仍然需要大型模型編碼標記化編碼設計在索引期間僅對段落進行一次編碼,然后根據預編譯索引對編碼查詢進行評分。

為了提高 SLM 的效率,一種成功的模式是使用大型語言模型作為初始檢索器,然后使用模型大小小 3-10 倍的 Poly-Encoder 重新排序器。這提供了良好的準確率-效率平衡。

弱監督擴展

跨編碼器式窮舉搜索對計算的要求很高。弱監督排名損失允許高效地訓練模型,僅通過一次前向傳遞即可對查詢段落兼容性進行評分。

從規模上看,基于語境化術語替換的自監督預訓練有助于進一步引導相關性模型。預訓練模型還可以通過僅提供幾個特定領域的示例來快速適應新領域。

對于 LLM,預訓練帶來的收益有限,因為監督微調已經得到高度優化。收益來自架構調整,例如使用 softmax 溫度來校準不確定性。

對于 SLM,預訓練可以顯著提高準確率和樣本效率。它還可以使用更高效的架構,專門用于評分而非生成。

專門的重排序架構

除了調整模型大小和預訓練之外,專門的架構還可以提高重新排序的效率。

例如,預測器-估計器模型使用小型神經網絡來預測相關性標簽。預測結果被輸入到輕量級邏輯回歸估計器中,以獲得經過良好校準的分數。通過將完全交叉注意力限制在預測器上,整體計算量大大減少,同時保留了較高的相關性估計值。

對于 LLM,極端方法是使用生成器 LLM 本身作為排序器。準確率最大化,但計算成本極高,完全抵消了級聯架構的效率提升。

對于 SLM,專門的高效排序器架構效果很好。關鍵是避免使用標準 LLM Transformer,而采用輕量級、無 dropout 且具有專門的自注意力池的模型。這些模型在準確率和高吞吐量之間實現了最佳平衡。

發電機模型的創新

生成器模塊吸收上下文以及檢索到的相關段落,并生成增強了外部知識的輸出文本。

融合方法決定如何組合和呈現檢索到的證據,而調節技術允許將這些融合的輸入集成到生成過程中。架構創新也繼續提高集成的有效性和效率。

證據融合

融合時,決策包括:

  1. 保留多少段落
  2. 每段提取多少內容
  3. 是否串聯段落或單獨呈現
  4. 如何對不同段落進行加權或排序

對于大語言模型來說,準確性重點在于融合方法。所有檢索到的內容都會被納入,以最大限度地發揮潛在證據的作用。完整的段落會帶來虛假事實的風險,因此截斷是有幫助的,盡管它會丟棄可能有用的上下文。

對于 SLM 來說,效率更為重要。嚴格提煉為幾句話可確保簡明、相關的條件。排名和權重可進一步提高質量。關鍵事實應清晰地匯編,而不會丟失重要的檢索知識。

空調設計

在生成過程中,檢索到的證據也需要適當的上下文整合。基本方法是在編碼之前將證據段落與輸入上下文連接起來。

然而,證據可能會掩蓋原始背景或帶來冗余信息。高級解決方案可提高整合的連貫性。

對于 LLM,工作記憶架構很有前景。外部知識與上下文分開編碼,然后通過基于注意力的記憶讀寫進行解碼。這避免了在證據編碼期間覆蓋原始上下文狀態。

對于 SLM,輕量級實體鏈接可提供補充,而不會產生覆蓋風險。將上下文實體鏈接到相關段落可實現以實體為中心的增強,而不會破壞上下文表示。

效率優化架構

除了融合和調節之外,整體 RAG 生成器架構也會影響效率。權衡準確度與吞吐量和成本。

編碼-操作方法通過在索引期間僅對證據進行一次編碼,然后在生成請求期間操作表示來優化效率。然而,操作函數通常很簡單,限制了表達能力。

對于 LLM,架構優化更注重準確性而非效率。多個預訓練 Transformer 鏈提供了強大的結果,但需要將生成分解為跨多個模型實例的復雜管道。

對于 SLM 來說,效率至關重要。具有查詢鍵分解和條件查詢嵌入的共享規范化架構可在生成請求期間實現證據的單次編碼。權重也可以專門用于每個操作,而不會導致參數爆炸。

這些架構創新最大限度地提高了速度和成本效率,同時保留了通過索引證據增強的令人驚訝的強大生成能力。

具有異構模型的混合 RAG

到目前為止,我僅討論了針對 LLM 或 SLM 量身定制的創新。然而,現代 RAG 解決方案實際上集成了混合架構中利用大型和小型模型的混合搭配組件。

LLM 可最大程度提高關鍵階段的準確性,然后將壓縮后的輸出傳遞到更高效的 SLM 中進行后續操作。這實現了質量和效率的優化融合。

例如,初始檢索可能會利用 LLM 實現最大召回率。最相關的結果由中型模型重新排序,然后最頂部的段落被輸入到專業的 SLM 中進行最終集成。某些 SLM 還專門處理特定內容形式,例如長文檔、表格和列表,以最大限度地提高集成一致性。

這種混合方法平衡了準確性和吞吐量。它還通過維護較大的模型(主要用于離線索引)來優化成本,然后利用高效的模型進行高吞吐量計算。針對不同任務的專業化可以避免不必要的抽象和過度參數化。

最終結果是高性能 RAG 解決方案,可提供針對實際生產用例定制的強大準確性和可擴展性 – LLM 質量和 SLM 效率的最佳結合。

關鍵要點

讓我們回顧一下 LLM 和 SLM 的高級 RAG 技術的關鍵課程:

  • RAG 通過外部知識檢索補充語言模型,以提高生成的準確性、相關性和信息覆蓋率
  • 檢索器創新增強了長格式查詢和關鍵字查詢的詞匯、語義和上下文相關性匹配信號
  • 重排器架構專注于使用結合預訓練、模型大小和網絡架構的策略進行精度相關性預測
  • 生成器使用截斷、蒸餾、加權、工作記憶和實體基礎技術順利地融合積分外部證據
  • 混合 RAG 系統融合了可最大限度提高質量的 LLM 和可實現可擴展性和吞吐量的高效 SLM

我討論了檢索、排名和生成模塊中的各種技術——重點強調了網絡規模和架構的適應性。

通過結合查詢理解、證據選擇、上下文集成和輸出生成方面的創新,現代 RAG 提供了非常強大的結果,釋放了為下一代應用程序提供動力所需的外部知識。

隨著工業研究和學術進步的不斷快速發展。我希望我的分析能夠為先進技術的整合提供有益的指導原則,以繼續在高級大語言模型和更高效的法律碩士領域進行創新。

14-57 劍和詩人31 - LLM/SLM 中的高級 RAG

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

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

相關文章

性能測試的流程(企業真實流程詳解)(二)

性能測試的流程 1.需求分析以及需求確定(指標值,場景,環境,人員) 一般提出需求的人員有:客戶,產品經理,項目組領導等 2.性能測試計劃和方案制定 基準測試: 負覡測試: 壓力測試: 穩定性測試: 其他:配置測試…

Git安裝使用教程

# 《Git 操作使用教程》 一、Git 簡介 Git 是一個分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。它讓開發者可以輕松地跟蹤代碼的更改、與團隊成員協作,并管理項目的不同版本。 二、安裝 Git 在 Windows 系統上,可以從 Git 官…

刷題Day47|1143.最長公共子序列、1035.不相交的線、53. 最大子序和、

1143.最長公共子序列 1143. 最長公共子序列 - 力扣(LeetCode) 思路:dp數組含義是以i-1和j-1為結尾的最長公共子序列。當text1[i - 1] text2[i - 1], dp[i][j] dp[i - 1][j - 1] 1; 否則dp[i][j] max(dp[i - 1][j], dp[i][j - 1]); 因為兩…

無法連接Linux遠程服務器的Mysql,解決辦法

問題描述 如果是關閉虛擬機之后,二次打開無法連接Mysql,則可嘗試一下方法進行解決 解決方法 關閉虛擬機的防火墻 1:查看防火墻狀態 systemctl status firewalld 一下顯示說明防火墻是啟動的狀態 2:關閉防火墻 systemctl st…

git提交emoji指南

emoji 指南 emojiemoji 代碼commit 說明🎉 (慶祝)tada初次提交? (火花)sparkles引入新功能🔖 (書簽)bookmark發行/版本標簽🐛 (bug)bug修復 bug🚑 (急救車)ambulance重要補丁🌐 (地球)globe_with_meridians國際化與本…

PTA - 編寫函數計算圓面積

題目描述: 1.要求編寫函數getCircleArea(r)計算給定半徑r的圓面積,函數返回圓的面積。 2.要求編寫函數get_rList(n) 輸入n個值放入列表并將列表返回 函數接口定義: getCircleArea(r); get_rList(n); 傳入的參數r表示圓的半徑&#xff0c…

音視頻解封裝demo:將FLV文件解封裝(demux)得到文件中的H264數據和AAC數據(純手工,不依賴第三方開源庫)

1、README 前言 注意:flv是不支持h.265封裝的。目前解封裝功能正常,所得到的H.264文件與AAC文件均可正常播放。 a. demo使用 $ make clean && make DEBUG1 $ $ $ ./flv_demux_h264_aac Usage: ./flv_demux_h264_aac avfile/test1.flv./flv_d…

壓縮感知1——算法簡介

傳統的數據采集 傳統的數字信號采樣定律就是有名的香農采樣定理,又稱那奎斯特采樣定律定理內容如下:為了不失真地恢復模擬信號,采樣頻率應該不小于模擬信號頻譜中最高頻率的2倍 上述步驟得到的數字信號的數據量比較大,一方面不利…

C語言程序題(一)

一.三個整數從大到小輸出 首先做這個題目需要知道理清排序的思路,通過比較三個整數的值,使之從大到小輸出。解這道題有很多方法我就總結了兩種方法:一是通過中間變量比較和交換,二是可以用冒泡排序法(雖然三個數字排序…

車載聚合路由器應用場景分析

乾元通QYT-X1z車載式1U多卡聚合路由器,支持最多8路聚合,無論是應急救援,還是車載交通,任何寬帶服務商無法覆蓋的區域,聚合路由器可提供現場需要的穩定、流暢、安全的視頻傳輸網絡,聚合路由器可無縫接入應急…

Dify中的weaviate向量數據庫操作

一.安裝weaviate客戶端 1.Dify 0.6.9中weaviate信息 在Dify 0.6.9版本中weaviate容器信息如下: # The Weaviate vector store. weaviate:image: semitechnologies/weaviate:1.19.0restart: alwaysvolumes:# Mount the Weaviate data directory to the container.- ./volume…

【操作系統】進程管理——信號量機制(個人筆記)

學習日期:2024.7.9 內容摘要:信號量機制,用信號量實現進程的同步與互斥 信號量機制 信號量的概念 在上節內容中,我們學習了進程互斥的軟件和硬件解決方案,但這些方案都有各自的問題,雙標志法都因為檢查和…

【自用】【高昆輪概率論與數理統計筆記】2.1 分布函數的概念與性質

不定期更新,前面的章節會在學完后補回來,重新學學概率,當年考研考的數學二,沒有概率基礎,想自己補補,視頻課是高昆輪老師講的浙大四版概率論教材的視頻課,地址: 第一章:h…

數據庫MySQL---基礎篇

存儲和管理數據的倉庫 MySQL概述 數據庫相關概念 數據庫(DataBase)---數據存儲的倉庫,數據是有組織的進行存儲 數據庫管理系統(DBMS)-----操縱和管理數據庫的大型軟件 SQL----操作關系型數據庫的編程語言&#xff…

Python:安裝/Mac

之前一直陸陸續續有學python!今天開始!正式開肝!!! 進入網站:可能會有點慢,多開幾個網頁 https://www.python.org 點擊下載,然后進入新的頁面,往下滑 來到File&#xff0…

實時溫濕度監測系統:Micropython編碼ESP32與DHT22模塊的無線數據傳輸與PC端接收項目

實時溫濕度監測系統 前言項目目的項目材料項目步驟模擬ESP32接線連接測試搭建PC端ESP32拷錄環境對ESP32進行拷錄PC端搭建桌面組件本地數據接收桌面小組件部分 實驗總結 前言 人生苦短,我用Python。 由于我在日常工作中經常使用Python,因此在進行該項目…

基于java+springboot+vue實現的校園二手書交易平臺(文末源碼+Lw)287

摘 要 信息數據從傳統到當代,是一直在變革當中,突如其來的互聯網讓傳統的信息管理看到了革命性的曙光,因為傳統信息管理從時效性,還是安全性,還是可操作性等各個方面來講,遇到了互聯網時代才發現能補上自…

Vue中v-for和v-if優先級(2、3)

Vue中v-for和v-if優先級(2、3) Vue2 在Vue2當中,v-for優先級要優于v-if,也就是說,當它倆同時沿用時,v-for先遍歷,v-if再判斷。 Vue2源碼位置 \vue-dev\src\compiler\codegen\index.js export function genElement…

如何構建數據驅動的企業?爬蟲管理平臺是關鍵橋梁嗎?

一、數據驅動時代:為何選擇爬蟲管理平臺? 在信息爆炸的今天,數據驅動已成為企業發展的核心戰略之一。爬蟲管理平臺,作為數據采集的第一站,它的重要性不言而喻。這類平臺通過自動化手段,從互聯網的各個角落…

windows的遠程桌面連接docker

1. Docker容器中運行遠程桌面服務 (RDP):您的Docker容器需要安裝和運行遠程桌面服務。通常,遠程桌面服務在Windows操作系統上可用。如果您使用的是Linux容器,則需要安裝一個支持RDP協議的桌面環境和RDP服務器。 2. 開放RDP端口:通…