告別“AI胡說(shuō)八道”!RAG技術(shù)如何為模型注入真實(shí)知識(shí)??

0 評(píng)論 652 瀏覽 2 收藏 10 分鐘

AI胡說(shuō)八道,不是因?yàn)樗疤斆鳌?,而是因?yàn)樗皼]知識(shí)”。RAG技術(shù)正在成為解決大模型幻覺的關(guān)鍵方案,讓生成內(nèi)容不再憑空捏造,而是有據(jù)可查。本文將從底層機(jī)制到產(chǎn)品應(yīng)用,拆解RAG如何為AI注入真實(shí)認(rèn)知。

什么是RAG?

RAG:檢索增強(qiáng)生成,是AI領(lǐng)域非常重要的一種技術(shù)其核心作用是給LLM大模型外掛專門的知識(shí)庫(kù),指導(dǎo)大模型生成更準(zhǔn)確的輸出。

RAG是一種AI框架,它將傳統(tǒng)信息檢索系統(tǒng)(例如數(shù)據(jù)庫(kù))的優(yōu)勢(shì)與生成式大語(yǔ)言模型(LLM)的功能結(jié)合在一起。LLM通過(guò)將這些額外的知識(shí)與自己的語(yǔ)言技能相結(jié)合,可以撰寫更準(zhǔn)確、更具有時(shí)效性且更貼合具體需求的文字。

為什么大模型要做RAG?

存在幻覺問(wèn)題

LLM大模型知識(shí)的底層原理是基于數(shù)學(xué)概率進(jìn)行預(yù)測(cè),模型輸出本質(zhì)上是一種概率預(yù)測(cè)的結(jié)果。所以LLM大模型有時(shí)候會(huì)出現(xiàn)胡言亂語(yǔ),或生成一些似是而非的答案,在大模型并不擅長(zhǎng)的領(lǐng)域,幻覺問(wèn)題會(huì)更加嚴(yán)重。

缺乏對(duì)專業(yè)領(lǐng)域知識(shí)的理解

LLM大模型知識(shí)的獲取嚴(yán)重依賴訓(xùn)練數(shù)據(jù)集的廣度,但目前市面上大多數(shù)的數(shù)據(jù)訓(xùn)練集都來(lái)源于網(wǎng)絡(luò)公開數(shù)據(jù),對(duì)于企業(yè)內(nèi)部數(shù)據(jù)、特定領(lǐng)域或高度專業(yè)化的知識(shí),大模型無(wú)法學(xué)習(xí)到。

知識(shí)時(shí)效性不足

大模型的內(nèi)在結(jié)構(gòu)會(huì)被固化在其被訓(xùn)練完成的那一刻,但是當(dāng)你詢問(wèn)大模型一些最新發(fā)生的事情,則難以給出答案。

缺乏對(duì)生成結(jié)果的可解釋性

LLM大模型本身就是一個(gè)黑盒,這個(gè)模型使用了什么數(shù)據(jù)進(jìn)行訓(xùn)練,對(duì)齊策略是怎么樣的,使用者都無(wú)從得知。對(duì)于大模型生成的答案,更加難以追蹤溯源,通過(guò)檢索增強(qiáng)就可以直觀了解到模型生成內(nèi)容的依據(jù)所在。

RAG的技術(shù)原理

通過(guò)將大語(yǔ)言模型與外部信息源相整合,來(lái)提升模型的輸出質(zhì)量,RAG從外部知識(shí)庫(kù)中檢索相關(guān)的上下文(context),并將這些信息連同用戶的問(wèn)題一起傳遞給大語(yǔ)言模型,從而提高輸出的準(zhǔn)確性和可靠性。

工作流程

對(duì)知識(shí)庫(kù)進(jìn)行文本分塊→文本塊丟入嵌入模型(將文本塊轉(zhuǎn)變?yōu)橄蛄浚蛄壳度肽P停ㄏ蛄坑靡唤M數(shù)據(jù)表示)→向量存儲(chǔ)于向量數(shù)據(jù)庫(kù)→檢索(找出與用戶查詢最為相關(guān)的內(nèi)容)→進(jìn)一步篩選出k個(gè)文本片段(系統(tǒng)將進(jìn)一步從中篩選出,排名靠前的k個(gè)文本片段(top k text chunks–context))→重新排序→放入新的提示詞模板里(上下文context+用戶問(wèn)題query)→發(fā)送給大模型生成答案→將答案輸出給用戶

首要步驟:針對(duì)知識(shí)庫(kù)內(nèi)各類格式的文檔(如PD、Word、Wiki等)進(jìn)行處理,文檔分割(檢索的準(zhǔn)確性和生成模型的效果)。

文本分塊:將文本分割成有意義的片段或塊的過(guò)程(能顯著改善信息檢索和內(nèi)容生成效果,提供更精準(zhǔn)、相關(guān)的結(jié)果)。這些文本塊將由embedding mode(嵌入模型-機(jī)器學(xué)習(xí)模型,可將高維輸入數(shù)據(jù)如文本、圖像,轉(zhuǎn)換為低維向量)轉(zhuǎn)換為向量(向量捕捉了文本的語(yǔ)意信息,從而可以在海量文本庫(kù)中檢索相關(guān)內(nèi)容)。

向量嵌入模型(vector embedding):使用一組數(shù)值表示的數(shù)據(jù)對(duì)象在多維空間中捕捉文本、圖像或音頻的語(yǔ)意和關(guān)聯(lián),可以讓機(jī)器學(xué)習(xí)算法能夠更輕松地應(yīng)對(duì)其進(jìn)行處理和解讀。

向量搜索(相似性搜索):在向量空間中來(lái)查找相似對(duì)象,查詢向量(query),在向量空間中尋找與之距離最近的鄰居,這些鄰居便是與查詢向量最相似的對(duì)象。

向量數(shù)據(jù)庫(kù):是一種專門用于存儲(chǔ)和檢索高維向量數(shù)據(jù)庫(kù)的知識(shí)庫(kù),它們主要用于處理與相似性搜索相關(guān)的任務(wù)。能夠存儲(chǔ)海量的高維向量,這些向量可以表示數(shù)據(jù)對(duì)象是特征,可以作為AI系統(tǒng)的長(zhǎng)期記憶庫(kù)。

向量存儲(chǔ)在數(shù)據(jù)庫(kù)中,這些向量主要是由非結(jié)構(gòu)化數(shù)據(jù)(文本、視頻和音頻,占全球數(shù)據(jù)的大約80%,它們通常來(lái)源于人類生成的內(nèi)容,不易以預(yù)定義格式存儲(chǔ),這類數(shù)據(jù)可以通過(guò)轉(zhuǎn)換為向量嵌入,有效地存儲(chǔ)在向量數(shù)據(jù)庫(kù)中,以便進(jìn)行管理和搜索)通過(guò)嵌入模型轉(zhuǎn)化而來(lái)的結(jié)構(gòu)化數(shù)據(jù)則以表格形式存在,與非結(jié)構(gòu)化數(shù)據(jù)形成對(duì)比。對(duì)于這些非結(jié)構(gòu)化數(shù)據(jù)可以基于語(yǔ)義相似度進(jìn)行相似性搜索。在檢索過(guò)程中,系統(tǒng)會(huì)從海量的文檔或數(shù)據(jù)集中,找出與用戶查詢最為相關(guān)的內(nèi)容,隨后,系統(tǒng)將進(jìn)一步從中篩選出,排名靠前的k個(gè)文本片段(top k text chunks),在檢索出的top k文本片段基礎(chǔ)上,進(jìn)一步根據(jù)與用戶查詢的相關(guān)性和上下文適配度進(jìn)行重新調(diào)整(reranking 重新排序的步驟),這些重新排序過(guò)的文本之后將作為context被嵌入到提示詞模板中與用戶問(wèn)題相結(jié)合,從而構(gòu)建出一個(gè)全新的提示詞,新的提示詞將被發(fā)送給大語(yǔ)言模型以生成最終的答案,模型生成的答案再返回給用戶。

如何衡量向量嵌入的相似性?

怎樣計(jì)算兩個(gè)向量之間的距離來(lái)確定它們是否相似?

顯然,我們不能依賴肉眼進(jìn)行這種比較。

在相似向量搜索中,最常用的度量距離的指標(biāo)有:

歐氏距離-歐幾里得距離,用于測(cè)量高維空間中兩點(diǎn)之間的直線距離。

余弦相似度-通過(guò)計(jì)算兩個(gè)非零向量的夾角的的余弦值,來(lái)衡量它們之間的相似性,它常用于文本的數(shù)據(jù)。

優(yōu)勢(shì):即使兩份文檔因?yàn)殚L(zhǎng)度不同而在歐氏距離上相距甚遠(yuǎn),它們之間的夾角可能仍然很小,從而具有較高的余弦值相似度。因此,余弦相似度主要應(yīng)用于自然語(yǔ)言處理領(lǐng)域。

余弦值相似度的值范圍從-1到1

1表示兩個(gè)向量完全相同,接近1的值則表明向量之間,有很高的相似性。

0表示它們正交(即沒有相關(guān)性)

-1表示它們方向相反

點(diǎn)積相似度-兩個(gè)向量的模長(zhǎng)乘積與它們之間夾角的余弦值的乘積,點(diǎn)積會(huì)受到向量的長(zhǎng)度和方向的影響。

五種分塊策略大揭秘

總結(jié)

RAG技術(shù)確實(shí)讓AI回答問(wèn)題變得“開掛”了,而文本分塊策略,就是解鎖這個(gè)超能力的關(guān)鍵一步。選對(duì)了方法,AI就能更聰明、更精準(zhǔn)地幫到你。

不過(guò)實(shí)話實(shí)說(shuō),RAG真不是那種“一鍵部署,萬(wàn)事大吉”的省心技術(shù)。從怎么存你的資料、到怎么“切”這些資料、再到最后怎么找答案和生成回答,每一個(gè)環(huán)節(jié)都可能成為你項(xiàng)目成功路上的“坑”。

希望通過(guò)這篇文章,能幫你更清楚地理解RAG到底是怎么運(yùn)作的,特別是“分塊”這個(gè)關(guān)鍵小門道,讓你在應(yīng)用AI的時(shí)候少踩點(diǎn)雷。

本文由 @大栗 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!