基于博文 Advanced RAG Techniques: an Illustrated Overview 的學(xué)習(xí)和練習(xí)的記錄酌毡。
中文內(nèi)容可以查看博主@寶玉的譯文 高級(jí) RAG 技術(shù):圖解概覽 [譯]
系列筆記:
RAG 學(xué)習(xí)筆記(一)
RAG 學(xué)習(xí)筆記(二)
RAG 學(xué)習(xí)筆記(三)
RAG 學(xué)習(xí)筆記(四)
RAG 學(xué)習(xí)筆記(五)
RAG 學(xué)習(xí)筆記(六)
RAG 學(xué)習(xí)筆記(七)
微調(diào) Encoder 和 LLM
涉及一下兩種深度學(xué)習(xí)模型的微調(diào):
- Transformer Encoder:主要提供 Embedding 能力巷波,影響檢索結(jié)果的質(zhì)量
- LLM:主要負(fù)責(zé)根據(jù)上下文內(nèi)容回答用戶提問滚粟,影響生成響應(yīng)的結(jié)果
需要注意:基礎(chǔ)預(yù)訓(xùn)練模型基于大量由專業(yè)人員整體的數(shù)據(jù)集刺桃,使用小型數(shù)據(jù)集進(jìn)行微調(diào)會(huì)降低模型的通用能力丑搔。
Encoder 微調(diào)
當(dāng)前針對(duì)搜素優(yōu)化的 Transformer Encoder,效果已經(jīng)很不錯(cuò)了,所以對(duì) Encoder 模型微調(diào)帶來的改進(jìn)還待進(jìn)一步討論犀概。
使用 LlamaIndex notebook: Finetune Embeddings 中的微調(diào)流程立哑,作者對(duì)模型 bge- large-en-v1.5 進(jìn)行微調(diào),僅獲得 2% 的效果提升姻灶。
如果數(shù)據(jù)集來自于非常垂直的領(lǐng)域铛绰,則可以考慮進(jìn)行該微調(diào)。
排序微調(diào)
Cross-encoder 模型用于對(duì)檢索結(jié)果排序产喉。Cross-encoder 的微調(diào)過程大致為:
- 將查詢語句
q
與檢索結(jié)果中最相關(guān)的K
個(gè)文本塊(r1, r2, ..., rk)
成對(duì)(q, ri)
傳遞給 cross-encoder 模型 - 微調(diào)模型如果查詢
q
和 文本塊ri
相關(guān)捂掰,則輸出 1,如果不相同則輸出 0
微調(diào)樣例:如何使用 LlamaIndex 微調(diào) cross-encoder曾沈,結(jié)果顯示微調(diào)過后这嚣,cross-encoder 打分的效果提升 4%
LLM 微調(diào)
OpenAI GPT-3.5-turbo 微調(diào)
LlamaIndex notebook: 微調(diào) GPT-3.5-turbo 中介紹了使用 GPT-4 微調(diào) GPT-3.5-turbo 的方法:
- 使用 GPT-3.5-turbo 對(duì)一個(gè)文檔生成一些問題
- 使用 GPT-4 構(gòu)建一個(gè)對(duì)該文檔進(jìn)行問答的 RAG 系統(tǒng),然后生成問題的答案
- 然后使用問答對(duì)來微調(diào) GPT-3.5-turbo
使用 ragas 進(jìn)行測(cè)評(píng)晦譬,基于微調(diào)過后的 GPT 3.5-turbo 構(gòu)建的 RAG 系統(tǒng)疤苹,忠實(shí)度(faithfulness)指標(biāo)提升 4%,說明微調(diào)后的模型能夠更好的使用上下文回答問題敛腌。
利用檢索增強(qiáng)進(jìn)行微調(diào)
Meta AI Research 發(fā)表的論文 RA-DIT: Retrieval Augmented Dual Instruction Tuning 提出了一種使用查詢語句卧土、上下文和回答三元祖,同時(shí)微調(diào) LLM 和 Retriever 的方法(論文中稱為雙編碼器)像樊。
微調(diào)的實(shí)現(xiàn):LlamaIndex notebook:Fine-tuning with Retrieval Augmentation
效果:
- 使用該技術(shù)微調(diào)的 Openai LLM 和 Llama2 開源模型尤莺,在知識(shí)密集型的任務(wù)上提高了 5% 的性能,在常識(shí)推理的任務(wù)上也增加了幾個(gè)百分點(diǎn)的性能生棍。