0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于檢索的大語言模型簡介

深度學(xué)習(xí)自然語言處理 ? 來源:CS的陋室 ? 2023-11-15 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

簡介章節(jié)講的是比較基礎(chǔ)的,主要介紹了本次要介紹的概念,即檢索(Retrieval)和大語言模型(LLM):

d63e09b4-7ef0-11ee-939d-92fbcf53809c.png

簡單的說,其實(shí)就是通過檢索的模式,為大語言模型的生成提供幫助,從而使之生成更符合要求的結(jié)果,聽起來,其實(shí)就和最近比較火的另一個概念——檢索增強(qiáng)生成(RAG,retrieval augment generation),在我的理解下,就是一件事。

眾所周知,LLM其實(shí)已經(jīng)在很多領(lǐng)域和問題下都取得了很好的效果,那為何還需要依賴檢索做進(jìn)一步優(yōu)化,在本文看來,主要有5個原因:

LLM無法記住所有知識,尤其是長尾的。受限于訓(xùn)練數(shù)據(jù)、現(xiàn)有的學(xué)習(xí)方式,對長尾知識的接受能力并不是很高。

LLM的知識容易過時,而且不好更新。只是通過微調(diào),模型的接受能力其實(shí)并不高而且很慢,甚至有丟失原有知識的風(fēng)險。

LLM的輸出難以解釋和驗(yàn)證。一方面最終的輸出的內(nèi)容黑盒且不可控,另一方面最終的結(jié)果輸出可能會受到幻覺之類的問題的干擾。

LLM容易泄露隱私訓(xùn)練數(shù)據(jù)。用用戶個人信息訓(xùn)練模型,會讓模型可以通過誘導(dǎo)泄露用戶的隱私。

LLM的規(guī)模大,訓(xùn)練和運(yùn)行的成本都很大。

而上面的問題,都可以通過數(shù)據(jù)庫檢索快速解決:

數(shù)據(jù)庫對數(shù)據(jù)的存儲和更新是穩(wěn)定的,不像模型會存在學(xué)不會的風(fēng)險。

數(shù)據(jù)庫的數(shù)據(jù)更新可以做得很敏捷,增刪改查可解釋,而且對原有的知識不會有影響。

數(shù)據(jù)庫的內(nèi)容是明確、結(jié)構(gòu)化的,加上模型本身的理解能力,一般而言數(shù)據(jù)庫中的內(nèi)容以及檢索算法不出錯,大模型的輸出出錯的可能就大大降低。

知識庫中存儲用戶數(shù)據(jù),為用戶隱私數(shù)據(jù)的管控帶來很大的便利,而且可控、穩(wěn)定、準(zhǔn)確。

數(shù)據(jù)庫維護(hù)起來,可以降低大模型的訓(xùn)練成本,畢竟新知識存儲在數(shù)據(jù)庫即可,不用頻繁更新模型,尤其是不用因?yàn)橹R的更新而訓(xùn)練模型。

問題定義

首先,按照文章的定義:

A language model (LM) that uses an external datastore at test time。

關(guān)鍵詞兩個:語言模型和數(shù)據(jù)庫。

語言模型這塊,我們其實(shí)都熟悉了,早些年以bert代表的模型,到現(xiàn)在被大量采用的大模型,其實(shí)結(jié)構(gòu)都具有很大的相似性,而且已經(jīng)相對成熟,模型結(jié)構(gòu)這事就不贅述了。更為重要的是,prompt受到關(guān)注的這件事,在現(xiàn)在的視角看來是非常關(guān)鍵的發(fā)現(xiàn),prompt能讓大模型能完成更多任務(wù),通過引導(dǎo)能讓模型解決不同的問題,同時,效果還是不錯,在現(xiàn)在的應(yīng)用下,prompt精調(diào)已經(jīng)成為了經(jīng)濟(jì)高效的調(diào)優(yōu)手段了。

d65bf2c6-7ef0-11ee-939d-92fbcf53809c.png

至于數(shù)據(jù)庫,配合大模型,構(gòu)造成如下的推理結(jié)構(gòu):

d6778ebe-7ef0-11ee-939d-92fbcf53809c.png

datastore是數(shù)據(jù)源,構(gòu)造成索引后,可以接受query進(jìn)行檢索,檢索結(jié)果和大模型配合,就能輸出結(jié)果。

架構(gòu)

此時,就出現(xiàn)一個問題,大模型和檢索查詢之間的關(guān)系是什么,拆解下來,就是這幾個問題:

查什么:query如何構(gòu)造以及檢索的。

如何使用查詢:查詢結(jié)果出來后如何跟大模型協(xié)同。

何時查:什么時候觸發(fā)查詢,或者換個說法,如何構(gòu)造查詢query。

d69a1db2-7ef0-11ee-939d-92fbcf53809c.png

section3中,通過論文講解的方式,討論了多篇論文在解決上述3個問題下的解決方案,并且討論了他們的優(yōu)缺點(diǎn)。

d69a1db2-7ef0-11ee-939d-92fbcf53809c.png

這里總結(jié)一些關(guān)鍵要點(diǎn)給大家,讓大家理解這些檢索策略的不一樣會有什么優(yōu)缺點(diǎn):

檢索不一定檢索一次,可以切句,例如機(jī)械地n個token地切后查詢,會比只查一次要強(qiáng)一些。

RETRO中構(gòu)造了臨時層對檢索結(jié)果進(jìn)行解析,提升檢索結(jié)果的理解和使用能力,但這也意味著這些層需要進(jìn)行訓(xùn)練后才可使用,訓(xùn)練成本是增加的。

KNN-LM在檢索上,從詞降級為token,能對低頻或域外(out of domain)數(shù)據(jù)有很好的支持,但存儲空間會變大很多,同時該方法缺少輸入和檢索結(jié)果的交互信息。

后續(xù)的FLARE和Adaptive-LM采用了自適應(yīng)檢索的方式,能提升檢索的效率,但當(dāng)然與之對應(yīng)的檢索策略并不一定是最優(yōu)的(誤差疊加)。

Entities as Experts直接檢索實(shí)體,能提升效率,但這個位置是需要額外的實(shí)體識別的。

訓(xùn)練

在LLM-Retrieval的框架下,訓(xùn)練除了為了更好地讓LLM做好推理預(yù)測,還需要盡可能讓LLM和檢索模塊協(xié)同,而顯然,同時訓(xùn)練LLM和檢索模塊的模型,無疑是成本巨大的,就這個背景,文章總結(jié)了4種LLM和檢索模塊的更新策略。(注意,此處我把training翻譯為更新)

首先是獨(dú)立更新(Independent training),即兩者各自更新,互不影響。這個應(yīng)該是目前我看到最常見的一種方式了。

優(yōu)點(diǎn):對頻繁更新的索引,大模型不需要頻繁更新,甚至不需要更新;每個模塊可以獨(dú)立優(yōu)化。

缺點(diǎn):大模型和檢索模型兩者之間并無協(xié)同。

然后是依次訓(xùn)練(Sequential training),即訓(xùn)練其中一個的時候,另一個固定,等此模塊訓(xùn)練完訓(xùn)練完以后再訓(xùn)另一個。

優(yōu)點(diǎn):和獨(dú)立更新有相似點(diǎn),大模型不需要頻繁更新,甚至不需要更新;不同的是,大模型可以進(jìn)行適配檢索模塊的訓(xùn)練,反之亦然。

缺點(diǎn):因?yàn)槭且来斡?xùn)練,所以在訓(xùn)練其中一個時,另一個是固定的,不能做到比較徹底的協(xié)同,而且大模型更新的頻率不見得跟得上索引庫的更新,如果緊跟,成本會變高。

第三種是異步索引更新下的聯(lián)合訓(xùn)練,即允許索引過時,定期更新即可。這種方式的難點(diǎn)是需要權(quán)衡,索引更新的頻率是多少,太多了則訓(xùn)練成本昂貴,太少了則索引過時,導(dǎo)致有些問題會出錯。

第四種也是聯(lián)合訓(xùn)練,但考慮到更新索引的頻次問題,所以索引通過批次的方式來更新,當(dāng)然了,這種方式的同樣會帶來成本的問題,無論是訓(xùn)練階段,還是索引更新階段。

總結(jié)一下,有關(guān)訓(xùn)練階段,兩者協(xié)同,有如下優(yōu)缺點(diǎn)。

d6ddaf0a-7ef0-11ee-939d-92fbcf53809c.png

應(yīng)用

應(yīng)用這塊,通過這幾個月我們的深入使用,大模型給了我們很多的使用空間,到了LLM+檢索的場景,我們需要知道的是有哪些優(yōu)勢場景,在本文中,作者總結(jié)了如下使用場景:

d6ff8616-7ef0-11ee-939d-92fbcf53809c.png

第一行3個任務(wù)主要優(yōu)勢表現(xiàn)在知識密集型的任務(wù)中,中間和下面的6個則是比較經(jīng)典的NLP任務(wù)了,中間3個偏向生成,后面3個傾向于分類,此時,我們需要回答兩個問題:

如何把LLM+檢索這個模式應(yīng)用在這些任務(wù)中?

使用LLM+檢索這個模式的時機(jī)是什么?

首先是第一個問題,如何應(yīng)用,這里給出了3種使用方法,分別是微調(diào)、強(qiáng)化學(xué)習(xí)和prompt。我們?nèi)粘J褂玫母嗟目赡苁莗rompt,但是從一些實(shí)戰(zhàn)經(jīng)驗(yàn)上,可能還有別的模式可能能讓模型更好地利用。

d722bc6c-7ef0-11ee-939d-92fbcf53809c.png

微調(diào)方面,只要把整個流程串起來其實(shí)就能發(fā)現(xiàn),是完全可行的,ATLAS這篇論文比較典型,再處理知識庫的更新上選擇了相對獨(dú)立的策略,從實(shí)驗(yàn)來看,效果還是不錯的,作者的評價是這樣的:

微調(diào)能為知識密集型任務(wù)提供很大的提升。

對檢索庫本身的微調(diào)也十分重要。

d73deee2-7ef0-11ee-939d-92fbcf53809c.png

而強(qiáng)化學(xué)習(xí),也算是最近比較熱門的研究方向了,RLHF能把全流程串起來,有人工的評價能為結(jié)果帶來更多的提升,作者用的是“alignment”,是對齊用戶的偏好,然而實(shí)際上,這種人工的數(shù)據(jù)其實(shí)還是比較難獲得并使用的。

d75b845c-7ef0-11ee-939d-92fbcf53809c.png

在prompt這塊,作者首先提出一個問題:“What if we cannot train LMs for downstream tasks?”,這個問題很現(xiàn)實(shí),因?yàn)楹芏嘣颍覀兛赡軟]法訓(xùn)練模型,只能用開源的或者是固定通用的模型(心法利器[102] | 大模型落地應(yīng)用架構(gòu)的一種模式),此時,prompt就是一個非常好用的方案了。從結(jié)果層面顯示,這種方案可以說是非?!癳ffective”,同時作者還提及不用訓(xùn)練和并不差的效果(用的strong),但缺點(diǎn)也比較明顯,可控性還是不夠,相比微調(diào)的效果還是要差點(diǎn)。

然后,下一個問題,就是使用檢索這個模式的時機(jī)了。說到時機(jī),其實(shí)回歸到前面所提到的原因就知道了,即長尾知識、知識過時、內(nèi)容難驗(yàn)證、隱私問題和訓(xùn)練成本問題,經(jīng)過作者的整理,從使用檢索的原因,轉(zhuǎn)為提及檢索這個模式的優(yōu)勢,則是6點(diǎn):長尾知識、知識更新能力、內(nèi)容可驗(yàn)證性、參數(shù)效率、隱私以及域外知識的適配性(可遷移性)。

多模態(tài)

多模態(tài)是讓自然語言處理超越文字本身的窗口了,知識的形式是豐富多樣的,可以是文章、圖譜、圖片、視頻、音頻等,如果能把多種信息進(jìn)行解析,那對知識的支撐能力無疑是新的提升(畢竟不是所有信息都通過文字傳播),在這章,更多是給了很多知識應(yīng)用的思路,論文還不少,此處不贅述,大家可以去PPT里面錢問題記得網(wǎng)站上面找參考文獻(xiàn)。

挑戰(zhàn)和展望

總算到了挑戰(zhàn)和展望,本章在總結(jié)前文的基礎(chǔ)上,提出了很多新的問題,研究者們可以參考作為新的研究方向。

首先是基于檢索的LLM的規(guī)模,第一個問題是小模型+大數(shù)據(jù)庫,是否能約等于一個大模型,

小模型+大數(shù)據(jù)庫,是否能約等于一個大模型?兩者在規(guī)模上的關(guān)系是什么樣的。

兩者的縮放規(guī)則是什么樣的,當(dāng)知識庫能支撐知識層面的需求后,語言模型的參數(shù)量、token量對結(jié)果有什么影響。

檢索效率問題,一個是速度,另一個是空間。

第二個問題是,需要探索其應(yīng)用。

開放式文本生成下,基于檢索的大模型在蘊(yùn)含和推理能力上還有局限性,畢竟光靠相似度的檢索不太夠,同時知識庫大了以后,面對相似但是困難的知識點(diǎn)也會對推理造成干擾。

對于復(fù)雜的推理任務(wù),有沒有更好的潛在方案可探索,例如多次檢索、query改寫等策略。

再然后,是一些開放的問題:

基于檢索的LLMs下最優(yōu)的結(jié)構(gòu)和訓(xùn)練策略是什么樣的。

對模型的規(guī)模,我們無法比較好地去拓展和提升,尤其在具有檢索能力支持的情況下。

下游任務(wù)上,需要更多更好的解碼、推理等方案,甚至是自適應(yīng)的。

小結(jié)

這篇文章寫了挺久的,可以說是大開眼界吧,里面的論文看了不少,收獲還是挺大的,讓我知道有關(guān)檢索-LLM這個模式下有那么多前人嘗試過的玩法,后面有些我應(yīng)該也會去嘗試,看看提升如何。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    561

    瀏覽量

    10733
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    1

    文章

    323

    瀏覽量

    768

原文標(biāo)題:ACL23 | 基于檢索的大語言模型-陳丹琦報告閱讀

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    語言模型的解碼策略與關(guān)鍵優(yōu)化總結(jié)

    本文系統(tǒng)性地闡述了大型語言模型(LargeLanguageModels,LLMs)中的解碼策略技術(shù)原理及其實(shí)踐應(yīng)用。通過深入分析各類解碼算法的工作機(jī)制、性能特征和優(yōu)化方法,為研究者和工程師提供了全面
    的頭像 發(fā)表于 02-18 12:00 ?546次閱讀
    大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>的解碼策略與關(guān)鍵優(yōu)化總結(jié)

    【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗(yàn)】+Embedding技術(shù)解讀

    今天學(xué)習(xí)大模型RAG 檢索增強(qiáng)生成技術(shù)Embedding,即嵌入,是一種將離散數(shù)據(jù)(如文字、圖像、音頻等)轉(zhuǎn)換為連續(xù)的密集向量表示的技術(shù)。這些向量能夠反映原始數(shù)據(jù)之間的關(guān)系,使得計算機(jī)能夠更好地處
    發(fā)表于 01-17 19:53

    語言模型管理的作用

    要充分發(fā)揮語言模型的潛力,有效的語言模型管理非常重要。以下,是對語言模型管理作用的分析,由AI部
    的頭像 發(fā)表于 01-02 11:06 ?363次閱讀

    AI大語言模型開發(fā)步驟

    開發(fā)一個高效、準(zhǔn)確的大語言模型是一個復(fù)雜且多階段的過程,涉及數(shù)據(jù)收集與預(yù)處理、模型架構(gòu)設(shè)計、訓(xùn)練與優(yōu)化、評估與調(diào)試等多個環(huán)節(jié)。接下來,AI部落小編為大家詳細(xì)闡述AI大語言
    的頭像 發(fā)表于 12-19 11:29 ?826次閱讀

    語言模型開發(fā)框架是什么

    語言模型開發(fā)框架是指用于訓(xùn)練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹大語言
    的頭像 發(fā)表于 12-06 10:28 ?506次閱讀

    語言模型開發(fā)語言是什么

    在人工智能領(lǐng)域,大語言模型(Large Language Models, LLMs)背后,離不開高效的開發(fā)語言和工具的支持。下面,AI部落小編為您介紹大語言
    的頭像 發(fā)表于 12-04 11:44 ?644次閱讀

    云端語言模型開發(fā)方法

    云端語言模型的開發(fā)是一個復(fù)雜而系統(tǒng)的過程,涉及數(shù)據(jù)準(zhǔn)備、模型選擇、訓(xùn)練優(yōu)化、部署應(yīng)用等多個環(huán)節(jié)。下面,AI部落小編為您分享云端語言模型的開發(fā)
    的頭像 發(fā)表于 12-02 10:48 ?667次閱讀

    使用vLLM+OpenVINO加速大語言模型推理

    隨著大語言模型的廣泛應(yīng)用,模型的計算需求大幅提升,帶來推理時延高、資源消耗大等挑戰(zhàn)。
    的頭像 發(fā)表于 11-15 14:20 ?1366次閱讀
    使用vLLM+OpenVINO加速大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>推理

    語言模型如何開發(fā)

    語言模型的開發(fā)是一個復(fù)雜且細(xì)致的過程,涵蓋了數(shù)據(jù)準(zhǔn)備、模型架構(gòu)設(shè)計、訓(xùn)練、微調(diào)和部署等多個階段。以下是對大語言模型開發(fā)步驟的介紹,由AI部
    的頭像 發(fā)表于 11-04 10:14 ?582次閱讀

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)知識學(xué)習(xí)

    、機(jī)器翻譯、文本生成等領(lǐng)域具有廣泛應(yīng)用。它們能夠基于用戶的提問或描述生成相關(guān)的答案或執(zhí)行指令,極大地提升了信息檢索和利用的效率。 2. 局限性 盡管大語言模型在自然語言理解方面取得了顯
    發(fā)表于 08-02 11:03

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)篇

    今天開始學(xué)習(xí)《大語言模型應(yīng)用指南》第一篇——基礎(chǔ)篇,對于人工智能相關(guān)專業(yè)技術(shù)人員應(yīng)該可以輕松加愉快的完成此篇閱讀,但對于我還是有許多的知識點(diǎn)、專業(yè)術(shù)語比較陌生,需要網(wǎng)上搜索學(xué)習(xí)更多的資料才能理解書中
    發(fā)表于 07-25 14:33

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 俯瞰全書

    上周收到《大語言模型應(yīng)用指南》一書,非常高興,但工作項(xiàng)目繁忙,今天才品鑒體驗(yàn),感謝作者編寫了一部內(nèi)容豐富、理論應(yīng)用相結(jié)合、印刷精美的著作,也感謝電子發(fā)燒友論壇提供了一個讓我了解大語言模型
    發(fā)表于 07-21 13:35

    語言模型的預(yù)訓(xùn)練

    隨著人工智能技術(shù)的飛速發(fā)展,自然語言處理(NLP)作為人工智能領(lǐng)域的一個重要分支,取得了顯著的進(jìn)步。其中,大語言模型(Large Language Model, LLM)憑借其強(qiáng)大的語言
    的頭像 發(fā)表于 07-11 10:11 ?939次閱讀

    Transformer語言模型簡介與實(shí)現(xiàn)過程

    在自然語言處理(NLP)領(lǐng)域,Transformer模型以其卓越的性能和廣泛的應(yīng)用前景,成為了近年來最引人注目的技術(shù)之一。Transformer模型由谷歌在2017年提出,并首次應(yīng)用于神經(jīng)機(jī)器翻譯
    的頭像 發(fā)表于 07-10 11:48 ?2910次閱讀

    如何加速大語言模型推理

    隨著人工智能技術(shù)的飛速發(fā)展,大語言模型(LLM)已成為自然語言處理領(lǐng)域的核心工具,廣泛應(yīng)用于智能客服、文本生成、機(jī)器翻譯等多個場景。然而,大語言模型
    的頭像 發(fā)表于 07-04 17:32 ?990次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品