Re59:读论文 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文名称:Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
模型开源地址:https://huggingface.co/facebook/rag-token-nq

ArXiv下载地址:https://arxiv.org/abs/2005.11401

本文是2020年NeurIPS论文,属于RAG+LLM领域。作者来自Facebook

本文的研究背景也是说直接用LM存储的知识不够,且难以扩展和修正,有幻觉,还是得上检索(提供决策出处,可以更新知识)。
LM是预训练的seq2seq模型(BART),知识库是维基百科的稠密向量索引(用预训练的神经网络实现检索 Dense Passage Retriever (DPR))。要么一次检索一波(per-output basis),要么一个token检索一波(per-token basis)(这个见模型部分)。

其实看起来就是REALM的拓展版,将检索文档改成视为隐变量,然后拓展了下游任务,而且是全链路端到端的训练。
比REALM迟,参考文献里就有REALM。但是不用代价高昂的“salient span masking” pre-training

总之整个工作还是做得很全面的,实验充分,真羡慕啊。

在这里插入图片描述

1. related work

non-parametric memory除检索外的形式:
memory networks
stack-augmented networks
memory layers

RAG知识量大而且不需要额外训练

knowledge-intensive tasks:人们认为没有额外知识就没法做的任务,比如常识题(什么行测)

2. 模型

端到端训练:将检索到的文档视为隐变量

RAG-Sequence:对每一篇检索文档都预测完整的生成结果,加总
在这里插入图片描述

RAG-Token:每一个token都是大家的机会,每个token上重新检索一次
在这里插入图片描述

检索器DPR
在这里插入图片描述
top k:Maximum Inner Product Search (MIPS)问题 ← FAISS

生成器BART
(在实验中只更新query encoder和生成器)

训练时没有检索文档的标注信息。

解码:

  1. RAG-Token:标准生成任务
    在这里插入图片描述
  2. RAG-Sequence:Thorough Decoding + Fast Decoding(没看懂其实,以后再看)

3. 实验

Jeopardy Question Generation指标这里用了一个Q-BLEU,以前我还真没见过

在这里插入图片描述

还有一条是生成能获得原文中没有的结果

在这里插入图片描述
在生成方面还有一些别的优势,略。

在这里插入图片描述

在这里插入图片描述

RAG-Token的后验概率可视化:
在这里插入图片描述
这里面这个太阳照常升起和永别了武器都是在开头概率高了点,后面就平了,论文里提及认为这里时因为模型内置信息能够自己填完了,还做了个小实验。

生成的多样性:
在这里插入图片描述

冻结检索器的消融实验:
在这里插入图片描述

更新知识的实验

检索文档数(K)的影响:
在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 22:48:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 22:48:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 22:48:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 22:48:03       20 阅读

热门阅读

  1. 错题总结(三)

    2023-12-13 22:48:03       42 阅读
  2. CEF 窗口全屏

    2023-12-13 22:48:03       46 阅读
  3. 前端处理跨域问题

    2023-12-13 22:48:03       40 阅读
  4. go mod命令

    2023-12-13 22:48:03       34 阅读
  5. boost::graph学习

    2023-12-13 22:48:03       37 阅读
  6. uniapp页面跳转如何传递及接收对象参数?

    2023-12-13 22:48:03       44 阅读
  7. 分别用 grep,sed,awk 实现文本筛选过滤功能

    2023-12-13 22:48:03       47 阅读
  8. leetcode做题笔记2697. 字典序最小回文串

    2023-12-13 22:48:03       41 阅读