RAG微調(diào)Llama 3竟超越GPT-4!英偉達(dá)GaTech華人學(xué)者提出RankRAG框架
相信很多大家對RAG微調(diào)Llama 3竟超越GPT-4!英偉達(dá)GaTech華人學(xué)者提出RankRAG框架還不知道吧,今天菲菲就帶你們一起去了解一下~.~!
【新智元導(dǎo)讀】來自佐治亞理工學(xué)院和英偉達(dá)的兩名華人學(xué)者帶隊提出了名為RankRAG的微調(diào)框架,簡化了原本需要多個模型的復(fù)雜的RAG流水線,用微調(diào)的方法交給同一個LLM完成,結(jié)果同時實(shí)現(xiàn)了模型在RAG任務(wù)上的性能提升。
在需要大量事實(shí)知識的文本生成任務(wù)中,RAG成為了常用的LLM部署技巧。
但佐治亞理工學(xué)院和英偉達(dá)最近發(fā)表的一篇論文提出——RAG可以不止停留在用于推理的pipeline中,類似的思路完全可以移植到微調(diào)階段,于是有了這個名為RankRAG的框架。
論文地址:https://arxiv.org/abs/2407.02485
他們的思路可以概括為:用微調(diào)拓展模型的能力,把原來RAG需要額外模型的檢索、排名任務(wù)全丟回給LLM自己。
結(jié)果發(fā)現(xiàn),不僅數(shù)據(jù)效率提高了,模型性能也有顯著增強(qiáng),相比今年5月剛提出的ChatQA-1.5系列有顯著優(yōu)勢。
在9個通用基準(zhǔn)和5個生物醫(yī)學(xué)的知識密集型基準(zhǔn)上,RankRAG用Llama38B/70B微調(diào)出的模型分別超過了同樣基座上ChatQA-1.5的兩個微調(diào)模型,Llama3-ChatQA-1.5-8B和Llama3-ChatQA-1.5-70B。
ChatQA-1.5項(xiàng)目地址:https://chatqa-project.github.io/
檢索增強(qiáng)生成技術(shù),簡稱為RAG(Retrieval-Augmented Generation),被廣泛適用于LLM的定制化,尤其是知識密集型的NLP任務(wù)??梢詭椭P驮诓桓淖儥?quán)重的情況下掌握「長尾知識」和最新信息,并適應(yīng)到特定的領(lǐng)域。
通常情況下,RAG的工作流程大致是:對于給定問題,由一個基于文本編碼的稠密模型從外部數(shù)據(jù)庫中檢索到top-k個文本段,然后輸入給LLM進(jìn)行讀取,以此為基礎(chǔ)進(jìn)行生成。
來源:AWS
這個pipeline看起來非常符合直覺,也已經(jīng)被廣泛使用,但作者在論文開篇指出了其中的固有局限,首先就是k值的選擇。
如果k值較大(比如top-100),即使是支持長上下文的窗口的LLM也很難快速讀取這么多文本塊。隨著k值的增大,性能會很快飽和。
除了效率原因,之前還有研究表明,k值在5或10這個量級時,生成結(jié)果的準(zhǔn)確性更高。因?yàn)檫^多上下文會引入不相關(guān)內(nèi)容,妨礙LLM生成準(zhǔn)確答案,
《Retrieval meets Long Context Large Language Models》https://arxiv.org/abs/2310.03025
那把k值就定在這個區(qū)間不行嗎?
如果給定一個較小的k,我們需要一種機(jī)制來保證檢索結(jié)果的高召回率(recall)。
鑒于檢索器的表達(dá)能力有限(通常是稀疏檢索模型如BM25,或中等大小的編碼模型如BERT-based),通常無法捕獲所有相關(guān)信息,因此實(shí)際的應(yīng)用過程還會加上一個交叉編碼(cross-encoding)的排名模型。
排名模型從數(shù)據(jù)庫中檢索到top-N個候選 (N ? k),再經(jīng)過一次排名得到最終top-k結(jié)果。
這種方案的缺陷在于,與通用的LLM本身相比,專家排名模型的零樣本泛化能力相對有限,上游檢索結(jié)果的質(zhì)量很可能造成下游LLM生成任務(wù)的瓶頸。這在許多實(shí)證研究中都得到了驗(yàn)證。
基于上述考慮,作者認(rèn)為可以只使用LLM同時完成上下文檢索和內(nèi)容生成任務(wù),通過設(shè)計RAG的指令調(diào)優(yōu)來實(shí)現(xiàn),這種新穎的框架被命名為RankRAG。
OpenAI的GPT-4報告中就發(fā)現(xiàn),檢索、排名過程中發(fā)展出的「確定文本塊與問題是否相關(guān)」的能力對答案的生成同樣有用,這兩者可以被視為「雙重能力」。
RankRAG在訓(xùn)練過程中引入了一項(xiàng)帶指令的問答任務(wù),讓模型能夠識別出與問題相關(guān)的上下文或段落,便于在推理時對檢索結(jié)果進(jìn)行排名。
如果將一部分排名數(shù)據(jù)集成到指令微調(diào)中,還能大大增強(qiáng)LLM在RAG排名任務(wù)中的性能,甚至超過了單獨(dú)用LLM和10×排名數(shù)據(jù)進(jìn)行微調(diào)的結(jié)果。
RankRAG微調(diào)框架
在推理階段,RankRAG的pipeline與上述的的「檢索-排名-生成」流程幾乎相同,首先檢索出帶有相關(guān)性分?jǐn)?shù)的top-N結(jié)果,然后進(jìn)行重新排名并保留top-k段落,將其與問題連接到一起進(jìn)行生成。
主要的不同點(diǎn)在于模型訓(xùn)練過程,使用了兩個階段的指令微調(diào)(圖2)直接增強(qiáng)LLM的相關(guān)能力,而不是在模型外部添加額外操作。
第一階段首先進(jìn)行監(jiān)督微調(diào)(SFT),128k個樣例來自多個數(shù)據(jù)集的混合,包括對話數(shù)據(jù)集SODA、Dolly、OpenAssistant,長格式QA數(shù)據(jù)集ELI5(需要詳細(xì)答案),LLM合成的指令,以及CoT數(shù)據(jù)集FLAN。
這個階段的SFT主要是為了提高LLM的指令跟隨能力,雖然與RAG關(guān)系不大,但可以為接下來的指令微調(diào)過程做好鋪墊。
為了提升LLM的檢索、排名性能,第二階段的微調(diào)數(shù)據(jù)集由以下幾個部分混合組成(表1):
第一階段的SFT數(shù)據(jù):用于維持指令跟隨能力
上下文豐富的QA數(shù)據(jù):涵蓋了DROP、NarrativeQA、Quoref、ROPES、NewsQA、TAT-QA等數(shù)據(jù)集,每條數(shù)據(jù)包含問題、黃金上下文(golden context)和答案
會話QA數(shù)據(jù)集:如Synthetic Conversation和HumanAnnotatedConvQA,同時包括對話內(nèi)容以及一份背景文檔
檢索增強(qiáng)的QA數(shù)據(jù):不僅包括SQuAD和WebQuestions中的問題和答案,還用BM25將黃金上下文和檢索到的top結(jié)果組合起來,確保每條數(shù)據(jù)都有5個上下文,其中有些上下文可能不包括問題答案,甚至是hard-negative,這是為了重點(diǎn)提高LLM對不相關(guān)上下文的魯棒性
上下文排名數(shù)據(jù):使用流行的MS Marco語義相關(guān)性數(shù)據(jù)集,將其中的黃金樣本視為相關(guān)的查詢-段落對 (
免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險自擔(dān)。 如有侵權(quán)請聯(lián)系刪除!
-
【空調(diào)外機(jī)聲音大是什么問題】空調(diào)在使用過程中,如果發(fā)現(xiàn)外機(jī)發(fā)出異常的噪音,可能會讓人感到困擾??照{(diào)外機(jī)...瀏覽全文>>
-
【空調(diào)外機(jī)聲音大如何解決】空調(diào)在使用過程中,外機(jī)發(fā)出較大的噪音是很多用戶遇到的常見問題。這不僅影響居住...瀏覽全文>>
-
【空調(diào)外機(jī)清洗方法是什么】空調(diào)外機(jī)是空調(diào)系統(tǒng)中非常重要的組成部分,它的清潔程度直接影響到空調(diào)的制冷效果...瀏覽全文>>
-
【空調(diào)突然不制冷的原因】當(dāng)家中的空調(diào)突然不再制冷時,不僅影響使用體驗(yàn),還可能帶來一定的安全隱患。了解空...瀏覽全文>>
-
【空調(diào)銅管什么作用】空調(diào)在現(xiàn)代生活中扮演著越來越重要的角色,尤其是在夏季高溫時,它為我們提供了舒適的室...瀏覽全文>>
-
【空調(diào)銅管結(jié)霜怎么回事】空調(diào)在使用過程中,有時會出現(xiàn)銅管結(jié)霜的現(xiàn)象,這不僅影響制冷效果,還可能對設(shè)備造...瀏覽全文>>
-
【空調(diào)銅管結(jié)霜是什么原因】當(dāng)空調(diào)運(yùn)行時,如果發(fā)現(xiàn)室內(nèi)機(jī)的銅管出現(xiàn)結(jié)霜現(xiàn)象,這不僅影響制冷效果,還可能對...瀏覽全文>>
-
【空谷幽蘭是什么意思】“空谷幽蘭”是一個富有詩意的成語,常用來形容在偏僻、冷清的地方生長的蘭花。它不僅...瀏覽全文>>
-
【空格怎么打出來】在日常使用電腦或手機(jī)輸入文字時,經(jīng)常會遇到需要輸入“空格”的情況。雖然看似簡單,但很...瀏覽全文>>
-
【空格怎么打】在日常使用電腦或手機(jī)時,很多人會遇到“空格怎么打”的問題。其實(shí),“空格”是一個非?;A(chǔ)的...瀏覽全文>>