当前位置: 首页 > news >正文

训练大模型自动在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版本,进而去验证它在各个领域数据集上的表现。

http://www.lryc.cn/news/370367.html

相关文章:

  • 抖店没人做了?不是项目不行了,而是商家们都换思路去玩了
  • Qt5.15.2+VS2019新加类出现无法解析的外部符号
  • 启动mysql 3.5时出现 MySql 服务正在启动 . MySql 服务无法启动。
  • 并发编程理论基础——可见性、原子性和有序性问题(一)
  • 心理咨询系统源码|心理咨询系统开发|心理咨询系统
  • Vue21-列表排序
  • 配置 JDK 和 Android SDK
  • pyechart 创建柱形图
  • c#引用dll报错cs8370功能“本地函数特性“在c#7.3中不可用
  • 【STM32】输入捕获应用-测量脉宽或者频率(方法1)
  • C# Task
  • 进口电动蝶阀的工作原理-美国品牌
  • Exploring Performance and Cost Optimization with ASIC-Based CXL Memory——论文阅读
  • 计算机网络(4) 最长前缀匹配(路由转发表)
  • 向https地址发送请求失败报错
  • 生信技能47 - Shell程序和R程序并行执行处理方法
  • java+SimpleRegression 线性模型,针对采集到的大数据设备温度,对设备温度做出预测
  • 面对失业,不得不做出改变了
  • MT2093 活动安排
  • 动态javaweb 建立-准备阶段
  • web前端网页设计参考:深度剖析与设计思路探索
  • node使用http-proxy-middleware做代理,解决跨域问题
  • 爱奇艺视频怎么转换成mp4格式,爱奇艺qsv转换mp4最简单方法
  • HandyControl的属性编辑器如何绑定自定义控件,并集成到自定义编辑器
  • 【Python】使用 Python 检测图像中(色差对比度较大)的水印
  • 最短路:Bellman-Ford
  • 深度学习的分类网络
  • Si24R05—高度集成的低功耗 2.4G+125K SoC 芯片
  • layuimini框架实现点击菜单栏回到起始页
  • 【ubuntu22.04~mysql-MHA-mycat】