【LLM之RAG】RAFT论文阅读笔记

研究背景

论文针对的主要问题是如何将预训练的大型语言模型(LLMs)适应特定领域的检索增强生成(RAG)。这些模型通常在广泛的文本数据上进行预训练,已经表现出在广义知识推理任务上的优越性能。然而,在特定领域,如法律、医学或最新新闻等,普遍的知识推理不足以满足精确性的要求,因此需要对这些模型进行适应性调整以增强其在这些领域内的应用性能。

研究目标

研究的主要目标是通过新的训练方法——RAFT(Retrieval Augmented Fine Tuning)提高LLMs在特定领域的性能。RAFT方法旨在通过链式思考风格的答案生成来提高模型对问题的理解和回答质量,同时确保模型能够有效地从相关文档中提取信息,并忽视那些无助于问题解答的干扰文档。

相关工作

研究背景部分详细讨论了现有的技术和挑战,特别是在RAG和监督式微调(SFT)的应用上。现有的RAG方法允许模型在回答问题时引用文档,但这些方法未能利用固定领域设置中的学习机会。监督式微调提供了学习文档中更通用模式的机会,更好地与结束任务和用户偏好对齐,但现有的微调方法在测试时未能考虑检索过程中的不完美。

方法论

数据处理

在RAFT中,训练数据的准备非常关键。每个数据点包括一个问题(Q)、一组文档(Dk),以及一个从文档中生成的链式思考风格的答案(A*)。这些文档分为“oracle”文档(D*),即可以从中推导出问题答案的文档,和“干扰”文档(Di),即不包含答案相关信息的文档。示例如下:
在这里插入图片描述

解决方案

RAFT的核心是一个修改版的一般指令微调方法。通过精心设计的训练数据和模型微调过程,模型被训练为基于问题和提供的文档来生成答案,同时忽略那些干扰文档。这种方法的目标是提高模型在特定域内的性能,即在域特定的开放书本设置中更有效地使用RAG。
在这里插入图片描述

实验

实验设计

实验部分使用多个数据集来评估RAFT的性能,并将其与其他基线模型进行比较,例如LlaMA2-7B聊天模型和域特定的微调模型。这些数据集包括自然问题(NQ)、Trivia QA和HotpotQA等,涵盖从通用知识到特定领域的不同类型。

数据:

数据描述
PubMed医学QA问题。(二分类问题)
Natural Questions (NQ)通用领域
HotpotQA通用领域
Trivia QA通用领域
HuggingFace编程的api领域
Torch Hub编程的api领域
TensorFlow Hub编程的api领域

实验结论

  1. RAFT在多个评估任务上表现出色,尤其是在包含干扰文档的设置中。实验结果显示,与其他基线相比,RAFT在提取信息和处理干扰文档方面具有更高的鲁棒性和准确性。
    

在这里插入图片描述
注:DSF是指对LlaMA2-7B-chat直接进行SFT(query-answer,预测时没有参考内容),预测时直接输入问你题。
2. 有了思维链,结合推理链不仅可以引导模型找到答案,还可以丰富模型的理解,从而提高整体准确性。 在实验中,整合思想链显着增强了训练的稳健性。
在这里插入图片描述
3. 训练集中适当包含一定比例的不相关文档,会提高性能,但数量并不是绝对的,需要看具体的数据集,如在NQ数据集上,正负配比是1:3,HotpotQA数据上是1:1。

在这里插入图片描述

参考资料

  • 原文
  • 代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Earth Engine(GEE)——在控制台上答应出一个button按钮

函数: ui.Button(label, onClick, disabled, style) A clickable button with a text label. Arguments: label (String, optional): The buttons label. Defaults to an empty string. onClick (Function, optional): A callback fired when the button is clicked. T…

面试题 17.06. 2出现的次数

题解&#xff1a;. - 力扣&#xff08;LeetCode&#xff09;. - 力扣&#xff08;LeetCode&#xff09; 数位 DP 通用模板_哔哩哔哩_bilibili class Solution { public:int numberOf2sInRange(int n) {std::string str to_string(n);int len str.size();std::vector<std:…

text-underline-offset的作用是什么,怎么使用

text-underline-offset 是一个 CSS 属性&#xff0c;用于控制文本下划线的偏移位置。换句话说&#xff0c;这个属性可以让你指定下划线距离文本基线的垂直距离。默认情况下&#xff0c;下划线会紧贴文本的基线&#xff0c;但通过设置 text-underline-offset&#xff0c;你可以让…

SUSTAINABILITY,SCIESSCI双检期刊还能投吗?

本期&#xff0c;小编给大家介绍的是一本MDPI出版社旗下SCIE&SSCI双检“毕业神刊”——SUSTAINABILITY。据悉&#xff0c;早在2024年1月&#xff0c;ElSEVIER旗下的Scopus数据库已暂停收录检索期刊SUSTAINABILITY所发表文章&#xff0c;同时重新评估是否继续收录该期刊。随…

Pytest 读取excel文件参数化应用

本文是基于Pytest框架&#xff0c;读取excel中的文件&#xff0c;传入页面表单中&#xff0c;并做相应的断言实现。 1、编辑媒体需求 首先明确一下需求&#xff0c;我们需要对媒体的表单数据进行编辑&#xff0c;步骤如下&#xff1a; 具体表单如下图所示 1、登录 2、点击我…

electron基础使用

安装以及运行 当前node版本18&#xff0c;按照官网提供操作&#xff0c;npm init进行初始化操作&#xff0c;将index.js修改为main.js&#xff0c;执行npm install --save-dev electron。&#xff08;这里我挂梯子下载成功了。&#xff09;&#xff0c;添加如下代码至package.…

ORB算法特征提取

声明&#xff1a;学习过程中的知识总结&#xff0c;欢迎批评指正。 ORB算法提取两路输入图像&#xff08;图像A&#xff0c;图像B&#xff09;的特征点&#xff0c;根据提取的特征点进行特征匹配得到特征对。 ​ 图像金字塔 因为在现实世界中&#xff0c;同一个物体可能会以…

青少年编程与数学 01-001开始使用计算机 03课题、键盘操作与打字2_2

青少年编程与数学 01-001开始使用计算机 03课题、键盘操作与打字2_2 五、中文打字六、语音输入&#xff08;一&#xff09;启用Windows语音输入&#xff08;二&#xff09;使用语音输入&#xff08;三&#xff09;提示与注意事项 课题建议课题作业英文词汇英文缩写 本文主题为键…

文生视频新王登场:Luma官宣免费、电影级大片生成,Sora?可灵?SD3.0?(内附网址)

✨点击这里✨&#xff1a;&#x1f680;原文链接&#xff1a;&#xff08;更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号&#xff01;&#xff09; 文生视频新王登场&#xff1a;Luma官宣免费、电影级大片生成&#xff0c;Sora&#xff1f;可灵&am…

Ubuntu server 24 (Linux) 安装部署samba服务器 共享文件目录 windows访问

1 安装 sudo apt update sudo apt-get install samba #启动服务 sudo systemctl restart smbd.service sudo systemctl enable smbd.service #查看服务 2 创建用户 #创建系统用户 sudo useradd test2 #配置用户密码 sudo smbpasswd -a test2 # smbpasswd: -a添加用户 …

[xmake]构建静态库和动态库

xmake 静态库和动态库 在xmake中创建静态库和动态库的方法非常相似。以下是创建静态库和动态库的基本步骤&#xff1a; 创建xmake工程文件&#xff08;xmake.lua&#xff09;。 配置工程属性&#xff0c;包括工程名、版本等。 添加源代码文件到工程中。 设置是创建静态库还…

SD3开源:AI绘画的新纪元,出图效果巨好,不容错过!(附教程)

大家好&#xff0c;我是画画的小强。 这两天&#xff0c;Stability AI 将史上最牛的AI绘画模型SD3开源了&#xff0c;真是有格局&#xff01; 虽说只是中杯的20亿参数版本&#xff0c;但我已经很满足了&#xff0c;再高的版本&#xff0c;我这普通的16G 4070Ti Super 显卡也跑…

C++程序退出时进行资源清理和关闭操作

在 C 程序中&#xff0c;进行资源清理和关闭操作时&#xff0c;通常会使用析构函数或 atexit 函数来执行清理操作。以下是一些方法和示例&#xff0c;展示如何在程序退出时清理 USB 资源或执行其他清理操作 一、使用析构函数 如果你的资源清理操作与某个对象的生命周期相关&am…

虚幻引擎 Apple Vision Pro 快速入门指南

先决条件 需要配备 Apple Silicon(m1、m2、m3)的 Mac 安装了 visionOS 1.1 支持的 Xcode 15.3 Apple Vision Pro 设备设置 这是一个简短的摘要,请参阅 Apple 的文档以获取完整的设置说明。 设置并连接到你的 wifi,或者使用开发者带 由于 wifi 不稳定,建议使用开发者带 更…

HAL库开发--串口

知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 开发流程 串口功能配置 串口功能开启 串口中断配置 串口参数配置 查询配置结果 发送功能测试 中断接收功能测试 printf配置 DMA收发 配置 DMA发送 DMA接收(方式1) DMA接收(方式2) 总结 前言…

shell编程基础(第18篇:更多的文件操作命令介绍)

前言 对于文件来说&#xff0c;除了它的文件内容之外&#xff0c;就是对其文件本身的操作&#xff0c;比如我们想要重命名文件、移动文件、复制文件、已经获取文件所在目录&#xff0c;文件名等操作&#xff0c;今天一起学习更多的文件操作相关的命令 basename 用于获取文件名…

C++ 32 之 静态成员函数

#include <iostream> #include <string> using namespace std;// 特点: // 1.在编译阶段就分配了内存空间 // 2.类内声明&#xff0c;在类外进行初始化 // 3.所有对象共享一份静态成员数据 class Students02{ public:int s_c;static int s_d;// 静态成员函数&#…

整理好了!2024年最常见 20 道并发编程面试题(八)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 20 道并发编程面试题&#xff08;七&#xff09;-CSDN博客 十五、请解释什么是不可变对象&#xff08;Immutable Objects&#xff09;以及它们在并发编程中的优势。 不可变对象&#xff08;Immutable Objects&#x…

btstack协议栈实战篇--HFP HF - Hands-Free

btstack协议栈---总目录_bt stack是什么-CSDN博客 目录 1.Main Application Setup 2.hci_packet_handler 3.hfp_hf_packet_handler 4.log信息 这个HFP免提示例演示了如何从远程HFP音频网关(AG),并且如果定义了HAVE BTSTACK STDIN,如何控制HFP AG。 1.Main Appl…

基于python的PDF文件解析器汇总

基于python的PDF文件解析器汇总 大多数已发表的科学文献目前以 PDF 格式存在&#xff0c;这是一种轻量级、普遍的文件格式&#xff0c;能够保持一致的文本布局和格式。对于人类读者而言&#xff0c; PDF格式的文件内容展示整洁且一致的布局有助于阅读&#xff0c;可以很容易地…