當(dāng)大模型也配備“秘書”:AssistRAG 的創(chuàng)新與應(yīng)用
你是否經(jīng)歷過(guò)這樣的場(chǎng)景:向 ChatGPT 詢問(wèn)一道復(fù)雜的數(shù)學(xué)題,它給出了一個(gè)看似合理但完全錯(cuò)誤的答案;或者明明上下文里有現(xiàn)成的答案,它卻繞了一大圈給出了不著邊際的回復(fù)。這就是大語(yǔ)言模型著名的"幻覺(jué)"問(wèn)題,就像一個(gè)博學(xué)但不夠嚴(yán)謹(jǐn)?shù)膶W(xué)者,時(shí)常會(huì)腦補(bǔ)一些并不存在的信息。
為了解決這個(gè)問(wèn)題,研究人員提出了檢索增強(qiáng)生成(RAG)技術(shù)。簡(jiǎn)單來(lái)說(shuō),就是在模型回答問(wèn)題之前,先讓它查閱相關(guān)的資料。這就像是給學(xué)者配備了一個(gè)圖書館,需要答案時(shí)可以先查證一下。但傳統(tǒng)的 RAG 技術(shù)還是不夠聰明,就像是一個(gè)只會(huì)按圖索骵的圖書管理員,找到的資料可能并不是最相關(guān)的。
最近,來(lái)自清華大學(xué)、香港理工大學(xué)和中國(guó)人民大學(xué)的研究團(tuán)隊(duì)在 NeurIPS 2024 發(fā)表了一篇?jiǎng)?chuàng)新性論文,提出了 AssistRAG 框架。這個(gè)方案特別有意思,它不是直接改進(jìn)主模型,而是給模型配備了一個(gè)智能助手。這就像是給學(xué)者配了一個(gè)博學(xué)多才的研究助理,不僅會(huì)找資料,還能幫忙整理筆記、分析問(wèn)題。
為什么傳統(tǒng) RAG 技術(shù)不夠用?

讓我們通過(guò)一個(gè)具體的例子來(lái)理解傳統(tǒng) RAG 的局限性。假設(shè)用戶問(wèn):"誰(shuí)更年長(zhǎng),NBA 球員丹尼·格林還是詹姆斯·沃西?"看似簡(jiǎn)單的問(wèn)題,實(shí)際上需要多個(gè)步驟:
- 首先需要找到丹尼·格林的出生日期,但檢索時(shí)發(fā)現(xiàn)有多個(gè)"丹尼·格林",有的是拳擊手,有的是音樂(lè)家。傳統(tǒng) RAG 可能會(huì)被這些無(wú)關(guān)信息干擾。
- 然后是詹姆斯·沃西的信息,同樣需要在眾多文檔中準(zhǔn)確定位。
- 最后還要把兩個(gè)日期進(jìn)行比較,得出結(jié)論。
傳統(tǒng)的"檢索-閱讀"模式在每一步都可能出錯(cuò):檢索時(shí)可能找不到準(zhǔn)確信息,閱讀時(shí)可能理解錯(cuò)誤,推理時(shí)可能邏輯混亂。就像一個(gè)經(jīng)驗(yàn)不足的助手,雖然有資料在手,但不知道如何高效地利用。
AssistRAG:打造超級(jí)智能助手

那么,如何打造一個(gè)稱職的助手呢?AssistRAG 的設(shè)計(jì)非常巧妙,它讓助手具備了四種關(guān)鍵能力:
- 第一是高效的信息檢索能力。助手會(huì)先分析問(wèn)題的核心,比如在上面的例子中,它會(huì)先確定是在找 NBA 球員丹尼·格林,而不是同名的拳擊手。這就避免了被無(wú)關(guān)信息干擾。
- 第二是信息提取和分析能力。找到相關(guān)文檔后,助手會(huì)提取關(guān)鍵信息。比如不會(huì)把球員的整個(gè)職業(yè)生涯都列出來(lái),而是只關(guān)注出生日期這個(gè)關(guān)鍵信息。
- 第三是記憶管理能力。如果之前已經(jīng)回答過(guò)類似的問(wèn)題,助手會(huì)把這些經(jīng)驗(yàn)記錄下來(lái)。比如之前可能已經(jīng)查過(guò)詹姆斯·沃西的資料,就不需要重新檢索了。
- 第四是決策判斷能力。助手會(huì)判斷當(dāng)前的信息是否足夠回答問(wèn)題。如果信息不充分或有歧義,它會(huì)主動(dòng)進(jìn)行補(bǔ)充檢索。
研究團(tuán)隊(duì)還設(shè)計(jì)了一個(gè)巧妙的訓(xùn)練方法。就像培養(yǎng)一個(gè)優(yōu)秀的助理一樣,訓(xùn)練分為兩個(gè)階段:

- 第一階段是基礎(chǔ)技能訓(xùn)練。通過(guò)"課程學(xué)習(xí)"的方式,先讓助手掌握基本功能。比如先學(xué)會(huì)做筆記,然后學(xué)會(huì)分解問(wèn)題,最后學(xué)會(huì)提取知識(shí)。這就像是先讓助理學(xué)會(huì)基本的辦公技能,再逐步承擔(dān)更復(fù)雜的工作。
- 第二階段是適應(yīng)性訓(xùn)練。助手需要學(xué)會(huì)配合不同主模型的特點(diǎn)。因?yàn)槊總€(gè)主模型就像是性格不同的老板,有的喜歡詳細(xì)的信息,有的更喜歡簡(jiǎn)明扼要的總結(jié)。助手通過(guò)觀察主模型的反饋,逐漸調(diào)整自己的工作方式。
實(shí)驗(yàn)效果令人震驚
AssistRAG 的效果究竟有多好?研究團(tuán)隊(duì)在三個(gè)復(fù)雜問(wèn)答數(shù)據(jù)集上進(jìn)行了全面測(cè)試。結(jié)果顯示,它不僅整體表現(xiàn)優(yōu)秀,在幫助較弱的模型時(shí)效果更是驚人。
最讓人驚喜的是它對(duì)弱模型的提升效果。以 LLaMA2-chat-7B 為例,在 HotpotQA 數(shù)據(jù)集上,傳統(tǒng) RAG 方法只能達(dá)到 23.0% 的 F1 分?jǐn)?shù),而 AssistRAG 直接提升到了 41.5%,提升幅度達(dá)到驚人的 78%!這就像是給一個(gè)普通學(xué)生配備了一個(gè)優(yōu)秀的助教,成績(jī)突飛猛進(jìn)。
不僅如此,即便是對(duì)于強(qiáng)大的 ChatGPT3.5,AssistRAG 也帶來(lái)了顯著提升。在同樣的數(shù)據(jù)集上,F(xiàn)1 分?jǐn)?shù)從 33.0% 提升到了 44.8%。這說(shuō)明就算是最頂尖的模型,也能從智能助手那里獲得幫助。
實(shí)際應(yīng)用中的精彩案例
讓我們通過(guò)一個(gè)具體的案例來(lái)看看 AssistRAG 是如何工作的。假設(shè)用戶問(wèn):"在維多利亞時(shí)代的英國(guó)文學(xué)作品中,狄更斯和哈代誰(shuí)出生更早?"
傳統(tǒng)的 RAG 可能會(huì)直接檢索包含這兩個(gè)作家名字的文檔,但很可能會(huì)被大量的作品介紹、文學(xué)評(píng)論等無(wú)關(guān)信息干擾。而 AssistRAG 的處理方式就高明多了:
首先,助手會(huì)將問(wèn)題分解為兩個(gè)子問(wèn)題:
- 查找查爾斯·狄更斯的出生日期
- 查找托馬斯·哈代的出生日期
然后,助手會(huì)有針對(duì)性地檢索每個(gè)作家的傳記信息,快速定位到關(guān)鍵信息:狄更斯出生于 1812 年,哈代出生于 1840 年。
更巧妙的是,助手還會(huì)把這個(gè)信息存入記憶庫(kù)。如果以后有人問(wèn)類似的問(wèn)題,比如"狄更斯比哈代年長(zhǎng)多少歲?",就能直接使用已有的信息,而不需要重新檢索。
總結(jié)
AssistRAG 的成功給 AI 領(lǐng)域帶來(lái)了很多啟發(fā)。首先,它證明了"分工協(xié)作"的重要性。就像一個(gè)成功的組織需要不同角色的員工相互配合,AI 系統(tǒng)也可以通過(guò)不同模塊的協(xié)作來(lái)實(shí)現(xiàn)更好的效果。
這種框架展現(xiàn)出了極強(qiáng)的擴(kuò)展?jié)摿Α1热缭诳头到y(tǒng)中,助手可以幫助管理用戶的歷史問(wèn)題和解決方案;在教育領(lǐng)域,助手可以記錄學(xué)生的學(xué)習(xí)進(jìn)度和難點(diǎn),提供更有針對(duì)性的輔導(dǎo)。
不過(guò),AssistRAG 還有一些值得改進(jìn)的地方。比如在處理特別長(zhǎng)的文本時(shí),檢索效率還有提升空間;在個(gè)性化服務(wù)方面,如何讓助手更好地理解不同用戶的特點(diǎn),也是一個(gè)值得研究的方向。
最讓人期待的是,這種"主模型+智能助手"的架構(gòu)可能會(huì)成為未來(lái) AI 系統(tǒng)的標(biāo)準(zhǔn)配置。就像現(xiàn)在的智能手機(jī)都配備了各種智能助手一樣,未來(lái)的 AI 系統(tǒng)也可能都會(huì)有自己的專屬助手,幫助它們更好地服務(wù)用戶。
本文轉(zhuǎn)載自 ??芝士AI吃魚??,作者: 芝士AI吃魚

















