成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RAG系統(tǒng)中的困境:上下文不是想加就能加的

發(fā)布于 2024-12-18 10:42
瀏覽
0收藏

“這段代碼明明是對的啊,為什么ChatGPT還給出了錯誤的解釋?我都把相關文檔放進去了!” 

“用戶問的是2024年的新聞,我也給了最新的新聞報道作為上下文,但模型回答的還是2022年的舊聞...” 

相信做RAG應用開發(fā)的同學都遇到過類似的困擾。明明提供了相關的上下文,為什么大模型還是會產(chǎn)生幻覺...是大模型沒有好好利用上下文,還是上下文本身就不足以回答問題? 

最近Google、UCSD等機構的研究者提出了一個新的視角來看待這個問題。他們在論文《SUFFICIENT CONTEXT: A NEW LENS ON RETRIEVAL AUGMENTED GENERATION SYSTEMS》中,首次提出了“充分上下文”的概念,并基于此深入分析了RAG系統(tǒng)中大模型的行為表現(xiàn)。 

論文鏈接:https://arxiv.org/abs/2411.06037 

從相關到充分:重新定義上下文質(zhì)量

在傳統(tǒng)的RAG系統(tǒng)中,我們往往用“相關性”來評價檢索到的文檔質(zhì)量。比如用戶問“特斯拉Model 3的價格是多少?”,檢索系統(tǒng)可能會返回以下幾種文檔: 

文檔A: 

特斯拉Model 3是一款純電動轎車,由特斯拉公司生產(chǎn),采用了最新的電池技術...

文檔B: 

2024年1月,特斯拉官方宣布Model 3在中國市場的官方指導價為23.59萬元起...

文檔C: 

據(jù)悉,特斯拉計劃在2024年第二季度推出Model 3的改款版本,預計將對價格進行調(diào)整...

從相關性的角度看,這三段文本都與特斯拉Model 3有關,但它們對回答價格問題的幫助程度卻大不相同。文檔A雖然介紹了Model 3,但完全沒有價格信息;文檔B給出了明確的當前價格;文檔C提到了價格會調(diào)整,但沒有具體數(shù)字。 

研究者認為,我們需要一個更嚴格的標準:上下文是否“充分”支持回答問題。換句話說:如果基于給定的上下文能推理出一個合理的答案,那這個上下文就是充分的。在上面的例子中,只有文檔B提供了充分的上下文。 

這個概念看似簡單,但實際判斷起來并不容易。比如對于多跳推理類的問題: 

問題:2024年特斯拉在中國的市值超過了哪家傳統(tǒng)車企?

可能需要同時具備以下信息才算充分上下文: 

  1. 特斯拉2024年在中國的市值數(shù)據(jù)
  2. 主要傳統(tǒng)車企2024年在中國的市值數(shù)據(jù)
  3. 這些數(shù)據(jù)的對比關系

那大模型如何使用上下文?

研究者基于“充分上下文”的概念,分析了各種大模型在實際場景中的表現(xiàn)。舉個例子,假設問題是:“2024年2月舉辦的第96屆奧斯卡最佳影片是哪部?” 

場景一:提供充分上下文 

第96屆奧斯卡金像獎于2024年3月10日舉行,電影《奧本海默》獲得最佳影片獎...

場景二:提供不充分但相關的上下文 

《奧本海默》《巴比》《如何優(yōu)雅地炸掉一艘船》等影片入圍第96屆奧斯卡最佳影片獎提名...

在論文中,他們研究發(fā)現(xiàn),面對這兩種場景,不同類型的模型表現(xiàn)出明顯的差異: 

  • 專有模型(如Gemini、GPT)在場景一中能準確回答“《奧本海默》”。但在場景二中,它們傾向于自信地“預測”獲獎影片,而不是承認信息不足。這反映出這類模型可能過度依賴自身的預訓練知識。
  • 開源模型(如Llama、Mistral)即使在場景一中也表現(xiàn)得不夠穩(wěn)定,有時會產(chǎn)生幻覺(比如說是《巴比》獲獎),有時又會過于保守而拒絕回答。這說明這些模型在整合上下文信息方面還有提升空間。

為什么模型有時不需要充分上下文也能對?

在論文中,存在一個比較有趣的發(fā)現(xiàn):即使在上下文不充分的情況下,模型也能在35%-62%的情況下給出正確答案。這是不是就比較unbelievable。 

例如,假設問題是:“愛因斯坦是在哪個國家出生的?”,給出的上下文是: 

愛因斯坦在歐洲度過了他的童年時期,后來移居美國...

這個上下文并不充分,因為沒有直接說明出生地。但模型可能還是會正確回答“德國”,猜測可能的原因是: 

  1. 這是一個眾所周知的事實,存在于模型的預訓練知識
  2. 上下文中提到“歐洲”提供了地理范圍的線索
  3. “童年時期”暗示了這可能與出生地有關

研究者通過分析發(fā)現(xiàn),模型在沒有充分上下文時得到正確答案,主要有這么幾種情況: 

  • 對于是非題,比如“愛因斯坦去過中國嗎?”,即使上下文不充分,模型也有50%的機會猜對。
  • 而對于簡單的選擇題,從有限選項中選擇也會提高正確率。
  • 更有意思的是多跳推理題。有時候上下文提供了部分關鍵信息,模型能夠結合自身知識進行推理。比如問“誰是第一個登上月球的美國宇航員?”,即使上下文只提到“阿姆斯特朗是阿波羅11號任務的指揮官”,模型也可能通過預訓練知識推斷出正確答案。

從“充分上下文”到系統(tǒng)改進:RAG中的深度探索

在理解了大模型的行為模式后,那么,能不能進一步探索如何利用這些發(fā)現(xiàn)來改進RAG系統(tǒng)?論文的作者他們提出了一個核心問題:既然知道了上下文的充分性如此重要,那么,能否構建一個自動化的機制來判斷上下文是否充分,并據(jù)此來指導模型的回答策略?這就面臨下一個核心問題:如何讓自動判斷上下文是否充分?

這個問題看起來就毫無頭緒。就像我們?nèi)祟悾鎸ν粋€問題和上下文,不同的人可能會有不同的判斷。比如問:“特斯拉2024年第一季度的營收是多少?”,給出上下文: 

特斯拉公布2024年第一季度財報:
- 營收同比下降9%
- 毛利率為17.4%
- 交付量達到38.6萬輛

有人可能認為這個上下文不充分,因為沒有給出具體的營收數(shù)字。但也有人可能認為通過同比下降9%,如果知道去年同期數(shù)據(jù),是可以算出具體數(shù)字的。 

好在論文作者們沒有放棄,他們搞了一些實驗,得到如下的一些自動評估方法: 

  1. 使用Gemini 1.5 Pro配合精心設計的提示詞。這種方法在人工標注的測試集上達到了93%的準確率,顯示出了最好的表現(xiàn)。
  2. 使用FLAMe(一個24B參數(shù)的評估模型)。雖然模型相對較小,但通過將長文本分塊評估的策略,也取得了不錯的效果。
  3. 使用傳統(tǒng)的蘊含關系判斷模型TRUE-NLI。這種方法的特點是需要參考標準答案,實用性相對較差。

從實驗結果來看,大模型確實能夠相當準確地判斷上下文是否充分。這為我們構建更智能的RAG系統(tǒng)打開了一扇門。 

選擇性生成:讓模型學會“有所為有所不為”

上面我們提到了:模型既然在信息不充分的時候,可能回答錯誤。那么,順理成章的想法就是:能否讓模型在上下文不充分時,主動選擇不回答問題?

這個想法聽起來很自然,但實現(xiàn)起來好像并不容易。因為如前所述,即使在上下文不充分的情況下,模型有時也能給出正確答案。如果簡單地讓模型在上下文不充分時都拒絕回答,反而會損失這部分正確答案。 

為了能夠達到這個目的,論文作者們設計了一個方案計算如下的兩個結果: 

  1. 上下文是否充分的判斷結果
  2. 模型對自己答案的確信度評分

也就是說,對于每個問題,他們會: 

  • 用FLAMe模型判斷上下文是否充分
  • 讓主模型生成答案和確信度
  • 將這兩個信號輸入到一個簡單的邏輯回歸模型中
  • 根據(jù)邏輯回歸的預測分數(shù)決定是否輸出答案

這個方案的高明之處在于:它不是簡單地依據(jù)單一因素做決定,而是學習了在什么情況下模型更容易給出正確答案。比如,即使上下文不充分,如果模型的確信度特別高,可能也值得冒險輸出答案。 

論文中的實驗結果顯示,這種方法能在保持一定回答覆蓋率的同時,將正確答案的比例提高2-10%。這個提升看似不大,但考慮到基線系統(tǒng)已經(jīng)相當強大,這樣的改進仍然很有意義。 

微調(diào)之路:事情沒那么簡單

除了在推理階段加入控制機制,作者也嘗試了另一個直觀的想法:能否通過微調(diào)讓模型天生就更懂得在上下文不充分時保持謹慎? 

他們設計了三種訓練數(shù)據(jù)混合策略: 

  1. 保持原始答案不變
  2. 隨機選擇20%的樣本,將答案改為“不知道”
  3. 選擇20%上下文不充分的樣本,將答案改為“不知道”

然而,實驗結果有出人意料了。雖然微調(diào)后的模型確實會更多地說“不知道”,但這似乎是以犧牲某些場景下的表現(xiàn)為代價的。比如,有些原本能正確回答的問題,現(xiàn)在模型反而選擇了放棄。從這里我們可以看出:模型行為的改進并不是簡單的“多說不知道”就行了,而是需要在各種場景下都保持合理的判斷。 

這項工作不僅能讓我們更好地理解RAG系統(tǒng)中的行為模式,也給改進RAG系統(tǒng)提供了一些新的思路:

  1. 在構建RAG系統(tǒng)時,除了關注檢索的相關性,還應該評估上下文是否充分。可以考慮:
  • 使用自動評估工具(如FLAMe)判斷上下文充分性
  • 在檢索時增加迭代策略,當上下文不充分時嘗試檢索更多信息
  • 設計更好的提示詞,引導模型在上下文不充分時主動說“不知道”
  1. 在評估RAG系統(tǒng)時,應該分層次看待性能:
  • 上下文充分時的表現(xiàn)
  • 上下文不充分時是否能合理拒答
  • 即使上下文不充分,利用預訓練知識作答的準確率
  1. 選擇合適的基座模型:
  • 如果任務要求高準確率,專有模型在有充分上下文時表現(xiàn)更好
  • 如果希望模型在信息不足時更謹慎,可能需要額外的機制來約束模型行為

從“能用”到“好用”的還有一段路要走

還記得文章開頭我們提到的困擾嗎?“明明提供了相關上下文,為什么模型還是會出錯”。通過這篇論文,我們似乎找到了一些答案:上下文不只是要相關,還要充分;模型不只是要會用上下文,還要懂得合理取舍。 

就像我們?nèi)祟愒诨卮饐栴}時,有時會說“讓我查查資料”,有時會說“這個我知道”,有時會說“抱歉,我沒有足夠的信息來回答”。 

那 RAG 系統(tǒng)能否更加智能一點呢?想象一下,如果你的大模型不只會判斷手上的資料夠不夠用,還能主動告訴你:“這個問題要回答準確的話,我還需要知道XX和YY”,是不是會更貼心?或者更進一步,它能說:“基于目前的信息我只能給出一個大致的答案,如果你需要更準確的信息,我建議查看最新的XX”,這樣的體驗是不是會更好? 

如果要實現(xiàn)這些yy 的功能,需要我們在“充分上下文”的基礎上繼續(xù)探索。比如: 

  1. 在檢索階段,不只是找相關的文檔,而是要理解問題需要哪些具體信息點,有針對性地進行檢索。
  2. 在回答階段,不只是決定說還是不說,而是要能夠進行信息完整性的評估,給出恰當?shù)南薅ㄕZ和建議。
  3. 在交互階段,不只是被動地接受上下文,而是要能主動詢問,逐步完善必要的信息。

本文轉(zhuǎn)載自??芝士AI吃魚??,作者: 芝士AI吃魚 ????

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 久久黄色精品视频 | 亚洲精品高清视频在线观看 | 日韩久久久久久 | av一区二区在线观看 | 91九色在线观看 | 精品中文字幕一区二区三区 | 丝袜久久| 久久久久久久国产 | av在线播放网 | 天天草狠狠干 | 久久免费国产 | 一级二级三级黄色 | 亚洲国产高清高潮精品美女 | 国产91亚洲精品一区二区三区 | 天天夜夜操 | 超碰8| av中文字幕在线 | 成人在线一级片 | 久久婷婷国产香蕉 | 成人午夜在线观看 | 国产精久久久久久久 | 91久久精品国产91久久 | 天天干干 | 久久成人精品 | 中文在线a在线 | 天天综合91| 久久精品久久久久久 | 国产精品久久久久一区二区三区 | 狠狠干狠狠操 | 日韩精品视频在线 | 中文字幕日韩一区 | av日韩在线播放 | 久久久不卡网国产精品一区 | 亚洲高清在线 | 久久久久久免费毛片精品 | 碰碰视频| 91免费小视频 | 亚洲一区二区中文字幕在线观看 | 国产精品爱久久久久久久 | 天天干,夜夜操 | 久久久久久久久久久高潮一区二区 |