自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模

發(fā)布于 2024-4-23 09:38
瀏覽
0收藏

大家好,我是HxShine,今天推薦一篇UC Berkeley的一篇RAG效果優(yōu)化的文章~

大模型引入新的知識一般有兩個途徑,一種是RAG檢索增強,一種是SFT,哪種方式效果比較好呢?或者說有沒有一些其他的更為有效的方式呢?

這篇論文介紹了一種新的訓(xùn)練方法——檢索增強型微調(diào)(RAFT:Retrieval Augmented FineTuning),旨在改善領(lǐng)域特定的RAG(Retrieval-Augmented Generation)條件下,大型語言模型(LLMs)對問題的回答能力。

簡單來說,RAFT將RAG+SFT+COT有機的結(jié)合起來,在多項問答測試集上,利用LLama2 7B的模型,就取得了比ChatGPT3.5+RAG結(jié)合的方法。具體來說,在RAFT中,面對一個問題及一組檢索到的文檔時,模型被訓(xùn)練為忽略那些不相關(guān)的知識,同時挖掘其中與問題的相關(guān)知識的來提升問答效果。同時其結(jié)合鏈?zhǔn)剿伎糃OT策略提升推理能力。其在PubMed、HotpotQA、Hugging Face、Torch Hub、TensorFlow Hub等問答數(shù)據(jù)集上,取得了非常不錯的效果。

一、概述

Title: RAFT: Adapting Language Model to Domain Specific RAG URL:?? https://arxiv.org/abs/2403.10131??

Code:?? https://github.com/ShishirPatil/gorilla??

Code2:?? https://github.com/run-llama/llama_index/tree/main/llama-index-packs/llama-index-packs-raft-dataset??

Authors: Tianjun Zhang, Shishir G. Patil, Naman Jain, Sheng Shen, Matei Zaharia, Ion Stoica, Joseph E. Gonzalez

1 Motivation

? 大模型引入新知識(例如緊急新聞或私有領(lǐng)域知識)要么通過RAG,要么微調(diào),但如何最佳地讓模型獲得這些新知識還值得探索。

? 為了改善LLMs在特定領(lǐng)域中的性能,特別是在開放書本式問答("open-book" questioning)任務(wù)中,本文提出了RAFT(Retrieval Augmented FineTuning)方法,嘗試將SFT,RAG,COT進行結(jié)合,提升特定領(lǐng)域QA的效果。

2 Methods

背景:哪種方式引入外部知識最好?

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 1: How best to prepare for an Exam?

1.純監(jiān)督的微調(diào)(FT):種方法通過直接“記憶”輸入文檔或者回答練習(xí)問題(不引用文檔)來“學(xué)習(xí)”,類似于考試前直接背誦或者通過做練習(xí)題來準(zhǔn)備,但沒有引用外部文檔。

2.純檢索增強生成(RAG):這種方法相當(dāng)于開卷考試,但是沒有提前學(xué)習(xí)。即在回答時可以引用文檔,但沒有充分利用固定領(lǐng)域設(shè)置和提前接觸到測試文檔的學(xué)習(xí)機會。

3.監(jiān)督微調(diào)和檢索增強生成結(jié)合(RAFT):結(jié)合了監(jiān)督式微調(diào)(SFT)和檢索增強生成(RAG),通過引用文檔中的相關(guān)段落來生成答案,同時在模擬的不完美檢索環(huán)境中進行訓(xùn)練,從而有效地為開卷考試設(shè)置做準(zhǔn)備。

省流版方案總結(jié):

RAFT: 在RAFT中,給定一個問題和一組檢索到的文檔,訓(xùn)練模型忽略那些無助于回答問題的文檔,即不相關(guān)的文檔,并引用相關(guān)文檔中的正確知識來回答問題。

RAFT方法步驟:

? 采用檢索增強型微調(diào)(RAFT)方法,訓(xùn)練模型識別并忽視那些分散注意力的文檔。

? 通過引用問題答案的相關(guān)文檔中的確切文本序列,實現(xiàn)對問題更準(zhǔn)確的回答。

?結(jié)合RAFT的思路鏈?zhǔn)剑╟hain-of-thought-style)響應(yīng),提高了模型的推理能力。

RAFT方法概覽:

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 2: Overview of our RAFT method.

與傳統(tǒng)RAG不同,RAFT方法探索在訓(xùn)練過程中如何使用正負文檔集來調(diào)整大型語言模型(LLMs),它的核心思想是從一組正文檔和負文檔中讀取外部知識,讓大模型學(xué)習(xí)過濾非相關(guān)知識的能力。在測試時,所有方法都遵循標(biāo)準(zhǔn)的RAG設(shè)置,即在上下文中提供檢索到的前k個文檔。

總的來說RAFT方法通過模擬不完美的檢索環(huán)境和結(jié)合鏈?zhǔn)剿伎硷L(fēng)格的訓(xùn)練,提高模型在特定領(lǐng)域內(nèi)的RAG任務(wù)性能。通過這種方式,RAFT方法旨在提高模型的準(zhǔn)確性和魯棒性,使其在面對檢索到的文檔時能夠更好地識別和利用相關(guān)信息。

RAFT方法的關(guān)鍵特點包括:

1.區(qū)分正負文檔:在訓(xùn)練數(shù)據(jù)中,模型被提供了一個問題(Q)、一組文檔(Dk),以及一個由其中一個文檔(D?)生成的鏈?zhǔn)剿伎硷L(fēng)格的答案(A?)。這里的文檔被分為“正樣本”文檔(D?),即包含問題答案的文檔,和“干擾”文檔(Dk),即不包含答案相關(guān)信息的文檔。

2.訓(xùn)練數(shù)據(jù)的準(zhǔn)備:在數(shù)據(jù)集中的一部分(P%),保留正樣本文檔和干擾文檔;而在另一部分(1-P%)的數(shù)據(jù)中,只包含干擾文檔,不包含正樣本文檔。這樣的訓(xùn)練數(shù)據(jù)準(zhǔn)備方法迫使模型在某些情況下不依賴于文檔內(nèi)容來記憶答案,而是從上下文中推導(dǎo)答案。

3.生成推理過程:RAFT方法強調(diào)生成一個推理過程,如鏈?zhǔn)剿伎迹–hain-of-Thought),來解釋提供的答案。這包括引用原始上下文中的段落,并詳細解釋如何基于引用得出結(jié)論。

3 Conclusion

RAFT方法通過結(jié)合微調(diào)和檢索增強技術(shù),顯著提高了大型語言模型在特定領(lǐng)域內(nèi)的性能。這種方法不僅提高了模型在提供上下文中解決問題的能力,還增強了模型對于干擾文檔的魯棒性,使其在實際應(yīng)用中更加可靠和有效。

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Table 1: RAFT improves RAG performance forall specialized domains

總結(jié):

? 與基礎(chǔ)的LLaMA2模型相比,RAFT在PubMed數(shù)據(jù)集上的性能提升了76.35%,在Torch Hub上提升了86.86%。

? 即使與特定領(lǐng)域的微調(diào)模型(DSF)相比,RAFT也顯示出更好的性能,尤其是在HotpotQA和HuggingFace數(shù)據(jù)集上,分別提升了30.87%和31.41%。

? 與更大的GPT-3.5模型+RAG相比,RAFT在某些數(shù)據(jù)集上也展現(xiàn)了顯著的優(yōu)勢。

二、詳細內(nèi)容

1 RAFT示例

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 3: RAFT prompt to help LLM evaluate its own generated reasoning and answers, contrasting them with the correct reasoning and answers.

該示例說明了如何通過提供問題、上下文和答案來訓(xùn)練大型語言模型(LLMs)生成合理的推理鏈,并據(jù)此給出答案。這個過程中,模型被要求識別和引用正確的文檔內(nèi)容來形成答案,并且能夠評估自己生成的推理和答案的正確性。

1.問題(Question): 模型被給定一個問題,例如:"The Oberoi family is part of a hotel company that has a head office in what city?"

2.上下文(Context): 與問題相關(guān)的一組文檔或信息片段,上下文有相關(guān)的參考信息,也有非相關(guān)的干擾信息。在這個例子中,上下文提供了關(guān)于Oberoi家族和他們在酒店業(yè)的參與的信息,以及Oberoi集團的總部位置。

3.答案(Answer):最終的答案。

4.推理鏈(Chain-of-Thought, CoT): 模型生成的推理過程,它解釋了如何從上下文中得到答案。在這個例子中,推理鏈引用了上下文中的兩個關(guān)鍵信息片段,并解釋了如何根據(jù)這些引用得出Oberoi集團總部位于德里。

5.指令(Instruction): 指導(dǎo)模型如何生成推理鏈的指令。在這個例子中,指令要求模型使用特定的格式來提供推理,即在##Reason##和##Answer##之間插入引用的上下文和最終答案。

通過這種方式,RAFT方法不僅訓(xùn)練模型從文檔中提取和利用相關(guān)信息來回答問題,而且還訓(xùn)練模型生成詳細的推理過程,這有助于提高模型的透明度和可解釋性。此外,這種方法還鼓勵模型自我評估,并從中學(xué)習(xí)改進。這種自我評估的過程有助于模型在未來的任務(wù)中提高性能和準(zhǔn)確性。

2 COT的作用(消融實驗)

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Table 2: Ablation on Chain-of-Thought

1.數(shù)據(jù)集(Datasets):

? PubMed: 專注于生物醫(yī)學(xué)研究問題的問答數(shù)據(jù)集。

? HotpotQA: 一個需要多步推理的問答數(shù)據(jù)集。

? HuggingFace: 來自 Gorilla API Bench 的數(shù)據(jù)集,涉及基于文檔生成正確的 API 調(diào)用。

? Torch Hub: 類似于HuggingFace,也是一個API調(diào)用的數(shù)據(jù)集。

? TensorFlow Hub: 另一個衡量API調(diào)用能力的基準(zhǔn)數(shù)據(jù)集。

2.實驗配置(Model Configurations):

?RAFT w.o CoT: 應(yīng)用了 RAFT 方法但沒有使用 Chain-of-Thought 的模型。

?RAFT: 應(yīng)用了 RAFT 方法并結(jié)合了 Chain-of-Thought 的模型。

3.效果分析(Performance):

? 在大部分列出的數(shù)據(jù)集上,使用 CoT 的 RAFT 模型(RAFT)相比于沒有使用 CoT 的 RAFT 模型(RAFT w.o CoT)都展現(xiàn)出了更好的性能。

? 在 HotpotQA 數(shù)據(jù)集上,使用 CoT 的性能提升尤為顯著,從 25.62% 提升到了 35.28%,增益為 9.66%。

? 在 HuggingFace 數(shù)據(jù)集上,使用 CoT 的性能提升也很明顯,從 59.07% 提升到了 74.00%,增益為 14.93%。

CoT方法顯著提高了模型在特定領(lǐng)域內(nèi)的性能,特別是在處理需要詳細推理和解釋的任務(wù)時。通過生成詳細的推理鏈并引用上下文,模型能夠更清晰地解釋其答案,從而提高了答案的準(zhǔn)確性和可解釋性。這表明CoT是提高模型性能的一個重要組成部分,尤其是在需要模型進行深入理解和推理的復(fù)雜任務(wù)中。

3 RAFT方法與特定領(lǐng)域微調(diào)(DSF)方法對比

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 4: Comparison of RAFT and DSF

1.問題(Question):

? 給定一部電影,和相關(guān)Documents,詢問編劇是誰?

2.文檔(Documents):

? 提供了包含相關(guān)信息的文檔片段,其中提到了編劇David Weissman及其參與的電影作品,包括“Evolution”。

3.RAFT模型的輸出:

? RAFT模型正確地從文檔中提取了信息,并識別出David Weissman是“Evolution”的編劇。RAFT模型生成的推理鏈清晰地引用了文檔中的相關(guān)信息,并據(jù)此給出了正確答案。

4.DSF模型的輸出:

? 相比之下,DSF模型在處理相同的問題和文檔時出現(xiàn)了錯誤。DSF模型錯誤地提取了電影名稱作為編劇。

結(jié)論是,RAFT方法通過結(jié)合鏈?zhǔn)剿伎己蜕舷挛囊?,特別在需要理解和利用提供文檔內(nèi)容的任務(wù)上,提高了模型在特定領(lǐng)域問題上的表現(xiàn)。另外也說明在訓(xùn)練過程中對文檔理解和推理COT的重要性,有助于模型在實際應(yīng)用中更準(zhǔn)確地處理和回答問題。

4 訓(xùn)練過程中正確樣本(外部檢索的知識)的比例(P%)對模型性能的影響

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 5: How many golden documents to involve?

實驗說明:橫軸表示訓(xùn)練數(shù)據(jù)中包含正確樣本的比例,從0%到100%,縱軸表示模型在測試時的最終準(zhǔn)確率。

實驗結(jié)論:在訓(xùn)練大型語言模型時,合理平衡正確樣本和非正確樣本的比例對于提高模型在特定領(lǐng)域RAG任務(wù)上的性能至關(guān)重要。通過調(diào)整這一比例,可以使模型更好地學(xué)習(xí)如何處理和利用相關(guān)文檔信息,同時避免過度依賴特定樣本,從而提高模型的泛化能力和魯棒性。

5 推理時不同數(shù)量的干擾文檔對模型性能的影響

UC Berkeley |RAFT: 對不相關(guān)的RAG檢索結(jié)果進行建模-AI.x社區(qū)

Figure 6: Test-Time Documents Varying

說明:"D*"、"D1"、"D2"、"D3"等符號代表了在訓(xùn)練過程中使用的不同組合的文檔數(shù)量,"D*"代表包含正確答案信息的文檔,這些文檔是回答問題所必需的,包含了解決問題的關(guān)鍵信息。"D1"、"D2"、"D3"等代表干擾文檔,這些文檔不包含回答問題所需的相關(guān)信息。在訓(xùn)練過程中,這些干擾文檔被用來模擬真實世界中的情況,即模型在嘗試從檢索結(jié)果中找到正確答案時,可能會遇到大量不相關(guān)的信息。

總結(jié):

1.訓(xùn)練數(shù)據(jù)配比的重要性,并非所有情況都適合使用相同數(shù)量的干擾文檔進行訓(xùn)練。例如,在某些數(shù)據(jù)集上,訓(xùn)練時使用一個“正樣本”文檔加上三個干擾文檔(D* + 3D)可能會獲得最佳性能,而在其他數(shù)據(jù)集上,可能需要調(diào)整這個比例。

2.在訓(xùn)練過程中模擬真實檢索環(huán)境的重要性。通過在訓(xùn)練中包含不同數(shù)量的干擾文檔,模型可以學(xué)習(xí)在測試時如何處理檢索器可能返回的不確定數(shù)量的文檔,包括正確和錯誤的信息,在有些任務(wù)上可以顯著提升效果。

本文轉(zhuǎn)載自?? NLP PaperWeekly??,作者: NLP PaperWeekly

收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦