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

RAGLAB:又來一個RAG框架,還是模塊化的

發(fā)布于 2024-8-27 12:37
瀏覽
0收藏

1. 背景

檢索增強生成(RAG)借助外部知識來緩解幻覺問題,保障實時知識更新。然而,大家在研究 RAG 算法時面臨兩大主要問題:

? 一方面,許多已發(fā)表的成果要么并非開源,要么難以搭建環(huán)境,大家不得不耗費大量時間從零開始研發(fā)新算法。

? 另一方面,新的 RAG 算法紛紛涌現(xiàn),比如 ITER-RETGEN、RRR、Self-Ask、Active RAG、Self-RAG 等等。然而,這些 RAG 算法在基本組件和評估方法上并不統(tǒng)一,導致大家難以準確評估改進效果。

雖然現(xiàn)在也有很多新的開發(fā)框架支持RAG算法,比如:LlamaIndex、LangChain、Haystack、FastRAG、RALLE、LocalRQA、AutoRAG 和 FlashRAG。

? LlamaIndex、LangChain 和 Haystack 過度封裝,內(nèi)部運作機制缺乏透明度。

? FastRAG 和 RALLE 提供了輕量且透明的框架,使用戶能夠運用核心組件組裝自己的 RAG 系統(tǒng)。

? AutoRAG 提供了全面的指標,為定制數(shù)據(jù)挑選最優(yōu)的 RAG 系統(tǒng)。

? LocalRAG 提供了豐富的模型訓練算法和評估方法。

? FlashRAG 通過重現(xiàn)大量現(xiàn)有算法解決了這一問題。然而,F(xiàn)lashRAG 缺少訓練功能,并且在推理時無法正確對齊生成器,導致各種算法之間的比較有失公平。

為了填補這一空缺,作者推出了 RAGLAB,一個面向研究人員的 RAG 工具包,用于對現(xiàn)有 RAG 算法進行公平比較,并簡化新算法的開發(fā)流程。

2. RAGLAB

RAGLAB 的整體架構(gòu)如上圖所示。

2.1 類和概念

2.1.1 檢索器

RAGLAB 整合了兩個高性能的基于 BERT 的模型,即 Contriever 和 ColBERT。而且,RAGLAB 統(tǒng)一了不同檢索器類的查詢接口,方便用戶在各種檢索器之間無縫切換。

在評估階段,研究人員需要并行對多個 RAG 算法進行基準測試。為了避免反復加載和查詢檢索器模型及知識數(shù)據(jù)庫會耗費大量時間,RAGLAB 設計了檢索器服務器和客戶端架構(gòu),實現(xiàn)對檢索器的高并發(fā)訪問。

此外,RAGLAB 還實現(xiàn)了檢索緩存機制。會存儲初始查詢的結(jié)果及其檢索到的知識。所以,當使用相同輸入進行查詢時,檢索器會直接返回緩存結(jié)果,無需重新計算。

基于 RAGLAB,用戶只需加載一次檢索器模型和知識數(shù)據(jù)庫,就能在多個并行評估實驗中實現(xiàn)延遲小于 0.1 秒的檢索服務。

2.1.2 語料庫

外部知識數(shù)據(jù)庫對 RAG 系統(tǒng)的性能有重大影響。

RAGLAB 提供了兩個版本的預處理維基百科語料庫:第一個版本基于 DPR 項目開源的 2018 年維基百科數(shù)據(jù);第二個版本利用 FactScore 開源的 2023 年維基百科數(shù)據(jù)。

RAGLAB 還基于維基百科 2018 和 2023 語料庫為 ColBERT 和 Contriever 模型預先構(gòu)建了索引和嵌入。另外,RAGLAB 開源了所有處理腳本,方便研究人員直接下載預處理的維基百科語料庫及其相應的索引和嵌入。

2.1.3 生成器

生成器是 RAG 系統(tǒng)的核心組件。集成了 Huggingface Transformers 和 VLLM,使得 RAGLAB 能夠兼容眾多開源模型,同時提供穩(wěn)定高效的推理性能。

RAGLAB 還融入了量化和LoRA功能,讓用戶即便在計算資源有限的情況下,也能使用 70B 或更大的模型作為生成器。

此外,考慮到用戶可能需要在單個 RAG 算法中同時加載多個生成器,開發(fā)了一個 GPU 管理模塊。該模塊能讓用戶通過參數(shù)配置在指定的 GPU 上精準分配多個生成器。

除了開源模型,生成器模塊包含OpenaiModel,支持像 OpenAI 這樣的閉源大型語言模型。未來的發(fā)展會將支持擴展到包括 Claude、Gemini 和 Azure 在內(nèi)的其他閉源大型語言模型。

2.1.4 指令實驗室

指令對大型語言模型生成的輸出質(zhì)量影響顯著。然而,在諸如 LlamaIndex 和 LangChain 等框架中,許多關(guān)鍵指令缺乏透明度,被封裝在架構(gòu)的底層。這種封裝不方便修改提示詞指令。

為解決這些問題,RAGLAB 設計了指令實驗室模塊,其中包括三個關(guān)鍵組件:系統(tǒng)指令、任務指令和算法指令。允許用戶從 3 個指令池中高效導入和組合所需的提示。此外,用戶可以在配置設置中調(diào)整參數(shù),便于使用不同指令進行對比實驗。

2.1.5 訓練器

RAGLAB 集成了 Accelerate 和 DeepSpeed 庫,以提供全面且高效的微調(diào)能力。此外,訓練器模塊支持LoRA和QLoRA技術(shù),使用戶能夠在計算資源有限的情況下微調(diào)70B或更大的模型。

2.1.6 數(shù)據(jù)集和指標

如上表,RAGLAB 收集了 10 個被廣泛使用的測試數(shù)據(jù)集,涵蓋 5 個不同的任務。

RAGLAB 提供了 3 個經(jīng)典指標和 2 個高級指標。

經(jīng)典指標包括準確性、精確匹配和 F1 分數(shù)。

高級指標包括 Factscore 和 ALCE。

? FactScore 是一種評估長文本生成的事實準確性的高級指標。

? ALCE 則作為評估 RAG 系統(tǒng)的引用準確性和召回率的基準。ALCE 還整合了其他指標,包括 ROUGE-L、MAUVE、str-em 和 str-hit。

2.2 架構(gòu)和開發(fā)指南

RAGLAB 重現(xiàn)了六種已發(fā)表的 RAG 算法,分別是 Naive RAG、RRR、ITER-RETGEN、Self-ASK、Active RAG 和 Self-RAG。這些算法有諸多相似之處,每個高級的 RAG 算法本質(zhì)上都是對 Naive RAG 的改進。

RAGALB 的設計理念源自 HuggingFace Transformer 庫。用戶只需從 Transformer 庫中定義他們的模型,然后就能使用generate()方法進行推理。

RAGALB 將每個 RAG 算法實現(xiàn)為一個不同的類。每個算法類中的兩個關(guān)鍵方法是init()和infer()。init()?方法用于設置參數(shù)和加載生成器,而infer()方法實現(xiàn)算法的推理過程。

基于這個設計框架,用戶可以通過幾個簡單步驟開發(fā)新算法,如上圖所示:

(1)定義一個繼承自NaiveRAG的NewMethod()?類。(2)通過重寫init()?方法為新算法添加必要的參數(shù)和組件。(3)通過重寫infer()方法,利用框架提供的組件實現(xiàn)新算法的推理邏輯。

繼承自 NaiveRAG 的算法可以復用inference()?方法和所有實用函數(shù)。值得注意的是,inference()?方法已經(jīng)提供了自動評估和交互功能。這種設計讓研究人員能夠?qū)W⒂谠O計infer()方法來開發(fā)新算法。

2.3 示例腳本

RAGLAB 提供了一個用戶友好的界面,允許用戶僅用 5 行代碼重現(xiàn) RAG 算法以進行交互或評估。

如上圖所示,展示了一個在交互和評估模式下重現(xiàn) Self-RAG 算法的示例腳本。

實現(xiàn)過程如下:

? (1)get_config()函數(shù)從 YAML 文件讀取參數(shù)并定義 args 對象。

? (2)根據(jù) args 參數(shù)定義SelfRag_Reproduction類,為 Self-RAG 算法做好所有設置。

? (3)調(diào)用第 9 行的inference()方法進入交互模式。

? (4)再次調(diào)用第 12 行的inference()方法進入評估模式。

3. 局限性

? 鑒于計算資源有限,RAGLAB 當下僅涵蓋 6 種算法和 10 個被廣泛運用的基準。然而,仍有必要納入更多算法和數(shù)據(jù)集。

? 不同的檢索器模型和外部知識數(shù)據(jù)庫對 RAG 算法的性能有著顯著影響。由于計算資源受限,僅處理了 2018 年和 2023 年的維基百科。

? 當下的研究主要聚焦于提升算法的性能,缺少對資源消耗和推理延遲的全面評估。目前,RAGLAB 僅包含 3 個經(jīng)典指標和 2 個高級指標。

本文轉(zhuǎn)載自??大語言模型論文跟蹤??,作者:HuggingAGI ????

收藏
回復
舉報
回復
相關(guān)推薦
主站蜘蛛池模板: 国产伦精品一区二区 | 91视频大全| 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产乱码精品一区二区三区五月婷 | 亚洲激情网站 | 免费观看黄网站 | 国产高清精品一区二区三区 | 超碰成人免费观看 | 成人在线网址 | 欧洲精品码一区二区三区免费看 | 亚洲国产精品va在线看黑人 | 国产一区二区三区 | 综合久久久久 | 成人一区二区三区视频 | 精品国产鲁一鲁一区二区张丽 | 久久亚洲欧美日韩精品专区 | 91免费电影| 精品视频在线观看 | 国产亚洲欧美另类一区二区三区 | 天堂综合网久久 | 国产精品国产成人国产三级 | 91在线视频免费观看 | 超碰成人免费观看 | 亚洲一区二区在线播放 | 欧美最猛性xxxxx亚洲精品 | 青青草视频网站 | 日韩一级免费电影 | 国产激情在线 | 人人干人人玩 | 最新日韩精品 | 亚洲国产精品久久久久秋霞不卡 | 91精品国产综合久久久久久首页 | 天天影视网天天综合色在线播放 | 玖玖久久 | 精品成人一区二区 | 国产成人精品一区二区三区四区 | 欧美日韩在线观看一区二区三区 | 请别相信他免费喜剧电影在线观看 | 国产免费福利在线 | 免费网站国产 | 精品欧美一区免费观看α√ |