RAG還是微調?微軟出了一份特定領域大模型應用建設流程指南
在構建大語言模型應用程序時通常有兩種常見的方法來整合專有和特定領域的數據:檢索增強生成和微調。檢索增強生成通過外部數據增強提示,而微調將額外的知識整合到模型本身中。不過,對這兩種方法的優缺點了解的卻不夠充分。
本文中,來自微軟的研究者引入一個新的關注點:為需要特定背景和自適應響應的行業(農業)創建 AI 助手。本文提出了一個全面的大語言模型流程,用于生成高質量的、行業特定的問題和答案。該方法包含一個系統化的過程,包括鑒別和收集涵蓋廣泛農業主題的相關文檔。接著清理和結構化這些文檔,以便使用基本的 GPT 模型生成有意義的問答對。生成的問答對隨后根據其質量進行評估和篩選。
本文的目標是為特定行業創建有價值的知識資源,以農業為案例研究,最終的目標是能為 LLM 在農業領域的發展做出貢獻。
- 論文地址:https://arxiv.org/pdf/2401.08406.pdf
- 論文標題:RAG vs Fine-tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture
本文提出的流程旨在生成滿足某個行業中專業人員和利益相關者需求的領域特定問題和答案,在該行業中,期望從 AI 助手那里得到的答案應該基于相關的行業特定因素。
本文涉及的是農業研究,目標是生成該特定領域的答案。因此研究的起點是農業數據集,它被輸入到三個主要組件中:問答生成、檢索增強生成和微調過程。問答生成根據農業數據集中的信息創建問答對,檢索增強生成將其用作知識源。生成的數據經過精煉,并用于微調多個模型,其質量通過一組提出的度量標準進行評估。通過這種全面的方法,利用大語言模型的力量,造福農業行業及其他利益相關者。
本文對大語言模型在農業領域的理解做出了一些特殊貢獻,這些貢獻可以歸納如下:
1、對 LLMs 的全面評估:本文對大語言模型進行了廣泛評估,包括 LlaMa2-13B、GPT-4 和 Vicuna,以回答與農業相關的問題。使用了來自主要農業生產國的基準數據集進行評估。本文的分析中,GPT-4 一直表現優于其它模型,但也需要考慮與其微調和推理相關的成本。
2、檢索技術和微調對性能的影響:本文研究了檢索技術和微調對 LLMs 性能的影響。研究發現,檢索增強生成和微調都是提高 LLMs 性能的有效技術。
3、LLMs 在不同行業潛在應用的影響:對于想要建立 RAG 和微調技術在 LLMs 中應用的流程而言,本文走出了開創性的一步,并促進了多個行業之間的創新和合作。
方法
本文第 2 部分詳細介紹采用了方法論,包括數據獲取過程、信息提取過程、問題和答案生成,以及模型的微調。該方法論圍繞著一個旨在生成和評估用于構建領域特定助手的問答對流程展開,如下圖 1 所示。
該流程以數據獲取開始,這包括從各種高質量的存儲庫中獲取數據,比如政府機構、科學知識數據庫,以及必要時使用專有數據。
在完成數據獲取后,流程繼續從收集的文檔中提取信息。這一步驟至關重要,因為它涉及解析復雜且非結構化的 PDF 文件,以恢復其中的內容和結構。下圖 2 展示了數據集中一個 PDF 文件的示例。
流程的下一個組成部分是問題和答案生成。這里的目標是生成有上下文基礎的高質量問題,準確反映提取文本的內容。本文方法采用了一個框架來控制輸入和輸出的結構組成,從而增強語言模型生成響應的整體效果。
隨后,流程為制定的問題生成答案。此處采用的方法利用了檢索增強生成,結合了檢索和生成機制的能力,以創建高質量的答案。
最后,流程通過 Q&A 對微調模型。優化過程采用了低秩調整(LoRA)等方法,確保全面理解科學文獻的內容和背景,使其成為各個領域或行業的有價值資源。
數據集
研究中評估了經過微調和檢索增強生成的語言模型,使用與背景相關的問題和答案數據集,這些數據集來源于三個主要的作物生產國:美國、巴西和印度。本文的案例中,以農業作為工業背景。可用的數據在格式和內容上變化很大,涵蓋了法規文件、科學報告、農學考試以及知識數據庫等各種類型。
本文從美國農業部、州農業和消費者服務機構等公開可獲得的在線文檔、手冊和報告中收集了信息。
可獲得的文檔包括了有關作物和牲畜管理、疾病和最佳實踐的聯邦法規和政策信息,質量保證和出口法規,援助計劃的詳細信息,以及保險和定價指南。收集的數據總計超過 23,000 個 PDF 文件,包含超過 5000 萬個 tokens,涵蓋了美國 44 個州。研究者下載并預處理了這些文件,提取了可以用作問答生成流程輸入的文本信息。
為了對模型進行基準測試和評估,本文使用了與華盛頓州相關的文檔,其中包括 573 個文件,包含超過 200 萬個 tokens。如下清單 5 展示了這些文件中的內容示例。
度量標準
本節的主要目的是建立一套全面的度量標準,目的是指導對問答生成過程的質量評估,尤其是對微調和檢索增強生成方法的評估。
在開發度量標準時,必須考慮幾個關鍵因素。首先,問題質量中固有的主觀性提出了重大挑戰。
其次,度量標準必須考慮到問題的相關性、實用性對上下文的依賴性。
第三,需要評估生成問題的多樣性和新穎性。強大的問題生成系統應該能夠產生涵蓋給定內容各個方面的廣泛問題。然而,對多樣性和新穎性進行量化可能面臨著挑戰,因為這涉及到評估問題的獨特性以及它們與內容、其他生成問題的相似性。
最后,好的問題應該能夠基于提供的內容得到回答。評估問題是否可以使用現有信息來準確回答,這需要對內容進行深刻的理解,并具備識別回答問題的相關信息的能力。
這些度量標準在確保模型提供的答案準確、相關且有效地回答問題方面發揮著不可或缺的作用。然而,在專門設計用于評估問題質量的度量標準方面存在顯著的缺失。
意識到這一缺失,本文專注于開發旨在評估問題質量的度量標準。考慮到問題在推動有意義的對話和生成有用答案方面的關鍵作用,確保問題質量與確保答案質量同樣重要。
本文開發的度量標準旨在彌補以往研究在這一領域的空缺,提供一種全面評估問題質量的手段,這將對問答生成過程的進展產生顯著影響。
問題評估
本文開發的用于評估問題的度量標準如下:
- 相關性
- 全局相關性
- 覆蓋范圍
- 重疊度
- 多樣性
- 詳細程度
- 流暢度
答案評估
由于大語言模型傾向于生成長而詳細的、富有信息的對話式回答,因此評估它們生成的答案是具有挑戰性的。
本文使用了 AzureML 模型評估,采用以下度量標準來將生成的答案與實際情況進行比較:
- 一致性:在給定上下文的情況下,比較實際情況與預測之間的一致性。
- 相關性:衡量答案在上下文中如何有效地回答問題的主要方面。
- 真實性:定義了答案是否邏輯上符合上下文中包含的信息,并提供一個整數分數來確定答案的真實性。
模型評估
為了評估不同的微調模型,本文使用了 GPT-4 作為評估器。利用 GPT-4 從農業文檔中生成了約 270 個問題和答案對,作為實際情況數據集。對于每個微調模型和檢索增強生成模型,生成這些問題的答案。
本文對 LLMs 進行了多個不同度量標準的評估:
- 帶有指南的評估:對于每個問答實際情況對,本文提示 GPT-4 生成一個評估指南,列出正確答案應包含的內容。然后,GPT-4 被提示根據評估指南中的標準,為每個答案打分,分數范圍從 0 到 1。下面是一個例子:
- 簡潔性:創建了描述簡潔和冗長答案可能包含內容的評分表。基于該評分表、實際情況答案和 LLM 答案提示 GPT-4,并要求根據 1 到 5 的分數給出評分。
- 正確性:本文創建了一個描述完整、部分正確或不正確的答案應包含內容的評分表。基于該評分表、實際情況答案和 LLM 答案提示 GPT-4,并要求給出正確、不正確或部分正確的評分。
實驗
本文的實驗被劃分為幾個獨立的實驗,每個實驗都側重于問答生成和評估、檢索增強生成和微調的特定方面。
這些實驗探索以下領域:
- 問答質量
- 上下文研究
- 模型到度量的計算
- 組合生成與分別生成對比
- 檢索消融研究
- 微調
問答質量
該實驗評估了三個大語言模型,即 GPT-3、GPT-3.5 和 GPT-4,在不同上下文設置下生成的問答對的質量。質量評估基于多個指標,包括相關性、覆蓋范圍、重疊度和多樣性。
上下文研究
該實驗研究了不同上下文設置對模型生成問答對性能的影響。它在三種上下文設置下評估生成的問答對:無上下文、上下文和外部上下文。表 12 中提供了一個示例。
在無上下文設置中,GPT-4 在三個模型中具有最高的覆蓋率和大小的提示,表明它可以涵蓋更多的文本部分,但生成的問題更冗長。然而,三個模型在多樣性、重疊度、相關性和流暢度方面的數值都相似。
當包含上下文時,與 GPT-3 相比,GPT-3.5 的覆蓋率略有增加,而 GPT-4 保持了最高的覆蓋率。對于 Size Prompt,GPT-4 具有最大的數值,表明其能夠生成更冗長的問題和答案。
在多樣性和重疊度方面,三個模型表現相似。對于相關性和流暢度,與其他模型相比,GPT-4 略有增加。
在外部上下文設置中,也有類似的情況。
此外,觀察每個模型時,無上下文設置似乎在平均覆蓋率、多樣性、重疊度、相關性和流暢度方面為 GPT-4 提供了最佳平衡,但生成的問答對較短。上下文設置導致了較長的問答對和其他指標的輕微下降,除了大小。外部上下文設置生成的問答對最長,但保持了平均覆蓋率,并在平均相關性和流暢度上略有增加。
總體而言,對于 GPT-4,無上下文設置在平均覆蓋率、多樣性、重疊度、相關性和流暢度方面似乎提供了最佳平衡,但生成的答案較短。上下文設置導致了更長的提示和其他指標的輕微下降。外部上下文設置生成的提示最長,但保持了平均覆蓋率,并在平均相關性和流暢度上略有增加。
因此,在這三者之間的選擇將取決于任務的具體要求。如果不考慮提示的長度,則由于更高的相關性和流暢度分數,外部上下文可能是最佳選擇。
模型到度量的計算
該實驗比較了在用于計算評估問答對質量的度量標準時,GPT-3.5 和 GPT-4 的表現。
總體上,雖然 GPT-4 通常將生成的問答對評價為更具流暢性和上下文真實性,但與 GPT-3.5 的評分相比, 它們的多樣性和相關性較低。這些觀點對于理解不同模型如何感知和評估生成內容的質量至關重要。
組合生成與單獨生成的對比
該實驗探討了單獨生成問題和答案與組合生成問題和答案之間的優劣,并側重于在 token 使用效率方面的比較。
總的來說,僅生成問題的方法提供更好的覆蓋范圍和較低的多樣性,而組合生成方法在重疊度和相關性方面得分更高。在流暢度方面,兩種方法表現相似。因此在這兩種方法之間的選擇將取決于任務的具體要求。
如果目標是覆蓋更多信息并保持更多的多樣性,那么只生成問題的方法會更受青睞。然而,如果要與源材料保持較高的重疊度,那么組合生成方法將是更好的選擇。
檢索消融研究
這個實驗評估了檢索增強生成的檢索能力,這是一種通過在問題回答過程中提供額外上下文來增強 LLMs 固有知識的方法。
本文研究了檢索的片段數量 (即 top-k) 對結果的影響,并在表 16 中呈現了結果。通過考慮更多的片段,檢索增強生成能夠更一致地恢復原始摘錄。
為確保模型能夠處理來自各種地理背景和現象的問題,需要擴展支持文檔的語料庫,以涵蓋各種主題。隨著考慮更多文檔,預計索引的大小將增加。這可能會在檢索過程中增加相似片段之間的碰撞數量,從而阻礙恢復輸入問題的相關信息的能力,降低召回率。
微調
該實驗評估了微調模型與基礎指令微調模型的性能差異。目的在于了解微調對幫助模型學習新知識的潛力。
對于基礎模型,本文評估了開源模型 Llama2-13B-chat 和 Vicuna-13B-v1.5-16k。這兩個模型相對較小,代表了計算與性能之間的有趣權衡。這兩個模型都是 Llama2-13B 的微調版本,使用了不同的方法。
Llama2-13B-chat 通過監督微調和強化學習進行了指令微調。Vicuna-13B-v1.5-16k 是通過在 ShareGPT 數據集上進行監督微調的指令微調版本。此外,本文還評估了基礎的 GPT-4,作為一個更大、更昂貴和更強大的替代方案。
對于微調模型,本文直接在農業數據上對 Llama2-13B 進行微調,以便將其性能與為更通用任務進行微調的類似模型進行比較。本文還對 GPT-4 進行微調,以評估微調在非常大的模型上是否仍然有幫助。帶有指南的評估結果見表 18。
為全面衡量回答的質量,除了準確性外,本文還評估了回答的簡潔性。
表 21 中顯示,這些模型并不始終對問題提供完整的回答。例如,有些回答指出土壤流失是一個問題,但并沒有提到空氣質量。
總的來說,就準確而簡潔地回答參考答案而言,性能最好的模型是 Vicuna + 檢索增強生成、GPT-4 + 檢索增強生成、GPT-4 微調和 GPT-4 微調 + 檢索增強生成。這些模型提供了精確性、簡潔性和信息深度的平衡混合。
知識發現
本文的研究目標是探索微調對幫助 GPT-4 學習新知識的潛力,這對應用研究至關重要。
為了測試這一點,本文選擇了在美國的 50 個州中至少有三個州相似的問題。然后計算了嵌入的余弦相似度,并確定了 1000 個這樣的問題列表。這些問題從訓練集中刪除,使用微調和帶有檢索增強生成的微調來評估 GPT-4 是否能夠根據不同州之間的相似性學習新知識。
更多實驗結果請參閱原論文。