????????檢索增強生成 (RAG) 提供了一種將 ChatGPT/GPT-4 等大型語言模型與自定義數據集成的途徑,但存在局限性。讓我們看看 RAG 最近的研究是如何解決一些問題。
????????大語言模型(LLM)將改變整個金融領域。其中一個場景是大語言模型可以學習大量文檔,并在很短的時間內分析趨勢并分析收益。但存在的問題是很多時候你得到的答案只是部分且不完整的。舉例來說,您有一個文檔,其中包含 X 公司過去 15 年的年收入,但位于不同的段落。在標準檢索增強生成 (RAG) 架構中,您通常檢索前 k 個相似文檔,或選擇固定上下文長度內的文檔。然而,這可能會帶來幾個問題。一個問題是 top-k 文檔并不包含所有答案——例如可能僅對應于過去 5 或 10 年。另一個問題是您檢索的塊和問題并不一定相似。在這種情況下,您可能會得到錯誤的答案
????????當您已經開發了普通的 RAG 策略,該策略在您測試的簡單情況下運行良好,但當您提出一些開箱即用的問題時,就會失敗。讓我們看一下 RAG 最近的一些創新,看看它們如何為上述問題提供解決方案。
自我RAG
????????作者開發了一種巧妙的方法,微調模型,讓模型如(Llama2-7B 和 13B)輸出特殊標記 ?[Retrieval], [No Retrieval], [Relevant], [Irrelevant], [No support / Contradictory], [Partially supported], [Utility]等附加到 LM 生成中,用于決定上下文是否相關/不相關、是否支持從上下文生成 LM 文本以及對生產是否有用。
訓練自我 RAG
????????Self-RAG 通過兩步過程進行訓練。在步驟 1 中,訓練一個簡單的 LM 對生成的輸出(僅提示或提示 + RAG 增強輸出)進行分類,并在末尾附加相關的特殊標記。這個模型是通過 GPT-4 進行訓練的。具體來說,GPT-4 是使用特定指令進行提示的(“Given an instruction, make a judgment on whether finding some external documents from the web helps to generate a better response.”)
在步驟 2 中,生成器模型使用標準的下一個標記預測目標,生成用于檢索/批評生成的特殊標記。與其他微調或 RLHF 方法不同,下游訓練會影響模型輸出并使后代產生偏差,通過這種簡單的方法,模型僅被訓練以生成適當的特殊標記,不會改變底層 LM!太棒了!
評估自我RAG
????????作者針對公共衛生事實驗證、多項選擇推理、問答等進行了一系列評估。共有 3 種類型的任務。閉集任務包括事實驗證和多項選擇推理,并以準確性作為評價指標。簡短的生成任務包括開放域問答數據集。作者評估了模型生成中是否包含較好答案,而不是嚴格要求精確匹配。
長篇生成包括傳記生成和長篇問答。為了評估這些任務,作者使用 FactScore 來評估傳記——基本上是對生成的各種信息及其事實正確性的衡量。對于長格式的 QA,使用了引用精度和召回率。
Self-RAG 在非專有模型中表現最好,并且在大多數情況下較大的 13B 參數優于 7B 模型。在某些情況下它甚至優于 ChatGPT。???????
?