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

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG 原創(chuàng)

發(fā)布于 2024-11-28 16:37
瀏覽
0收藏

前言

RAG現(xiàn)在工作很多,進(jìn)化的也很快,再來看看一個新的RAG工作-MemoRAG

文章提出,RAG在減少大模型對于垂類知識的問答幻覺上取得了不錯的效果,也成為私域知識問答的一種范式。然而,傳統(tǒng)RAG系統(tǒng)主要適用于明確信息需求的問答任務(wù),但在處理涉及模糊信息需求或非結(jié)構(gòu)化知識的復(fù)雜任務(wù)時表現(xiàn)不佳。因?yàn)椋F(xiàn)實(shí)世界中的許多問題信息需求是模糊的,外部知識是非結(jié)構(gòu)化的,例如理解書籍中主要角色之間的相互關(guān)系。

因此,研究難點(diǎn)在于:

  • 如何有效處理模糊的信息需求
  • 如何從非結(jié)構(gòu)化知識中提取有用信息
  • 如何在長文本上下文中進(jìn)行有效的信息檢索和生成

本文介紹的MemoRAG,一種基于長期記憶的檢索增強(qiáng)生成新范式。

方法

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

MemoRAG

  • 傳統(tǒng)RAG

     

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

MemoRAG:MemoRAG提出了一個雙系統(tǒng)架構(gòu),采用了一個輕量級但長上下文的LLM來形成數(shù)據(jù)庫的全局記憶,并在任務(wù)呈現(xiàn)時生成草稿答案,提示檢索工具在數(shù)據(jù)庫中定位有用信息。另一方面,它利用一個能力較強(qiáng)的LLM,根據(jù)檢索到的信息生成最終答案。
MemoRAG的核心是引入了一個記憶模塊

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

記憶模塊設(shè)計(jì)

1.輸入
輸入序列 X 包含 n 個標(biāo)記,表示為X1,...,Xn

2.標(biāo)注注意力機(jī)制

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

4.記憶模塊訓(xùn)練

  • 訓(xùn)練過程
    記憶模塊的訓(xùn)練分為兩個階段

預(yù)訓(xùn)練:使用來自RedPajama數(shù)據(jù)集的隨機(jī)抽樣長上下文對模型進(jìn)行預(yù)訓(xùn)練,使記憶模塊能夠從原始上下文中學(xué)習(xí)如何形成記憶。

指令微調(diào)(SFT):使用特定任務(wù)的SFT數(shù)據(jù),使MemoRAG能夠基于形成的記憶生成特定任務(wù)的線索。


  • 訓(xùn)練目標(biāo)
  • RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

通過這種設(shè)計(jì),記憶模塊能夠有效地將大量原始上下文壓縮成少量的記憶標(biāo)記,同時保留關(guān)鍵的語義信息,從而在處理長上下文和高層次查詢時提供顯著的優(yōu)勢。

基本使用

from memorag import MemoRAG

# Initialize MemoRAG pipeline
pipe = MemoRAG(
    mem_model_name_or_path="TommyChien/memorag-mistral-7b-inst",
    ret_model_name_or_path="BAAI/bge-m3", 
    gen_model_name_or_path="mistralai/Mistral-7B-Instruct-v0.2", # Optional: if not specify, use memery model as the generator
    cache_dir="path_to_model_cache",  # Optional: specify local model cache directory
    access_token="hugging_face_access_token",  # Optional: Hugging Face access token
    beacon_ratio=4
)

context = open("examples/harry_potter.txt").read()
query = "How many times is the Chamber of Secrets opened in the book?"

# Memorize the context and save to cache
pipe.memorize(context, save_dir="cache/harry_potter/", print_stats=True)

# Generate response using the memorized context
res = pipe(cnotallow=context, query=query, task_type="memorag", max_new_tokens=256)
print(f"MemoRAG generated answer: \n{res}")

運(yùn)行上述代碼時,編碼后的鍵值 (KV) 緩存、Faiss 索引和分塊段落都存儲在指定的 中save_dir。之后,如果再次使用相同的上下文,則可以快速從磁盤加載數(shù)據(jù):

pipe.load("cache/harry_potter/", print_stats=True)

摘要任務(wù)

res = pipe(cnotallow=context, task_type="summarize", max_new_tokens=512)
print(f"MemoRAG summary of the full book:\n {res}")

實(shí)驗(yàn)

RAG再進(jìn)化?基于長期記憶的檢索增強(qiáng)生成新范式-MemoRAG-AI.x社區(qū)

參考文獻(xiàn)

  • paper:MEMORAG: MOVING TOWARDS NEXT-GEN RAG VIA MEMORY-INSPIRED KNOWLEDGE DISCOVERY,https://arxiv.org/pdf/2409.05591v2
  • code:https://github.com/qhjqhj00/MemoRAG


本文轉(zhuǎn)載自公眾號大模型自然語言處理  作者:余俊暉

原文鏈接:??https://mp.weixin.qq.com/s/f5GiIcjtEuxtOitPgfsjcQ??


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
標(biāo)簽
已于2024-11-28 18:47:29修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 免费av观看 | 日韩欧美一区二区三区免费看 | 久久精品成人 | 九九国产 | 国产精品久久久久久久久久久久冷 | 久久中文字幕视频 | 国产成都精品91一区二区三 | 欧美成年人网站 | 国产91在线 | 亚洲 | 99视频精品 | 亚洲欧美国产精品一区二区 | 日本a v在线播放 | 久久久一区二区三区 | 97色在线观看免费视频 | 91麻豆精品国产91久久久更新资源速度超快 | 精品国产乱码久久久久久蜜柚 | 男女免费网站 | 久久99久久98精品免观看软件 | 在线观看中文字幕亚洲 | 在线一区二区观看 | 在线观看亚洲一区二区 | 精品二区视频 | 久久se精品一区精品二区 | 在线一区视频 | 一级黄色生活视频 | 激情五月综合网 | 国产精品久久久久久久久久久免费看 | 国产一区二区三区视频 | 亚洲欧美日韩中文字幕一区二区三区 | 欧美综合国产精品久久丁香 | 日韩在线视频观看 | 欧美国产亚洲一区二区 | 99九色 | 日韩精品一区二区三区 | 欧美a区 | a在线观看免费 | 亚欧精品一区 | 视频一区二区在线观看 | www国产亚洲精品久久网站 | 欧美日韩一本 | 黄网站色大毛片 |