簡(jiǎn)介
簡(jiǎn)介章節(jié)講的是比較基礎(chǔ)的,主要介紹了本次要介紹的概念,即檢索(Retrieval)和大語(yǔ)言模型(LLM):
簡(jiǎn)單的說(shuō),其實(shí)就是通過(guò)檢索的模式,為大語(yǔ)言模型的生成提供幫助,從而使之生成更符合要求的結(jié)果,聽(tīng)起來(lái),其實(shí)就和最近比較火的另一個(gè)概念——檢索增強(qiáng)生成(RAG,retrieval augment generation),在我的理解下,就是一件事。
眾所周知,LLM其實(shí)已經(jīng)在很多領(lǐng)域和問(wèn)題下都取得了很好的效果,那為何還需要依賴檢索做進(jìn)一步優(yōu)化,在本文看來(lái),主要有5個(gè)原因:
LLM無(wú)法記住所有知識(shí),尤其是長(zhǎng)尾的。受限于訓(xùn)練數(shù)據(jù)、現(xiàn)有的學(xué)習(xí)方式,對(duì)長(zhǎng)尾知識(shí)的接受能力并不是很高。
LLM的知識(shí)容易過(guò)時(shí),而且不好更新。只是通過(guò)微調(diào),模型的接受能力其實(shí)并不高而且很慢,甚至有丟失原有知識(shí)的風(fēng)險(xiǎn)。
LLM的輸出難以解釋和驗(yàn)證。一方面最終的輸出的內(nèi)容黑盒且不可控,另一方面最終的結(jié)果輸出可能會(huì)受到幻覺(jué)之類(lèi)的問(wèn)題的干擾。
LLM容易泄露隱私訓(xùn)練數(shù)據(jù)。用用戶個(gè)人信息訓(xùn)練模型,會(huì)讓模型可以通過(guò)誘導(dǎo)泄露用戶的隱私。
LLM的規(guī)模大,訓(xùn)練和運(yùn)行的成本都很大。
而上面的問(wèn)題,都可以通過(guò)數(shù)據(jù)庫(kù)檢索快速解決:
數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的存儲(chǔ)和更新是穩(wěn)定的,不像模型會(huì)存在學(xué)不會(huì)的風(fēng)險(xiǎn)。
數(shù)據(jù)庫(kù)的數(shù)據(jù)更新可以做得很敏捷,增刪改查可解釋?zhuān)覍?duì)原有的知識(shí)不會(huì)有影響。
數(shù)據(jù)庫(kù)的內(nèi)容是明確、結(jié)構(gòu)化的,加上模型本身的理解能力,一般而言數(shù)據(jù)庫(kù)中的內(nèi)容以及檢索算法不出錯(cuò),大模型的輸出出錯(cuò)的可能就大大降低。
知識(shí)庫(kù)中存儲(chǔ)用戶數(shù)據(jù),為用戶隱私數(shù)據(jù)的管控帶來(lái)很大的便利,而且可控、穩(wěn)定、準(zhǔn)確。
數(shù)據(jù)庫(kù)維護(hù)起來(lái),可以降低大模型的訓(xùn)練成本,畢竟新知識(shí)存儲(chǔ)在數(shù)據(jù)庫(kù)即可,不用頻繁更新模型,尤其是不用因?yàn)橹R(shí)的更新而訓(xùn)練模型。
問(wèn)題定義
首先,按照文章的定義:
A language model (LM) that uses an external datastore at test time。
關(guān)鍵詞兩個(gè):語(yǔ)言模型和數(shù)據(jù)庫(kù)。
語(yǔ)言模型這塊,我們其實(shí)都熟悉了,早些年以bert代表的模型,到現(xiàn)在被大量采用的大模型,其實(shí)結(jié)構(gòu)都具有很大的相似性,而且已經(jīng)相對(duì)成熟,模型結(jié)構(gòu)這事就不贅述了。更為重要的是,prompt受到關(guān)注的這件事,在現(xiàn)在的視角看來(lái)是非常關(guān)鍵的發(fā)現(xiàn),prompt能讓大模型能完成更多任務(wù),通過(guò)引導(dǎo)能讓模型解決不同的問(wèn)題,同時(shí),效果還是不錯(cuò),在現(xiàn)在的應(yīng)用下,prompt精調(diào)已經(jīng)成為了經(jīng)濟(jì)高效的調(diào)優(yōu)手段了。
至于數(shù)據(jù)庫(kù),配合大模型,構(gòu)造成如下的推理結(jié)構(gòu):
datastore是數(shù)據(jù)源,構(gòu)造成索引后,可以接受query進(jìn)行檢索,檢索結(jié)果和大模型配合,就能輸出結(jié)果。
架構(gòu)
此時(shí),就出現(xiàn)一個(gè)問(wèn)題,大模型和檢索查詢之間的關(guān)系是什么,拆解下來(lái),就是這幾個(gè)問(wèn)題:
查什么:query如何構(gòu)造以及檢索的。
如何使用查詢:查詢結(jié)果出來(lái)后如何跟大模型協(xié)同。
何時(shí)查:什么時(shí)候觸發(fā)查詢,或者換個(gè)說(shuō)法,如何構(gòu)造查詢query。
section3中,通過(guò)論文講解的方式,討論了多篇論文在解決上述3個(gè)問(wèn)題下的解決方案,并且討論了他們的優(yōu)缺點(diǎn)。
這里總結(jié)一些關(guān)鍵要點(diǎn)給大家,讓大家理解這些檢索策略的不一樣會(huì)有什么優(yōu)缺點(diǎn):
檢索不一定檢索一次,可以切句,例如機(jī)械地n個(gè)token地切后查詢,會(huì)比只查一次要強(qiáng)一些。
RETRO中構(gòu)造了臨時(shí)層對(duì)檢索結(jié)果進(jìn)行解析,提升檢索結(jié)果的理解和使用能力,但這也意味著這些層需要進(jìn)行訓(xùn)練后才可使用,訓(xùn)練成本是增加的。
KNN-LM在檢索上,從詞降級(jí)為token,能對(duì)低頻或域外(out of domain)數(shù)據(jù)有很好的支持,但存儲(chǔ)空間會(huì)變大很多,同時(shí)該方法缺少輸入和檢索結(jié)果的交互信息。
后續(xù)的FLARE和Adaptive-LM采用了自適應(yīng)檢索的方式,能提升檢索的效率,但當(dāng)然與之對(duì)應(yīng)的檢索策略并不一定是最優(yōu)的(誤差疊加)。
Entities as Experts直接檢索實(shí)體,能提升效率,但這個(gè)位置是需要額外的實(shí)體識(shí)別的。
訓(xùn)練
在LLM-Retrieval的框架下,訓(xùn)練除了為了更好地讓LLM做好推理預(yù)測(cè),還需要盡可能讓LLM和檢索模塊協(xié)同,而顯然,同時(shí)訓(xùn)練LLM和檢索模塊的模型,無(wú)疑是成本巨大的,就這個(gè)背景,文章總結(jié)了4種LLM和檢索模塊的更新策略。(注意,此處我把training翻譯為更新)
首先是獨(dú)立更新(Independent training),即兩者各自更新,互不影響。這個(gè)應(yīng)該是目前我看到最常見(jiàn)的一種方式了。
優(yōu)點(diǎn):對(duì)頻繁更新的索引,大模型不需要頻繁更新,甚至不需要更新;每個(gè)模塊可以獨(dú)立優(yōu)化。
缺點(diǎn):大模型和檢索模型兩者之間并無(wú)協(xié)同。
然后是依次訓(xùn)練(Sequential training),即訓(xùn)練其中一個(gè)的時(shí)候,另一個(gè)固定,等此模塊訓(xùn)練完訓(xùn)練完以后再訓(xùn)另一個(gè)。
優(yōu)點(diǎn):和獨(dú)立更新有相似點(diǎn),大模型不需要頻繁更新,甚至不需要更新;不同的是,大模型可以進(jìn)行適配檢索模塊的訓(xùn)練,反之亦然。
缺點(diǎn):因?yàn)槭且来斡?xùn)練,所以在訓(xùn)練其中一個(gè)時(shí),另一個(gè)是固定的,不能做到比較徹底的協(xié)同,而且大模型更新的頻率不見(jiàn)得跟得上索引庫(kù)的更新,如果緊跟,成本會(huì)變高。
第三種是異步索引更新下的聯(lián)合訓(xùn)練,即允許索引過(guò)時(shí),定期更新即可。這種方式的難點(diǎn)是需要權(quán)衡,索引更新的頻率是多少,太多了則訓(xùn)練成本昂貴,太少了則索引過(guò)時(shí),導(dǎo)致有些問(wèn)題會(huì)出錯(cuò)。
第四種也是聯(lián)合訓(xùn)練,但考慮到更新索引的頻次問(wèn)題,所以索引通過(guò)批次的方式來(lái)更新,當(dāng)然了,這種方式的同樣會(huì)帶來(lái)成本的問(wèn)題,無(wú)論是訓(xùn)練階段,還是索引更新階段。
總結(jié)一下,有關(guān)訓(xùn)練階段,兩者協(xié)同,有如下優(yōu)缺點(diǎn)。
應(yīng)用
應(yīng)用這塊,通過(guò)這幾個(gè)月我們的深入使用,大模型給了我們很多的使用空間,到了LLM+檢索的場(chǎng)景,我們需要知道的是有哪些優(yōu)勢(shì)場(chǎng)景,在本文中,作者總結(jié)了如下使用場(chǎng)景:
第一行3個(gè)任務(wù)主要優(yōu)勢(shì)表現(xiàn)在知識(shí)密集型的任務(wù)中,中間和下面的6個(gè)則是比較經(jīng)典的NLP任務(wù)了,中間3個(gè)偏向生成,后面3個(gè)傾向于分類(lèi),此時(shí),我們需要回答兩個(gè)問(wèn)題:
如何把LLM+檢索這個(gè)模式應(yīng)用在這些任務(wù)中?
使用LLM+檢索這個(gè)模式的時(shí)機(jī)是什么?
首先是第一個(gè)問(wèn)題,如何應(yīng)用,這里給出了3種使用方法,分別是微調(diào)、強(qiáng)化學(xué)習(xí)和prompt。我們?nèi)粘J褂玫母嗟目赡苁莗rompt,但是從一些實(shí)戰(zhàn)經(jīng)驗(yàn)上,可能還有別的模式可能能讓模型更好地利用。
微調(diào)方面,只要把整個(gè)流程串起來(lái)其實(shí)就能發(fā)現(xiàn),是完全可行的,ATLAS這篇論文比較典型,再處理知識(shí)庫(kù)的更新上選擇了相對(duì)獨(dú)立的策略,從實(shí)驗(yàn)來(lái)看,效果還是不錯(cuò)的,作者的評(píng)價(jià)是這樣的:
微調(diào)能為知識(shí)密集型任務(wù)提供很大的提升。
對(duì)檢索庫(kù)本身的微調(diào)也十分重要。
而強(qiáng)化學(xué)習(xí),也算是最近比較熱門(mén)的研究方向了,RLHF能把全流程串起來(lái),有人工的評(píng)價(jià)能為結(jié)果帶來(lái)更多的提升,作者用的是“alignment”,是對(duì)齊用戶的偏好,然而實(shí)際上,這種人工的數(shù)據(jù)其實(shí)還是比較難獲得并使用的。
在prompt這塊,作者首先提出一個(gè)問(wèn)題:“What if we cannot train LMs for downstream tasks?”,這個(gè)問(wèn)題很現(xiàn)實(shí),因?yàn)楹芏嘣颍覀兛赡軟](méi)法訓(xùn)練模型,只能用開(kāi)源的或者是固定通用的模型(心法利器[102] | 大模型落地應(yīng)用架構(gòu)的一種模式),此時(shí),prompt就是一個(gè)非常好用的方案了。從結(jié)果層面顯示,這種方案可以說(shuō)是非常“effective”,同時(shí)作者還提及不用訓(xùn)練和并不差的效果(用的strong),但缺點(diǎn)也比較明顯,可控性還是不夠,相比微調(diào)的效果還是要差點(diǎn)。
然后,下一個(gè)問(wèn)題,就是使用檢索這個(gè)模式的時(shí)機(jī)了。說(shuō)到時(shí)機(jī),其實(shí)回歸到前面所提到的原因就知道了,即長(zhǎng)尾知識(shí)、知識(shí)過(guò)時(shí)、內(nèi)容難驗(yàn)證、隱私問(wèn)題和訓(xùn)練成本問(wèn)題,經(jīng)過(guò)作者的整理,從使用檢索的原因,轉(zhuǎn)為提及檢索這個(gè)模式的優(yōu)勢(shì),則是6點(diǎn):長(zhǎng)尾知識(shí)、知識(shí)更新能力、內(nèi)容可驗(yàn)證性、參數(shù)效率、隱私以及域外知識(shí)的適配性(可遷移性)。
多模態(tài)
多模態(tài)是讓自然語(yǔ)言處理超越文字本身的窗口了,知識(shí)的形式是豐富多樣的,可以是文章、圖譜、圖片、視頻、音頻等,如果能把多種信息進(jìn)行解析,那對(duì)知識(shí)的支撐能力無(wú)疑是新的提升(畢竟不是所有信息都通過(guò)文字傳播),在這章,更多是給了很多知識(shí)應(yīng)用的思路,論文還不少,此處不贅述,大家可以去PPT里面錢(qián)問(wèn)題記得網(wǎng)站上面找參考文獻(xiàn)。
挑戰(zhàn)和展望
總算到了挑戰(zhàn)和展望,本章在總結(jié)前文的基礎(chǔ)上,提出了很多新的問(wèn)題,研究者們可以參考作為新的研究方向。
首先是基于檢索的LLM的規(guī)模,第一個(gè)問(wèn)題是小模型+大數(shù)據(jù)庫(kù),是否能約等于一個(gè)大模型,
小模型+大數(shù)據(jù)庫(kù),是否能約等于一個(gè)大模型??jī)烧咴谝?guī)模上的關(guān)系是什么樣的。
兩者的縮放規(guī)則是什么樣的,當(dāng)知識(shí)庫(kù)能支撐知識(shí)層面的需求后,語(yǔ)言模型的參數(shù)量、token量對(duì)結(jié)果有什么影響。
檢索效率問(wèn)題,一個(gè)是速度,另一個(gè)是空間。
第二個(gè)問(wèn)題是,需要探索其應(yīng)用。
開(kāi)放式文本生成下,基于檢索的大模型在蘊(yùn)含和推理能力上還有局限性,畢竟光靠相似度的檢索不太夠,同時(shí)知識(shí)庫(kù)大了以后,面對(duì)相似但是困難的知識(shí)點(diǎn)也會(huì)對(duì)推理造成干擾。
對(duì)于復(fù)雜的推理任務(wù),有沒(méi)有更好的潛在方案可探索,例如多次檢索、query改寫(xiě)等策略。
再然后,是一些開(kāi)放的問(wèn)題:
基于檢索的LLMs下最優(yōu)的結(jié)構(gòu)和訓(xùn)練策略是什么樣的。
對(duì)模型的規(guī)模,我們無(wú)法比較好地去拓展和提升,尤其在具有檢索能力支持的情況下。
下游任務(wù)上,需要更多更好的解碼、推理等方案,甚至是自適應(yīng)的。
小結(jié)
這篇文章寫(xiě)了挺久的,可以說(shuō)是大開(kāi)眼界吧,里面的論文看了不少,收獲還是挺大的,讓我知道有關(guān)檢索-LLM這個(gè)模式下有那么多前人嘗試過(guò)的玩法,后面有些我應(yīng)該也會(huì)去嘗試,看看提升如何。
審核編輯:劉清
-
語(yǔ)言模型
+關(guān)注
關(guān)注
0文章
561瀏覽量
10772 -
LLM
+關(guān)注
關(guān)注
1文章
325瀏覽量
817
原文標(biāo)題:ACL23 | 基于檢索的大語(yǔ)言模型-陳丹琦報(bào)告閱讀
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
大語(yǔ)言模型的解碼策略與關(guān)鍵優(yōu)化總結(jié)

【「基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化」閱讀體驗(yàn)】+Embedding技術(shù)解讀
語(yǔ)言模型管理的作用
AI大語(yǔ)言模型開(kāi)發(fā)步驟
大語(yǔ)言模型開(kāi)發(fā)框架是什么
大語(yǔ)言模型開(kāi)發(fā)語(yǔ)言是什么
云端語(yǔ)言模型開(kāi)發(fā)方法
使用vLLM+OpenVINO加速大語(yǔ)言模型推理

評(píng)論