国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【高級(jí)RAG技巧】使用二階段檢索器平衡檢索的效率和精度

這篇具有很好參考價(jià)值的文章主要介紹了【高級(jí)RAG技巧】使用二階段檢索器平衡檢索的效率和精度。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一 傳統(tǒng)方法

之前的文章已經(jīng)介紹過(guò)向量數(shù)據(jù)庫(kù)在RAG(Retrieval Augmented Generative)中的應(yīng)用,本文將會(huì)討論另一個(gè)重要的工具-Embedding模型。
【高級(jí)RAG技巧】使用二階段檢索器平衡檢索的效率和精度

一般來(lái)說(shuō),構(gòu)建生產(chǎn)環(huán)境下的RAG系統(tǒng)是直接使用Embedding模型對(duì)用戶輸入的Query進(jìn)行向量化表示,并且從已經(jīng)構(gòu)建好的向量數(shù)據(jù)庫(kù)中檢索出相關(guān)的段落用戶大模型生成。但是這種方法很明顯會(huì)受到Embedding模型性能的影響,比如是否支持多語(yǔ)言、跨語(yǔ)言檢索、訓(xùn)練數(shù)據(jù)的質(zhì)量等。因此,以改進(jìn)Embedding模型為目標(biāo)提升RAG系統(tǒng)性能一般會(huì)有兩種做法:

方法1,在使用向量模型獲取密集向量后,再使用Cross-encoder作為精排模型,對(duì)第一次召回的結(jié)果進(jìn)行重排,以提高最終結(jié)果的質(zhì)量。
方法2,使用稀疏向量搭配密集向量進(jìn)行召回。密集向量即對(duì)整個(gè)文本進(jìn)行向量化表示產(chǎn)生的向量,稀疏向量則是對(duì)原始文本的編碼表示,如TF-IDF,BM25等。其中,稀疏向量可以幫助識(shí)別和捕捉特定的語(yǔ)義信息,比如文本中的關(guān)鍵詞,而密集向量則可以提供更豐富的語(yǔ)義表達(dá),是通過(guò)大量長(zhǎng)文本學(xué)習(xí)而來(lái)的。通過(guò)同時(shí)將這兩種向量進(jìn)行召回,可以獲得更豐富、更全面的信息,從而提升 RAG 的效果。

方法1和方法2既可以獨(dú)立使用,也可以搭配使用,這就大大增加了算法工程師的武器庫(kù),通過(guò)搭積木的方式來(lái)提高RAG系統(tǒng)的效果。

二 Reranker模型剖析

本文主要討論二階段檢索的方法,對(duì)于稀疏向量的討論不在本文范圍之內(nèi)。

使用精排模型的原因

原因之一,向量數(shù)據(jù)庫(kù)中存儲(chǔ)大量的向量數(shù)據(jù),而想要從大量數(shù)據(jù)中精確地檢索出最相似的向量勢(shì)必會(huì)帶來(lái)極大的延遲,這在任何應(yīng)用中都是無(wú)法接受的,因此向量數(shù)據(jù)庫(kù)一般都會(huì)通過(guò)建立索引來(lái)優(yōu)化查找過(guò)程,這實(shí)際上是一種近似檢索而非精確檢索,是準(zhǔn)確與效率的折衷方案。如果數(shù)據(jù)庫(kù)中沒(méi)有那么多的向量,或者全表檢索的時(shí)間損耗能夠接受,則完全沒(méi)必要用近似檢索,但這在實(shí)際生產(chǎn)系統(tǒng)中是不可能的。

其二,LLM受限于上下文長(zhǎng)度的限制,所以能利用到的向量片段數(shù)量是有限的,盡管現(xiàn)在越來(lái)越多的研究使得LLM的上下文窗口越來(lái)越長(zhǎng),如改進(jìn)位置編碼或者注意力機(jī)制等,但也有實(shí)驗(yàn)表明再長(zhǎng)的上下文輸入給大模型總會(huì)由遺失或者處理不好的情況,稱為“Lost in middle”現(xiàn)象。因此,更好的辦法是把更有用的上下文篩選出來(lái),重點(diǎn)在于提升質(zhì)而不是量。

精排模型結(jié)構(gòu)

下面有兩個(gè)模型,分別是Bi-Encoder和Cross-Encoder。左邊的Bi-Encoder實(shí)際上就是我們常見(jiàn)的向量化模型,需要注意的是模型的結(jié)構(gòu)并不是有2個(gè)Bert,而是只有1個(gè)Bert模型,但是對(duì)于兩個(gè)句子分別做了向量化表示,最終比較這兩個(gè)向量的相似度。這里‘Bi’表示的是處理的過(guò)程,而不是實(shí)際的結(jié)構(gòu)。

【高級(jí)RAG技巧】使用二階段檢索器平衡檢索的效率和精度

而精排模型用到的Cross-Encoder結(jié)構(gòu)則是把兩個(gè)句子的輸入concat到一起,最終預(yù)測(cè)這兩個(gè)句子是否相關(guān),有點(diǎn)類似于Bert訓(xùn)練時(shí)的next sentence prediction(NSP)。不難發(fā)現(xiàn),這實(shí)際上就是一個(gè)分類模型,而且并不會(huì)產(chǎn)生具體的向量表示,只會(huì)產(chǎn)生一個(gè)介于0和1之間的值,用于表示句子對(duì)的相似性。而且,在使用時(shí),需要將Query與待查詢的句子拼接到一起再輸入給模型,所以這就決定了輸入的句子對(duì)數(shù)量不能太多,否則帶來(lái)的計(jì)算耗時(shí)將會(huì)是無(wú)法估量的。

精排模型的本質(zhì)

直觀上來(lái)講,用Bi-Encoder“目的更加通用”,是為了得到輸入的向量化表示,這些向量不僅有大小,還有方向,因此就有這么一個(gè)學(xué)習(xí)向量化時(shí)遇到的經(jīng)典例子:$國(guó)王-男人=女王-女人$。

而使用了Cross-Encoder的精排模型,因?yàn)檩斎氩糠职藘蓚€(gè)原始的句子,因此是從文本空間直接表示句子的相似度,而不是到了向量空間再表示。具體而言就是:傳統(tǒng)的向量是經(jīng)過(guò)了模型輸出之后再根據(jù)不同的算子計(jì)算向量之間的相似度,而這個(gè)模型是句子對(duì)由模型得到端到端的結(jié)果。

能否再使用一次向量比較?或者說(shuō)一階段后再對(duì)檢索出的向量計(jì)算精確的相似度有意義嗎?
意義不大。因?yàn)檫@時(shí)候就算再計(jì)算精確的向量相似度,也只是在經(jīng)過(guò)轉(zhuǎn)換后的向量空間進(jìn)行比較,因?yàn)檫@個(gè)空間比較“通用”,必定有所損失,無(wú)法在某種程度上準(zhǔn)確表示所有的向量。

精排模型為什么準(zhǔn)呢?
如前面說(shuō)的,Bi-Encoder必須將所有的文檔都映射到一個(gè)向量中,這個(gè)過(guò)程會(huì)丟失信息。而且,檢索時(shí)query和已有的向量是沒(méi)有交互的,是離線的狀態(tài),只是通過(guò)額外的相似度計(jì)算方法得到比較相似的向量,對(duì)query來(lái)說(shuō),缺乏必要的上下文信息。

而剛好精排模型是同時(shí)對(duì)兩個(gè)句子進(jìn)行編碼的,這時(shí)候?qū)uery來(lái)說(shuō)會(huì)含有上下文信息,而且從原始空間映射到隱空間是一個(gè)句子對(duì)而不是單獨(dú)的句子,也更保證最終得到的相似度包含用戶查詢的文檔信息。但是相對(duì)的,精排模型的結(jié)構(gòu)決定了它的計(jì)算是實(shí)時(shí)的,而且計(jì)算量會(huì)比單純的相似度計(jì)算大不少。

現(xiàn)有的精排模型

現(xiàn)有開(kāi)源的Reranker模型已經(jīng)非常多了,國(guó)內(nèi)比較出門的有Jina-8k、bge-reranker以及bce-reranker等,且更新得非???,目前看起來(lái)就是哪個(gè)最新用哪個(gè),基本差異不大。值得一提的是Jina的模型是基于Alibi改進(jìn)的注意力機(jī)制,所以能支持8K的上下文窗口,而bce本身只支持512k的上下文窗口,但是對(duì)較長(zhǎng)的上下文進(jìn)行切分,并且以其中一段最好的得分作為最終的相似度。bge模型沒(méi)看過(guò)源碼,等以后有時(shí)間針對(duì)這幾個(gè)模型再研究一番。

總結(jié)

雖然目前二階段方法用來(lái)提升RAG的性能表現(xiàn)越來(lái)越受到關(guān)注,但是具體來(lái)看,其中所含的技術(shù)都是早就有的內(nèi)容。Cross-Encoder這種架構(gòu)在當(dāng)時(shí)顯得比較雞肋,只能用來(lái)比較句子的相似度,甚至無(wú)法輸出向量,在大部分自然語(yǔ)言處理場(chǎng)景中都不受待見(jiàn),誰(shuí)能想到在如今又煥發(fā)生機(jī)了呢?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-858911.html

到了這里,關(guān)于【高級(jí)RAG技巧】使用二階段檢索器平衡檢索的效率和精度的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 大型語(yǔ)言模型RAG(檢索增強(qiáng)生成):檢索技術(shù)的應(yīng)用與挑戰(zhàn)

    檢索增強(qiáng)生成(RAG)系統(tǒng)通過(guò)結(jié)合傳統(tǒng)的語(yǔ)言模型生成能力和結(jié)構(gòu)化數(shù)據(jù)檢索,為復(fù)雜的問(wèn)題提供精確的答案。本文深入探討了RAG系統(tǒng)中檢索技術(shù)的工作原理、實(shí)現(xiàn)方式以及面臨的挑戰(zhàn),并對(duì)未來(lái)的發(fā)展方向提出了展望。 隨著大型預(yù)訓(xùn)練語(yǔ)言模型(LLMs)如GPT-3和BERT的出現(xiàn),

    2024年03月14日
    瀏覽(39)
  • Elasticsearch:什么是檢索增強(qiáng)生成 (RAG)?

    Elasticsearch:什么是檢索增強(qiáng)生成 (RAG)?

    檢索增強(qiáng)生成 (RAG) 是一種利用來(lái)自私有或?qū)S袛?shù)據(jù)源的信息來(lái)補(bǔ)充文本生成的技術(shù)。 它將旨在搜索大型數(shù)據(jù)集或知識(shí)庫(kù)的檢索模型與大型語(yǔ)言模型 (LLM) 等生成模型相結(jié)合,后者獲取該信息并生成可讀的文本響應(yīng)。 檢索增強(qiáng)生成可以通過(guò)添加來(lái)自其他數(shù)據(jù)源的上下文并通過(guò)培

    2024年02月04日
    瀏覽(20)
  • Elasticsearch:什么是檢索增強(qiáng)生成 - RAG?

    Elasticsearch:什么是檢索增強(qiáng)生成 - RAG?

    在人工智能的動(dòng)態(tài)格局中,檢索增強(qiáng)生成(Retrieval Augmented Generation - RAG)已經(jīng)成為游戲規(guī)則的改變者,徹底改變了我們生成文本和與文本交互的方式。 RAG 使用大型語(yǔ)言模型 (LLMs) 等工具將信息檢索的能力與自然語(yǔ)言生成無(wú)縫結(jié)合起來(lái),為內(nèi)容創(chuàng)建提供了一種變革性的方法。

    2024年02月08日
    瀏覽(20)
  • Elasticsearch使用msearch提高聚合效率(與search檢索對(duì)比)

    數(shù)據(jù)量共約3000萬(wàn)+,在使用es進(jìn)行term聚合的時(shí)候,發(fā)現(xiàn)執(zhí)行耗費(fèi)時(shí)間巨大,因此采用了msearch的檢索方式 多搜索接口編輯 多搜索 API 從單個(gè) API 請(qǐng)求執(zhí)行多個(gè)搜索。 請(qǐng)求的格式類似于批量 API 格式,并使用 換行符分隔的 JSON (NDJSON) 格式。 結(jié)構(gòu)類型于下 使用kibana進(jìn)行msearch操

    2024年02月12日
    瀏覽(23)
  • AI數(shù)據(jù)技術(shù)02:RAG數(shù)據(jù)檢索

    ????????在人工智能的動(dòng)態(tài)環(huán)境中,檢索增強(qiáng)生成(RAG)已成為游戲規(guī)則的改變者,徹底改變了我們生成文本和與文本交互的方式。RAG 使用大型語(yǔ)言模型?(LLM) 等工具將信息檢索的強(qiáng)大功能與自然語(yǔ)言生成無(wú)縫結(jié)合,為內(nèi)容創(chuàng)建提供了一種變革性的方法。 ????????在

    2024年02月03日
    瀏覽(24)
  • Elasticsearch 混合檢索優(yōu)化大模型 RAG 任務(wù)

    Elasticsearch 混合檢索優(yōu)化大模型 RAG 任務(wù)

    Elastic 社區(qū)在自然語(yǔ)言處理上面做的很不錯(cuò)官方博客更新速度也很快,現(xiàn)階段大模型的應(yīng)用場(chǎng)景主要在 Rag 和 Agent 上,國(guó)內(nèi) Rag(Retrieval-Augmented Generation 檢索增強(qiáng)生成) 的尤其多,而搜索對(duì)于 Elasticsearch 來(lái)說(shuō)是強(qiáng)項(xiàng)特別是 8.9 之后的版本提供了 ESRE 模塊(集成了高級(jí)相關(guān)性排序

    2024年04月25日
    瀏覽(26)
  • 使用 Elasticsearch 和 LlamaIndex 進(jìn)行高級(jí)文本檢索:句子窗口檢索

    使用 Elasticsearch 和 LlamaIndex 進(jìn)行高級(jí)文本檢索:句子窗口檢索

    2023 年是檢索增強(qiáng)生成 (RAG) 的一年,人們探索了許多用例,并使用該技術(shù)開(kāi)發(fā)了數(shù)百種產(chǎn)品。 從 Q/A 聊天機(jī)器人到基于上下文的代理,RAG 的使用一直是 LLM 申請(qǐng)快速增長(zhǎng)的主要因素。 支持不斷發(fā)展的社區(qū)以及 Langchain 和 LlamaIndex 等強(qiáng)大框架的可用性,使開(kāi)發(fā)人員可以更輕松地

    2024年01月18日
    瀏覽(16)
  • TS版LangChain實(shí)戰(zhàn):基于文檔的增強(qiáng)檢索(RAG)

    LangChain是一個(gè)以 LLM (大語(yǔ)言模型)模型為核心的開(kāi)發(fā)框架,LangChain的主要特性: 可以連接多種數(shù)據(jù)源,比如網(wǎng)頁(yè)鏈接、本地PDF文件、向量數(shù)據(jù)庫(kù)等 允許語(yǔ)言模型與其環(huán)境交互 封裝了Model I/O(輸入/輸出)、Retrieval(檢索器)、Memory(記憶)、Agents(決策和調(diào)度)等核心組件

    2024年02月05日
    瀏覽(19)
  • RAG實(shí)戰(zhàn)3-如何追蹤哪些文檔片段被用于檢索增強(qiáng)生成

    本文是RAG實(shí)戰(zhàn)2-如何使用LlamaIndex存儲(chǔ)和讀取embedding向量的續(xù)集,在閱讀本文之前請(qǐng)先閱讀前篇。 在前篇中,我們介紹了如何使用LlamaIndex存儲(chǔ)和讀取embedding向量。在本文中,我們將介紹在LlamaIndex中如何獲得被用于檢索增強(qiáng)生成的文檔片段。 下面的代碼展示了如何使用LlamaInd

    2024年03月09日
    瀏覽(16)
  • 如何高效檢索信息:搜索引擎使用小技巧

    如何高效檢索信息:搜索引擎使用小技巧

    本文首發(fā)在我的個(gè)人博客:追逐日落,歡迎大家前去參觀~ 在當(dāng)今信息爆炸的時(shí)代,搜索引擎已經(jīng)成為我們獲取信息的主要途徑之一。 平時(shí)我們使用搜索引擎,通常是將輸入搜索框后回車,然后開(kāi)始從上到下翻閱有用的信息。其實(shí)搜索引擎提供了多種語(yǔ)法,合理使用這

    2024年03月10日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包