论文导读 I RAFT:使语言模型适应特定领域的RAG

摘要

随着大语言模型(LLMs)的发展,这些模型在广泛的任务中展现出了卓越的性能。然而,当这些模型应用于特定领域时,如何有效融入新信息仍然是一个未解决的问题。本文提出了检索增强微调(RAFT),这是一种新的训练方法,旨在提高模型在特定领域内的“开卷”环境中回答问题的能力。RAFT 通过训练模型忽略无关文档,并逐字引用相关文档中的正确序列来回答问题,结合思维链式响应,显著提升了模型的推理能力。实验结果显示,RAFT 在 PubMed、HotpotQA 和 Gorilla 数据集上均表现出色,提供了一种有效的训练后配方,以改进预训练的大语言模型以适应特定领域的 RAG。

引言

大语言模型(LLMs)在大规模公共数据上进行训练后,已经在广泛的常识推理任务中取得了显著进展。然而,这些模型越来越多地被应用于特定领域,如代码补全、法律或医疗文档的问答等任务。在这些应用场景中,模型的主要目标是根据给定的文档集合最大化准确性,而非依赖常识推理。因此,如何使大语言模型适应特定领域,特别是在检索增强生成(RAG)任务中,成为了一个重要的研究方向。

1. 背景与动机

在特定领域中应用大语言模型时,通常有两种方法:一是通过检索增强生成(RAG)进行上下文学习,二是通过监督微调进行领域适应。基于 RAG 的方法允许模型在生成答案时参考文档,但这种方法未能充分利用固定领域设置下的学习机会。而基于微调的方法则可以学习文档中的普遍模式,但未能充分利用测试时的文档信息。本文的目标是结合这两种方法的优势,提出一种新的训练策略——RAFT。

图片
图1:如何为考试做最佳准备?

(a)基于微调的方法通过直接“记忆”输入文档或在不参考文档的情况下回答练习问答来实现“学习”(b)或者,上下文检索方法未能利用固定领域所提供的学习机会,相当于在不做准备的情况下参加开卷考试。相比之下,我们的方法(c)RAFT在模拟的不完美检索环境中利用微调与问答对,同时参考文档--从而有效地为开卷考试环境做准备。

2. 方法

2.1 检索增强微调(RAFT)

RAFT的核心思想是在训练过程中引入干扰文档,以提高模型在面对无关信息时的鲁棒性。具体而言,对于每个问题和一组检索到的文档,模型不仅要学会回答问题,还要学会忽略那些对回答问题无帮助的文档。这一过程通过以下步骤实现:

  • 数据准备:构建一个包含问题、检索到的文档和正确答案的数据集。在训练数据中,每条记录包含一个问题、一组检索到的文档(包括黄金文档和干扰文档)以及正确的答案。

  • 模型训练:使用上述数据集对模型进行微调。在训练过程中,模型不仅要学会从黄金文档中提取相关信息,还要学会忽略干扰文档。

  • 思维链式响应:为了让模型更好地理解和推理,训练时采用思维链式响应的方式,即模型在生成答案时不仅要引用相关文档中的正确序列,还要逐步展示其推理过程。

图片
图2:我们的RAFT方法的概述

左上角的图展示了我们让大语言模型适应从一组正例和干扰文档中读取解决方案的方法,这与标准的 RAG 设置形成对比,在标准的 RAG 设置中,模型是基于检索器的输出进行训练的,这是记忆和阅读的混合。在测试时,所有方法都遵循标准的 RAG 设置,并提供了上下文中的前k篇检索文档。

2.2 干扰文档的作用

为了使模型在面对无关信息时更加鲁棒,RAFT 在训练过程中引入了干扰文档。这些干扰文档与问题无关,但可能出现在实际检索结果中。通过训练模型忽略这些干扰文档,可以提高模型在真实环境中的表现。实验结果显示,使用干扰文档进行训练的模型在测试时的表现明显优于仅使用黄金文档训练的模型。

3. 实验设计

3.1 数据集

本文使用了三个数据集进行实验:

  • PubMed:包含医学领域的摘要和文章。

  • HotpotQA:包含多跳问答任务的数据集。

  • Gorilla:包含 API 文档的数据集。

3.2 实验设置

实验设置了不同的训练条件,包括不同数量的干扰文档(0 到 4 个)和不同数量的黄金文档(1 个)。通过这些实验,研究了模型在不同训练条件下的表现。

3.3 结果分析

实验结果显示,使用干扰文档进行训练的模型在所有数据集上都表现出更好的性能。具体而言:

  • 在 PubMed 数据集中,使用 4 个干扰文档进行训练的模型表现最佳。

  • 在 HotpotQA 数据集中,使用 2 个干扰文档进行训练的模型表现最佳。

  • 在 Gorilla 数据集中,使用 3 个干扰文档进行训练的模型表现最佳。

此外,实验还研究了模型在测试时面对不同数量文档时的鲁棒性。结果显示,经过干扰文档训练的模型在测试时面对不同数量文档时仍能保持稳定的性能,进一步验证了 RAFT 方法的有效性。

4. 相关工作

4.1 检索增强语言模型

检索增强语言模型(RALMs)通过集成一个从外部知识库获取相关信息的检索模块,显著提高了模型在各种自然语言处理任务中的性能。例如:

  • Atlas:使用检索器对 T5 模型进行微调,将文档视为潜在变量。

  • RETRO:修改仅解码器架构以包含检索到的文本,并从头开始进行预训练。

  • kNN-LM:在推理过程中对语言模型的下一个令牌分布和从检索到的令牌计算出的分布进行插值。

4.2 记忆与泛化

大型神经语言模型的一个关键问题是它们是否真正“理解”文本,还是仅仅依赖于表面模式的记忆。近年来,研究者开发了多种方法来量化模型的记忆程度,并探讨了记忆如何影响模型的泛化能力。例如:

  • The Secret Sharer:评估和测试神经网络中的无意记忆。

  • Extracting Training Data:从大语言模型中提取训练数据。

  • Quantifying Memorization:量化跨神经语言模型的记忆程度。

5. 讨论

5.1 模型鲁棒性的提升

通过引入干扰文档,RAFT 有效提升了模型在面对无关信息时的鲁棒性。这一方法不仅使模型能够在训练过程中学会忽略无关文档,还在测试时表现出更强的适应能力。实验结果表明,经过干扰文档训练的模型在不同数量文档的测试条件下仍能保持稳定的性能,进一步验证了方法的有效性。

5.2 思维链式响应的作用

思维链式响应在训练过程中起到了关键作用。通过逐步展示模型的推理过程,不仅提高了模型的理解能力,还增强了模型的解释性。实验结果显示,采用思维链式响应的模型在复杂任务中表现更为出色,尤其是在需要多步推理的问答任务中。

总结

本文提出的 RAFT 方法为特定领域中的 RAG 任务提供了一种有效的解决方案。通过引入干扰文档和思维链式响应,RAFT 不仅提高了模型的鲁棒性和推理能力,还在多个数据集上展现了出色的性能。未来的研究可以进一步探索 RAFT 在其他领域和任务中的应用,以推动大语言模型在特定领域的实际应用。

参考文献

1. Anthropic. Prompt engineering for claude’s long context window. 2023.

2. Asai, A., Wu, Z., Wang, Y., Sil, A., and Hajishirzi, H. Self-rag: Learning to retrieve, generate, and critique through self-reflection. arXiv preprint arXiv:2310.11511, 2023.

3. Borgeaud, S., Mensch, A., Hoffmann, J., Cai, T., Rutherford, E., Millican, K., Van Den Driessche, G. B., Lespiau, J.-B., Damoc, B., Clark, A., et al. Improving language models by retrieving from trillions of tokens. In International conference on machine learning, pp. 2206–2240. PMLR, 2022.

4. Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et al. Language models are few-shot learners. Advances in neural information processing systems, 33:1877–1901, 2020.

5. Carlini, N., Liu, C., Erlingsson, Ú., Kos, J., and Song, D. The secret sharer: Evaluating and testing unintended memorization in neural networks. In 28th USENIX Security Symposium (USENIX Security 19), pp. 267–284, 2019.

6. Carlini, N., Tramer, F., Wallace, E., Jagielski, M., Herbert-Voss, A., Lee, K., Roberts, A., Brown, T., Song, D., Erlingsson, U., et al. Extracting training data from large language models. In 30th USENIX Security Symposium (USENIX Security 21), pp. 2633–2650, 2021.

7. Carlini, N., Ippolito, D., Jagielski, M., Lee, K., Tramer, F., and Zhang, C. Quantifying memorization across neural language models. In The Eleventh International Conference on Learning Representations, 2022.

8. Dernoncourt, F. and Lee, J. Y. Pubmed 200k rct: a dataset for sequential sentence classification in medical abstracts. arXiv preprint arXiv:1710.06071, 2017.

9. Feldman, V. Does memorization in deep learning depend on the task? arXiv preprint arXiv:2006.14680, 2020.

10. Jin, J., Lu, Z., and Manning, C. D. Doc2dial: A dialogue dataset grounded in document for information-seeking conversations. arXiv preprint arXiv:1909.05855, 2019.

11. Kwiatkowski, T., Palomaki, J., Reddy, S., Collins, M., Alberti, C., Epstein, P., Devlin, J., Chang, M.-W., Singh, A., and Metz, L. Natural questions: a benchmark for question answering research. Transactions of the Association for Computational Linguistics, 7:453–466, 2019.

12. Lazaridou, A., Pezzelle, S., Baroni, M., and Bottou, L. Multimodal word embeddings with unsupervised alignment. In Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1283–1292, 2022.

13. Lin, W., Dai, Y., Li, Z., and Sun, M. Few-shot text classification with transferable prototypes. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 2215–2224, 2019.

14. Patil, S. G., Jain, N., Shen, S., Zhang, T., Zhao, H., Zhou, D., and Stoica, I. Gorilla: Large-scale language model fine-tuning with retrieval-augmented generation. arXiv preprint arXiv:2306.01131, 2023.

15. Vu, H., Phan, M., Nguyen, T. D., and Nguyen, T. D. Enhancing few-shot learning with memory-augmented neural networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 10346–10355, 2023.

16. Wang, Y., Asai, A., Wu, Z., and Hajishirzi, H. Self-rag: Learning to retrieve, generate, and critique through self-reflection. arXiv preprint arXiv:2310.11511, 2023.

17. Xiong, W., Wu, L., Li, F., Zhang, R., Li, Z., and Ma, H. Rethinking prompt tuning: A simpler and more effective way to adapt pre-trained language models. arXiv preprint arXiv:2201.11990, 2023.

18. Xu, Y., Li, Y., and Li, J. Learning to retrieve and reason with few-shot examples for text classification. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023.

19. Yang, Z., Das, D., and Cohen, W. W. Hotpotqa: A dataset for diverse, complex and conversational question answering. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2369–2384, 2018.

20. Zhou, D., Zhang, T., Zhao, H., Patil, S. G., and Stoica, I. Gorilla: Large-scale language model fine-tuning with retrieval-augmented generation. arXiv preprint arXiv:2306.01131, 2023.

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

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

相关文章

华为HarmonyOS 让应用快速拥有账号能力 -- 2 获取用户头像昵称

场景介绍 如应用需要完善用户头像昵称信息,可使用Account Kit提供的头像昵称授权能力,用户允许应用获取头像昵称后,可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍,若要获取头像还可通过场景化控…

高校数字化运营平台解决方案:构建统一的服务大厅、业务平台、办公平台,助力打造智慧校园

教育数字化是建设教育强国的重要基础,利用技术和数据助推高校管理转型,从而更好地支撑教学业务开展。 近年来,国家多次发布政策,驱动教育行业的数字化转型。《“十四五”国家信息化规划》,推进信息技术、智能技术与教育…

华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录

概述 华为账号一键登录是基于OAuth 2.0协议标准和OpenID Connect协议标准构建的OAuth2.0 授权登录系统,应用可以通过华为账号一键登录能力方便地获取华为账号用户的身份标识和手机号,快速建立应用内的用户体系。 优势: 利用系统账号的安全…

C语言:指针与数组

一、. 数组名的理解 int arr[5] { 0,1,2,3,4 }; int* p &arr[0]; 在之前我们知道要取一个数组的首元素地址就可以使用&arr[0],但其实数组名本身就是地址,而且是数组首元素的地址。在下图中我们就通过测试看出,结果确实如此。 可是…

是什么阻断了kafka与zk的链接?

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 前几天部署一套环境,先把zk集群起来了,之后第二天在启动kafka的时候,…

MAUI APP开发蓝牙协议的经验分享:与跳绳设备对接

在开发MAUI应用程序时,蓝牙协议的应用是一个重要的环节,尤其是在需要与外部设备如智能跳绳进行数据交换的场景中。以下是我在开发过程中的一些经验和心得,希望能为你的项目提供帮助。 1. 蓝牙协议基础 蓝牙协议是无线通信的一种标准&#x…

算法日记 40 day 单调栈

最后两题了,直接上题目。 题目:接雨水 42. 接雨水 - 力扣(LeetCode) 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入&#xff1…

浏览器渲染原理

渲染原理 第一步解析Html第二步样式计算第三步布局第四步分层第五步绘制第六步分块第七步光栅化第八步画常见面试题什么是回流reflow?什么是重绘repaint? 当浏览器的网络线程收到HTML文档之后,会产生一个渲染任务并且会将其传递给渲染主线程的…

嵌入式系统应用-LVGL的应用-平衡球游戏 part2

平衡球游戏 part2 4 mpu60504.1 mpu6050 介绍4.2 电路图4.3 驱动代码编写 5 游戏界面移植5.1 移植源文件5.2 添加头文件 6 参数移植6.1 4 mpu6050 4.1 mpu6050 介绍 MPU6050是一款由InvenSense公司生产的加速度计和陀螺仪传感器,广泛应用于消费电子、机器人等领域…

ELK的Filebeat

目录 传送门前言一、概念1. 主要功能2. 架构3. 使用场景4. 模块5. 监控与管理 二、下载地址三、Linux下7.6.2版本安装filebeat.yml配置文件参考(不要直接拷贝用)多行匹配配置过滤配置最终配置(一、多行匹配、直接读取日志文件、EFK方案&#…

JS实现高效导航——A*寻路算法+导航图简化法

一、如何实现两点间路径导航 导航实现的通用步骤,一般是: 1、网格划分 将地图划分为网格,即例如地图是一张图片,其像素为1000*1000,那我们将此图片划分为各个10*10的网格,从而提高寻路算法的计算量。 2、标…

【分页查询】.NET开源 ORM 框架 SqlSugar 系列

💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…

AI - 谈谈RAG中的查询分析(2)

AI - 谈谈RAG中的查询分析(2) 大家好,RAG中的查询分析是比较有趣的一个点,内容丰富,并不是一句话能聊的清楚的。今天接着上一篇,继续探讨RAG中的查询分析,并在功能层面和代码层面持续改进。 功…

Python 入门教程(2)搭建环境 | 2.4、VSCode配置Node.js运行环境

文章目录 一、VSCode配置Node.js运行环境1、软件安装2、安装Node.js插件3、配置VSCode4、创建并运行Node.js文件5、调试Node.js代码 一、VSCode配置Node.js运行环境 1、软件安装 安装下面的软件: 安装Node.js:Node.js官网 下载Node.js安装包。建议选择L…

redis核心命令全局命令 + redis 常见的数据结构 + redis单线程模型

文章目录 一. 核心命令1. set2. get 二. 全局命令1. keys2. exists3. del4. expire5. ttl6. type 三. redis 常见的数据结构及内部编码四. redis单线程模型 一. 核心命令 1. set set key value key 和 value 都是string类型的 对于key value, 不需要加上引号, 就是表示字符串…

哈希及其模拟实现

1.哈希的概念 顺序结构以及平衡树中,元素的关键码与其存储位置之间没有对应的关系。因此,在查找一个元素时,必须要经过关键码的多次比较。顺序查找的时间复杂度为O(N),平衡树中为树的高度,即O(log_2 N),搜…

k8s,声明式API对象理解

命令式API 比如: 先kubectl create,再replace的操作,我们称为命令式配置文件操作 kubectl replace的执行过程,是使用新的YAML文件中的API对象,替换原有的API对象;而kubectl apply,则是执行了一…

开源ISP介绍(1)——开源ISP的Vivado框架搭建

开源github链接:bxinquan/zynq_cam_isp_demo: 基于verilog实现了ISP图像处理IP 国内Gitee链接:zynq_cam_isp: 开源ISP项目 基于以上开源链接移植项目到正点原子领航者Zynq7020开发板,并对该项目的Vivddo工程进行架构详解,后续会…

[Redis#13] cpp-redis接口 | set | hash |zset

目录 Set 1. Sadd 和 Smembers 2. Sismember 3. Scard 4. Spop 5. Sinter 6. Sinter store Hash 1. Hset 和 Hget 2. Hexists 3. Hdel 4. Hkeys 和 Hvals 5. Hmget 和 Hmset Zset 1. Zadd 和 Zrange 2. Zcard 3. Zrem 4. Zscore cpp-redis 的学习 主要关注于…

GEOBench-VLM:专为地理空间任务设计的视觉-语言模型基准测试数据集

2024-11-29 ,由穆罕默德本扎耶德人工智能大学等机构创建了GEOBench-VLM数据集,目的评估视觉-语言模型(VLM)在地理空间任务中的表现。该数据集的推出填补了现有基准测试在地理空间应用中的空白,提供了超过10,000个经过人工验证的指…