论文分享|RAG理论-第四篇-生成

0.前言

本系列以同济大学的检索增强生成(RAG)综述[1],ACL2023 检索增强语言模型(RALM) Tutorial[2]作为参考材料,讲解RAG的前世今身,包含概述,评估方法,检索器,生成器,增强方法,多模态RAG等内容。

本篇为生成篇,介绍RAG生成器概述和两种生成器优化方法

1.生成器概述

生成器是RAG的关键组成部分,和传统语言模型不同,RAG中的生成器需要根据检索内容用户问题组成的上下文,生成连贯流畅与上下文相关的回复。

2.冻结LLM-检索后处理

大部分冻住LLM的工作依赖于强大的GPT-4模型,利用其全面的内在知识来综合各种检索到的文档信息。然而,这也引发了上下文长度限制对冗余信息敏感两个问题。针对这些问题,当前方法主要关注检索后处理方法。

检索后处理包括处理、过滤或优化检索器从大型文档数据库中检索到的相关信息,主要目标是提高检索结果质量,使它们与用户的需求或后续任务更紧密地对齐。它可以看作是对检索文档的再处理。常见的操作通常包括信息压缩重排序

2.1 信息压缩

  • PRCA[3]两阶段训练了一个信息压缩器—生成式摘要模型(即利用一个生成器将原文档转换为一个通顺的摘要文档)。第一阶段为上下文抽取阶段,利用领域生成式摘要数据集进行预训练。第二阶段为奖励驱动阶段,将用户查询与文档输入信息抽取器得到优化后的文档,将用户查询与优化后文档拼接输入冻结的LLM,得到输出结果,利用输出结果与标注输出结果间的ROUGE-L分数进行强化学习监督训练,进一步优化信息压缩器。
  • RECOMP[4]使用对比学习训练了一个信息压缩器—抽取式摘要模型(即用一个编码器判断文档中句子的重要性(分数),将最重要的若干句子拼接在一起得到摘要),每个训练数据点包含1个正例和5个负例。
  • Filter-Reranker[5]结合了LLM和小语言模型(SLM)各自的优势,SLM作为过滤器,LLM作为重排智能体。先用SLM得到K个可能的标签,再用LLM将SLM得到的K个标签进行重排得到最终结果。这一方法在信息抽取任务上获得了显著提升。

2.2 重排序

  • [6]使用LLM作为重排序模型,让LLM完成Query Likilihood Models(QLMs),即根据文档生成查询的概率进行排序。此外也可以考虑使用LLM对句子的编码作为精排依据、
  • BGE-reranker[7]使用一个可以输入提示的跨注意力编码器将查询和文档作为输入,获得两者相关分数。编码器可以直接推理或微调后提升效果。

3.微调LLM

由于输入包含了额外的文档,对于较小模型一般需要进行进一步微调。一般来说RAG中生成器微调方法和LLM的微调策略是一样的。

3.1 通用优化过程

  • 通用优化过程类似LLM的监督微调过程(SFT),需要让语言模型根据输入x(x包含用户提示和示例),预测输出y,使用语言模型交叉熵损失。Self-Mem[8]使用了这一方法,将检索文档(top-1的文档)和输入拼接输入语言模型预测标注输出
  • Self-Mem[8]使用了两种微调范式—联合编码器(将用户输入和文档组合成完整上下文输入一个编码器,再用一个解码器解码),双流编码器(将用户输入和文档分别用两个编码器编码,再分别作为解码器的QK和V进行解码),有趣的是,联合编码器效果更好

3.2 利用对比学习

  • 在为语言模型准备训练数据时,通常会创建输入-输出文本对。这种传统的方法可能会导致曝光偏差,即模型只针对个别的、正确的输出示例进行训练,导致模型对训练集中的特定例子过拟合,降低模型在各种上下文中泛化的能力。为了解决曝光偏差,SURGE[9]提出使用图对比学习,强制让模型根据知识图谱相关内容生成合理且连贯的回复。
  • 对于需要结构化数据的检索任务,SANTA[10]提出三元组训练策略来有效表示结构和语义的细微语义差别。第一阶段使用对比学习进行检索器训练。随后,生成器的初步训练阶段采用对比学习结构化数据与其非结构化文档描述对齐。在生成器训练的进一步阶段,使用实体掩码预测任务作为优化目标让模型读懂实体

大家好,我是NLP研究者BrownSearch,如果你觉得本文对你有帮助的话,不妨点赞收藏支持我的创作,您的正反馈是我持续更新的动力!如果想了解更多LLM/检索的知识,记得关注我!

4.引用

[1]Gao Y, Xiong Y, Gao X, et al. Retrieval-augmented generation for large language models: A survey[J]. arXiv preprint arXiv:2312.10997, 2023.

[2]Asai A, Min S, Zhong Z, et al. Retrieval-based language models and applications[C]//Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 6: Tutorial Abstracts). 2023: 41-46.

[3]Yang H, Li Z, Zhang Y, et al. PRCA: Fitting Black-Box Large Language Models for Retrieval Question Answering via Pluggable Reward-Driven Contextual Adapter[C]//The 2023 Conference on Empirical Methods in Natural Language Processing. 2023.

[4]Xu F, Shi W, Choi E. Recomp: Improving retrieval-augmented lms with compression and selective augmentation[J]. arXiv preprint arXiv:2310.04408, 2023.

[5]Ma Y, Cao Y, Hong Y C, et al. Large language model is not a good few-shot information extractor, but a good reranker for hard samples![J]. arXiv preprint arXiv:2303.08559, 2023.

[6]Zhuang S, Liu B, Koopman B, et al. Open-source large language models are strong zero-shot query likelihood models for document ranking[J]. arXiv preprint arXiv:2310.13243, 2023.

[7]https://huggingface.co/BAAI/bge-reranker-large

[8]Cheng X, Luo D, Chen X, et al. Lift Yourself Up: Retrieval-augmented Text Generation with Self Memory[J]. arXiv preprint arXiv:2305.02437, 2023.

[9]Kang M, Kwak J M, Baek J, et al. Knowledge Graph-Augmented Language Models for Knowledge-Grounded Dialogue Generation[J]. arXiv preprint arXiv:2305.18846, 2023.

[10]Li X, Liu Z, Xiong C, et al. Structure-Aware Language Model Pretraining Improves Dense Retrieval on Structured Data[J]. arXiv preprint arXiv:2305.19912, 2023.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/800444.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

14、Python之super star:一颗星、两颗星,满天都是小星星

引言 关于Python系列的文章,已经通过两篇文章,介绍了Python中关于函数的简单使用,包括为什么要使用函数,以及函数中带默认值参数的使用注意事项。 之后,岔开函数的主题,通过几篇番外篇,重点谈…

什么是边缘计算技术和边缘计算平台?

随着物联网、5G技术和人工智能的不断发展,数据的规模和种类也在快速增加。在这种背景下,传统的云计算模式面临着一些问题,例如延迟高、网络拥塞等,这些问题限制了数据的处理速度和效率,降低了用户的使用体验。为了解决…

Zookeeper之CAP理论及分布式一致性算法

CAP理论 CAP理论告诉我们,一个分布式系统不可能同时满足以下三种 一致性(C:consistency)可用性(A:Available)分区容错性(P:Partition Tolerance) 这三个基本要求,最多只能同时满足…

ZGC的流程图

GC标记过程 1、初始标记 扫描所有线程栈的根节点,然后再扫描根节点直接引用的对象并进行标记。这个阶段需要停顿所有的应用线程(STW),但由于只扫描根对象直接引用的对象,所以停顿时间很短。停顿时间高度依赖根节点的数…

Redis的使用(四)常见使用场景-缓存使用技巧

1.绪论 redis本质上就是一个缓存框架,所以我们需要研究如何使用redis来缓存数据,并且如何解决缓存中的常见问题,缓存穿透,缓存击穿,缓存雪崩,以及如何来解决缓存一致性问题。 2.缓存的优缺点 2.1 缓存的…

JMeter进行HTTP接口测试的技术要点

参数化 用户定义的变量 用的时候 ${名字} 用户参数 在参数列表中传递 并且也是${} csv数据文件设置 false 不忽略首行 要首行 从第一行读取 true 忽略首行 从第二行开始 请求时的参数设置: 这里的名称是看其接口需要的请求参数的名称 这里的变量名称就是为csv里面…

SpringBatch文件读写ItemWriter,ItemReader使用详解

SpringBatch文件读写ItemWriter,ItemReader使用详解 1. ItemReaders 和 ItemWriters1.1. ItemReader1.2. ItemWriter1.3. ItemProcessor 2.FlatFileItemReader 和 FlatFileItemWriter2.1.平面文件2.1.1. FieldSet 2.2. FlatFileItemReader2.3. FlatFileItemWriter 3…

低空经济持续发热,无人机培训考证就业市场及前景剖析

随着科技的不断进步和社会需求的日益增长,低空经济已成为全球及我国经济增长的新引擎。作为低空经济的重要组成部分,无人机技术因其广泛的应用领域和显著的经济效益,受到了社会各界的广泛关注。为满足市场对无人机人才的需求,无人…

【动态规划1】斐波那契数列模型篇

文章目录 声明动态规划介绍1137.第N个泰波那契数题目描述分析代码 面试题 08.01. 三步问题题目描述分析代码 746.使用最小花费爬楼梯题目描述分析代码 91.解码⽅法题目描述分析代码 声明 本篇博客为动态规的基础篇,从零开始学习动态规划,如有错误&#…

MATLAB quiver矢量图 设置colorbar

给三维矢量图按照不同高度设置箭头颜色 figure clf X surfaceuz(:,1); Y surfaceuz(:,2); Z surfaceuz(:,3); hold onzcolor jet; % qquiver3(X,Y,Z,X,Y,W) for i 1:length(surfaceuz)quiver3(X(i),Y(i),Z(i),X(i),Y(i), Z(i),...Color,zcolor(floor((Z(i) - -0.1) * 2…

408数据结构-图的应用3-有向无环图、拓扑排序 自学知识点整理

前置知识:表达式,图的遍历 有向无环图描述表达式 有向无环图:若一个有向图中不存在环,则称为有向无环图,简称 D A G DAG DAG图 。 (图片来自王道考研408数据结构2025) 由王道考研-咸鱼学长的讲…

深圳晶彩智能JC3636W518C开箱实现电脑副屏功能

深圳晶彩智能发布了JC3636W518C 这是一款中国制造的,铝合金外壳,价格非常震撼的开发板。原创是billbill的up播主萨纳兰的黄昏设计的ESP32太极小派,由深圳晶彩智能批量生产。 该款 LCD 模块采用 ESP32-S3R8 芯片作为主控,该主控是双核 MCU&…

Vulnhub:DC-1

1.环境搭建 靶机下载地址 将下载的靶机导入到Oracle VM VirtualBox中,设置仅主机模式,使用和kali相同的网卡 2.渗透过程 使用nmap工具进行主机发现扫描 nmap -sn 192.168.56.0/24 发现靶机ip地址,使用nmap工具进行靶机端口扫描 nmap -sS…

一文说透Springboot单元测试

你好,我是柳岸花开。 一、单元测试说明 1 单元测试的优点与基本原则 一个好的单元测试应该具备以下FIRST 原则和AIR原则中的任何一条: 单元测试的FIRST 规则 Fast 快速原则,测试的速度要比较快, Independent 独立原则,…

Qt 多窗体、复用窗口的使用

1.继承自QWidge的窗口的呈现,作为tabPage呈现,作为独立窗口呈现 2.继承自QMainWindow的窗口的呈现,作为abPage呈现,作为独立窗口呈现 1. 继承自QWidge的窗口的呈现 1.1 作为tabPage呈现 void MutiWindowExample::on_actWidgetI…

AI绘画入门实践|Midjourney 提示词的使用技巧

提示词长短 尽可能做到简洁明了。 提示词很短 MJ 出图的随机性更高,创造的内容更有想象力,更适合创意发散的图像生成。 a dog 提示词很长 MJ 出图会更加精准,但描述太过详细,有可能出现AI理解不到位的情况。 越到后面的提示词&…

风险评估:IIS的安全配置,IIS安全基线检查加固

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们需…

Java面试八股之Redis集群Cluster

Redis集群Cluster Redis Cluster是一种基于数据分片(Sharding)的分布式缓存和存储系统,它实现了数据的水平扩展、高可用性和自动故障转移。以下是对Redis Cluster模式详细实现流程的描述: 1. 初始化与配置 部署节点&#xff1a…

flutter 手写 TabBar

前言: 这几天在使用 flutter TabBar 的时候 我们的设计给我提了一个需求: 如下 Tabbar 第一个元素 左对齐,试了下TabBar 的配置,无法实现这个需求,他的 配置是针对所有元素的。而且 这个 TabBar 下面的 滑块在移动的时…

产品经理-产品经理会在项目中遇到的几个问题(16)

项目中遇到了需求变更怎么办? 首先要弄清楚需求变更的原因是什么。如果是因为在迭代的过程中更好地理解了用户需求 进而产生了更好的需求则完全是正常的。如果是因为老板的需求 那就需要和老板沟通清楚,并且确保自己能理解老板的需求,而且这个…