训练大模型自动在RAG和记忆间选择

现如今,检索增强生成(Retrieval-augmented generation,RAG)管道已经能够使得大语言模型(Large Language Models,LLM)在其响应环节中,充分利用外部的信息源了。不过,由于RAG应用会针对发送给LLM的每个请求,都去检索外部信息,而LLM实际上已经包含了大量无需检索即可使用的知识,因此整个过程反而显得效率低下。

那么,我们是否可以通过配置LLM,使其只在内部知识不足的情况下,才去使用RAG呢?目前,博尔扎诺大学(University of Bozen-Bolzano)和布鲁诺-凯斯勒基金会(Fondazione Bruno Kessler)的研发人员开发的一项“自适应LLM(Adapt-LLM,https://arxiv.org/abs/2404.19705)”技术,可以训练LLM动态地确定它们是否需要在问题解答任务中,检索额外的上下文信息,并避免不必要的外部检索,来提高LLM应用的效率。

记忆与检索

通常,LLM回答问题的方法主要有两种。这两种方法好比闭卷答题与开卷答题:

第一种是依靠在训练过程中获得的参数记忆。而这些参数记忆的局限性在于它需要完全基本语料的训练。你可以通过微调或少量提示技术,来提高参数记忆的性能,从而将模型的注意力集中在相关参数上。不过,在模型必须动态使用新的信息(例如:近期的新闻或是未包含在训练语料库中的私人信息)的情况下,这种方法并不实用。

第二种是使用信息检索器为模型提供上下文信息。而检索增强生成就属于这种方法。不过,信息检索的问题在于,有时模型并不需要额外的上下文信息,其内部知识足以回答问题。

而作为人类的我们,使用的却是混合方法。例如,当我们对某个问题的答案了如指掌时,我们便可立即作答。但当我们对自己的知识没有信心时,就会去查找外部来源。目前,一些LLM技术通过“常见度评分”机制,来使用此类混合方法。其假设前提是:当问题十分常见时,模型就会利用内部记忆知识进行回答;而对于不太常见的问题,模型则需要RAG系统的帮助来获取必要的信息。不过,这种方法往往要求问题附有常见程度的评分,而这并非总能够获取到的。

Adapt-LLM

Adapt-LLM框架

顾名思义,Adapt-LLM为了实现“自适应检索”而训练语言模型,使其能够自主地决定何时该使用信息检索系统,来获取更多的上下文信息。其研发人员指出:“在这种方法中,如果任务的解决方案已被编码在模型的参数中,它将直接使用由模型生成的解决方案。反之,如果答案没有被编码在模型的知识域里,那么就需要借助外部知识来生成答案。”

就工作流程而言,Adapt-LLM可分为四个步骤:

  • 首个包含了问题的提示被发送给Adapt-LLM模型处。
  • 该模型会对提示进行评估,以确定是否需要额外的语境,来有效地回答问题。
  • 如果模型认为不需要额外的上下文,它就会直接根据参数存储做出响应。
  • 如果Adapt-LLM模型需要额外的上下文,它会返回一个类似的特殊token。然后,应用程序可以使用信息检索器,根据问题获取上下文,并将其与原始提示结合起来。

可见,这种灵活的方法使得模型能够在利用外部环境和提供直接答案之间取得平衡。

训练Adapt-LLM

为了训练 Adapt-LLM模型,我们首先需要一个包含了问题、上下文和答案的元组(tuples)数据集。然后,针对每个元组,为模型提供并不包含上下文的问题,并指示它在对自己的知识“有信心”时直接回答,而在需要额外上下文时返回 。

如果模型返回了正确的答案,则表明它已掌握了参数知识,并创建了一个包含问题和答案(但不包含上下文)的新的训练实例。如果模型返回错误的答案,则需要创建两个训练实例:一个是包含了问题和 答案的“参数提示”,另一个是包含了问题、上下文、说明和答案的“上下文提示”。

然后,在包含了这两种类型示例的数据集上,研发人员对基础模型进行训练,从而形成Adapt-LLM的行为。

Adapt-LLM的测试结果

研发人员在PopQA(https://huggingface.co/datasets/akariasai/PopQA)上对Adapt-LLM进行了多次测试。此处的PopQA是一个从各种在线平台上收集问题的数据集。他们使用 Llama-2 7B 作为基础的LLM,并在由 NQ 和 SQuAD 问答数据集所创建的Adapt-LLM数据集上,对其进行了训练。测试完毕后,他们将Adapt-LLM模型与完全不检索模型、以及始终检索模型进行了比较。

研究结果表明,Adapt-LLM的表现比只依赖参数记忆的永不检索模型要好得多。同时,与始终检索模型相比,它也能够减少检索的使用量,同时当其参数记忆优于RAG系统返回的信息时,还能够提高整体性能。

据此,研发人员认为“当Adapt-LLM决定去检索额外的信息时,其有上下文的结果明显优于没有上下文的结果。同样,当Adapt-LLM依靠其参数记忆直接回答问题时,也能提供较高的准确率。”研发人员补充道:“这些测试结果足以表明,该模型能够有效地分辨出何时检索信息,以及何时可以在没有进一步语境的情况下回答问题。”

利与弊

遗憾的是,研发人员并没有公布 Adapt-LLM的代码和模型,因此我们很难去验证他们的实验结果。然而,由于这是一项非常实用的技术,他们应该公布关于token的使用、及其推理时间等研究结果。幸运的是,该算法实现起来比较容易,任何人都可以创建自己的 Adapt-LLM版本,进而去验证它在各个领域数据集上的表现。

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

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

相关文章

为什么有的网站接口有traceid,有的网站接口没有?

背景:打开百度,输入任意内容,点击百度一下。我们从左侧可以看到有2个接口是有TraceID的 -其他接口是没有的 下面分享我的理解: 对于高并发的业务(访问频繁)的接口,系统会生成非常多的数据&…

迅狐短视频矩阵管理系统核心功能

一、多平台管理:连接多个主流自媒体平台,满足多平台、多账号、多角色的协调需求 在现如今的多元化媒体环境中,一个优秀的内容创作者需要同时管理多个自媒体平台,并以不同的身份角色展现自己。迅狐短视频矩阵管理系统强大的多平台…

明基的台灯值得入手吗?书客、柏曼真实横向测评对比

近年来人们在工作、学习、娱乐等方面对电子设备的依赖程度也越来越高,长时间使用电子设备会对眼睛造成一定的伤害,如眼疲劳、干涩、近视等。人们对于能够缓解眼疲劳的照明产品的需求逐渐增加。护眼台灯能够更好地模拟自然光,提供更加柔和舒适…

LeetCode刷题之HOT100之不同的二叉搜索树

1、题目描述 2、逻辑分析 给定一个有序序列 1⋯n,为了构建出一棵二叉搜索树,我们可以遍历每个数字 i,将该数字作为树根,将 1⋯(i−1) 序列作为左子树,将 (i1)⋯n 序列作为右子树。接着我们可以按照同样的方式递归构建…

Web测试工具Burp Suite 企业版引入自定义扫描检查

Burp Suite 是一款领先的Web应用程序安全测试工具。它被广泛用于识别和修复Web应用程序中的漏洞。通过使用Burp Suite,组织可以显著提升其Web应用程序的安全性,及时发现并修复漏洞,保障业务的持续运行和数据安全。 简而言之,BChe…

HBase数据存储

1、数据模型 Namespace(表命名空间):表命名空间不是强制的,当想把多个表分到一个组去统一管理的时候才会用到表命名空间。Table(表):一个表由一个或者多个列族组成。数据属性,都在列…

(五)React受控表单、获取DOM

1. React受控表单 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 准备一个React状态值 const [value, setValue] useState()通过value属性绑定状态&#xff0c;通过onChange属性绑定状态同步的函数 <input type"text"…

精益思维在人工智能中的应用体现

随着AI技术的广泛应用&#xff0c;如何提高其效率、降低成本、优化性能&#xff0c;成为了业界关注的焦点。精益思维作为一种追求卓越、持续改进的管理理念&#xff0c;其在人工智能中的应用正逐渐展现出巨大的潜力。 一、数据精益化管理。数据是AI技术的核心&#xff0c;而数据…

高内聚与低耦合:工作中的重要性与应用

目录 ​编辑 前言 1.什么是高内聚与低耦合&#xff1f; 2.为什么高内聚和低耦合非常重要&#xff1f; 3.工作中的运用 总结 前言 在软件开发领域&#xff0c;高内聚与低耦合是设计原则中非常重要的概念。高内聚指的是模块内部的各个元素紧密地结合在一起&#xff0c;完成…

StartAI”梦想合伙人 ”招募计划

我们正火热招募AI设计师产品合伙人&#xff01;如果你对AI技术充满好奇&#xff0c;对设计有着独特的见解和热情&#xff0c;亦或者你想在日常的设计工作中提高效率&#xff0c;无论你是电商设计师、UI设计师、建筑师、插画师等其他各类设计领域的人才。那么这就是你不容错过的…

pyechart 创建柱形图

Pyecharts 是一个基于 Python 的开源数据可视化库&#xff0c;用于创建各种交互式的图表和可视化效果。它是在 Echarts 的基础上进行封装和优化&#xff0c;Echarts 是一个流行的 JavaScript 数据可视化库pyecharts 中文网站 : https://pyecharts.org/# pyecharts 模块 还支持…

工业物联网和工业互联网有啥区别?

如今数字化转型已成为工业领域的必然趋势&#xff0c;其中&#xff0c;工业物联网&#xff08;IIoT&#xff09;和工业互联网作为推动工业数字化转型的重要力量&#xff0c;它们的共同目标都是为了提升工业生产的效率、降低成本并推动创新&#xff0c;但在技术特点和应用场景上…

牛客热题:旋转矩阵

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 牛客热题&#xff1a;旋转矩阵题目链接方法一&#x…

使用Vue3+ElementPlus+高德地图实现在浏览器中搜索地点并被标记在地图中

效果描述 在页面的输入框中输入想要查询的地点&#xff0c;在输入框的下方会提示跟输入的关键字有关地点&#xff0c;然后按下回车键或者选择下方罗列的地点即可让地图跳转到搜索的位置。 效果展示 页面渲染完成的时候 输入想要查询的地点 按下回车键之后 代码实现 <temp…

通过语言大模型类学习python,卡哪问哪(一)

代码语法学习&#xff0c;代码解析 import matplotlib.pyplot as plt import numpy as np import PIL import tensorflow as tffrom tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.models import Sequential 一、语法解析 &#xff08;…

SwanLab系列教程:用swanlab.Text记录文本

SwanLab是一个由国内团队开源的机器学习实验跟踪工具&#xff0c;相比于Tensorboard有更丰富的功能、更友好的UI界面&#xff0c;以及更重要的云端同步、多人协作功能。 安装&#xff1a;pip install swanlab 本教程主要介绍如何用swanlab.Text记录文本&#xff0c;这在做NLP…

数据安全:Web3时代的隐私保护新标准

随着数字化时代的到来&#xff0c;我们的生活已经完全依赖于互联网和数据交换。然而&#xff0c;随之而来的是对个人隐私和数据安全的日益关注。在这个信息爆炸的时代&#xff0c;数据泄露、个人隐私侵犯和网络攻击等问题日益突出&#xff0c;而Web3技术的崛起正带来了一种全新…

乡村振兴的科技创新引领:加强农业科技研发,推广先进适用技术,提高农业生产效率,助力美丽乡村建设

目录 一、引言 二、农业科技研发的重要性 &#xff08;一&#xff09;提升农业生产效率 &#xff08;二&#xff09;促进农业产业升级 &#xff08;三&#xff09;保障粮食安全 三、加强农业科技研发的策略 &#xff08;一&#xff09;加大投入力度 &#xff08;二&…

Shiro有key但无回显利用链子-JRMP大法

前言 shiro在手天下我有&#xff0c;扫出key直接梭哈getshell&#xff0c;横扫内网。但要是像这种情况&#xff0c;直接下班拜拜跑路&#xff0c;没有链子玩毛线… 直到出现了这么一个工具可以通过JRMP协议探测是否存在漏洞&#xff0c;很显然上面工具是做不到的&#xff0c;实…

有什么方便的ai人工智能写作软件?7个软件让你快速进行写作

有什么方便的ai人工智能写作软件&#xff1f;7个软件让你快速进行写作 当然&#xff01;这里有几款其他的AI人工智能写作软件&#xff0c;可以帮助你快速进行写作&#xff1a; AI创作云 功能特点&#xff1a; 这是一款基于AI的写作助手&#xff0c;可以帮助你生成高质量的文章…