ActiveRAG—主动学习

原文地址:ActiveRAG — Active Learning

2024 年 2 月 26 日

大型语言模型(LLM)的出现开创了对话式人工智能的新时代。这些模型可以生成非常类似人类的文本,并且比以往更好地进行对话。然而,他们仍然面临着仅仅依靠预先训练的知识的局限性。为了提高推理能力和准确性,LLMs需要具备整合外部知识的能力。

检索增强生成(RAG)已成为一种利用外部资源知识增强LLMs的解决方案。RAG 将提取相关知识段落的检索器模块与神经生成器结合起来,根据检索到的上下文生成答案。这允许将事实、概念和关系纳入LLMs固有知识之外。尽管做出了这样的承诺,RAG 仍面临着影响整体答案质量的挑战。

ActiveRAG,它是 RAG 框架的增强版,旨在应对这些挑战。我们将讨论 ActiveRAG 的动机、方法和结果。通过积极构建知识并将其紧密集成到LLMs自身的认知中,与标准 RAG 相比,ActiveRAG 实现了卓越的准确性和解释连贯性。

主动知识构建的必要性

标准 RAG 的一个关键限制是其集成外部知识的被动方法。检索器模块提取潜在相关的段落,这些段落与输入查询连接起来。然后,这种上下文混合会影响LLMs生成答案。

然而,仅仅提供额外的背景并不能确保与LLMs内在知识的紧密结合。该模型将检索到的段落视为松散的事实参考,而不是主动理解和缝合在一起的知识。这体现在几个方面:

  • 知识噪声:检索到的段落经常包含对于回答特定查询无用的无关事实或关系。这提高了LLMs的信噪比,而嘈杂的不相关知识会损害答案质量。
  • 知识脱节:即使与查询相关的上下文也常常缺乏与LLMs现有知识和认知的连贯联系。如果没有明确的联系,整合就会感觉脱节,而不是统一的解释流程。
  • 被动持有:由于对检索到的知识的理解最少,LLMs被动地持有上下文,没有更全面的评估或与自己的知识库进行协调。结果是支离破碎的,而不是混合的理解。

此外,RAG 的被动方法忽视了建构主义的关键原则,建构主义是一种学习理论,认为知识是由学习者主动构建的,而不是被动接受的。人类通过将新信息与现有结构联系起来、建立新的心智模型、通过矛盾进行推理以及调和冲突来构建知识。RAG 放弃了这些对于深度理解至关重要的结构。

ActiveRAG 简介

为了弥补这些差距,ActiveRAG 是对 RAG 的增强,将主动知识构建融入其中。主要原则是:

  • 知识是主动积累的,而不是被动持有的
  • 将外部知识紧密整合到LLMs的内在认知中
  • 通过评估周期协调和完善知识

基于这些原则,ActiveRAG 实现了一个三阶段管道,包括检索、知识构建和答案生成。

知识检索

与 RAG 一样,第一阶段使用密集向量相似度检索查询的潜在相关段落。关键区别在于检索较小的知识“”(1-3 个句子)而不是较长的段落。这可以过滤噪音并增强检索到的上下文的相关性。

知识建构

第二阶段使用检索到的块主动构建知识。四个子组件制定了独特的建构主义功能:

  • 语义关联——根据语义相关性将检索到的知识块与现有知识结构连接起来。这会在现有的认知框架内吸收新信息。
  • 认知锚定——如果检索到的信息与现有知识的语义相关性较低,则建立新的知识参考框架。这扩大了认知边界。
  • 逻辑推理——通过从检索到的内容中得出结论来推断新知识。这构建了解决问题的逻辑链。
  • 认知一致性——识别检索到的块与现有知识之间的冲突。然后它执行解析以加深理解。这可以调和矛盾。

这些组成部分共同模仿了人类的建构主义:将新知识与旧知识联系起来,形成新的心理模型,通过问题进行逻辑推理,并协调冲突的信息。

认知关系

最后阶段将构建的知识整合回LLMs的内在认知中。首先,LLMs根据现有知识生成查询的初始思维流程。接下来,构建的外部知识被动态地注入到这个思维流中以完善理解。

我们将其称为“认知联系”——外部来源的建构知识与LLMs的固有认知的交集。标准 RAG 中不存在这种紧密集成,其知识脱节。

结果

与基线 RAG 相比,在一系列问答任务上评估了 ActiveRAG。一些关键结果:

  • ActiveRAG 通过减少知识噪声和增强推理,将答案准确性比 RAG 提高了约 5%。
  • ActiveRAG 的解释连贯性评级较高,表明检索到的知识与内在认知之间的集成更加紧密。
  • 由于额外的知识构建,延迟增加了约 15%,但抵消了更高的准确性增益。

在LLMs的认知过程中积极构建和吸收知识可以带来更精确的答案和统一的解释流程。

局限性和未来的工作

虽然 ActiveRAG 前景广阔,但在未来的工作中仍存在一些需要解决的局限性:

  • 多级管道增加了延迟,因为知识构建比标准 RAG 增加了 2-3 倍的计算量。这可以通过模型蒸馏和优化来缓解。
  • 构建知识需要多次查询 LLM,从而增加了成本。缓存构建的知识有助于最大限度地减少冗余生成。
  • 在模仿人类的知识构建方面仍然存在差距,例如类比、从示例中学习以及分层构建知识。

未来的工作可以增强ActiveRAG的建构功能,以进一步缩小与人类认知的差距。此外,构建组件和核心LLMs之间更紧密的耦合可以增强流动性。

ActiveRAG 以其主动的方法证明,仅仅检索知识是不够的。在LLMs的内在认知中构建、协调和积极整合知识可以带来更准确和连贯的结果。虽然要达到人类水平的理解力还有很多工作要做,但 ActiveRAG 为解锁隐藏在外部知识资源中的宝藏迈出了宝贵的一步。

结论

最后,标准 RAG 为利用外部知识增强LLMs提供了一个有用但不完整的解决方案。它的被动方式导致了理解的碎片化。ActiveRAG 引入主动知识构建和集成来解决这些差距。通过将构建的知识与内在认知紧密联系起来,ActiveRAG 实现了卓越的准确性和解释连贯性。

在神经网络中模拟人类建构主义学习仍有待探索的前沿。但ActiveRAG 提供了一个前进的学习蓝图——它不把知识视为静态的外部资产,而是将其视为一种有生命力的力量,可以被构建、塑造和编织成理解系统。有了这种积极的精神,人类知识中的宝藏不仅变得更容易获得,而且成为触及认知本身本质的丰富源泉。

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

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

相关文章

面试宝典-【redis】

目录 1.什么是缓存穿透 ? 怎么解决 ? 2.什么是布隆过滤器 3.什么是缓存击穿 ? 怎么解决 ? 4.什么是缓存雪崩 ? 怎么解决 ? 5.redis做为缓存,mysql数据如何与redis进行同步?(双写) 6.排他锁是如何保证读写、读读互斥的呢? 7.你听说过延…

C# LINQ运算符

LINQ运算符 1. 概述1.1 集合->集合1.1.1 筛选运算符1.1.2 映射运算符1.1.3 连接运算符1.1.4 排序运算符1.1.5 分组运算符1.1.6 集合运算符1.1.7 转换方法:Import1.1.8 转换方法:Export 1.2 集合->单个元素或标量值1.2.1 元素运算符1.2.2 聚合方法1.2.3 数量词 1.3 空->…

【MySQL 系列】MySQL 语句篇_DQL 语句

DQL(Data Query Language),即数据查询语言,用来查询数据记录。DQL 基本结构由 SELECT FROM、WHERE、JOIN 等子句构成。 DQL 语句并不会改变数据库,而是让数据库将查询结果发送结果集给客户端,返回的结果是一…

软考72-上午题-【面向对象技术2-UML】-UML中的图3

一、状态图 1-1、状态图的定义 状态图,展现了一个状态机,由:状态、转换、事件和活动组成,是系统的动态视图。 活动(动作) 可以在状态内执行也可以在状态转换(迁移) 时执行。 状态图强调:行为的事件顺序。 1-2、状态图…

SpringBoot项目如何部署到服务器

文章目录 准备:方式一:Jar包方式(推荐)部署步骤: 方式二:War包方式部署步骤: 总结 准备: 云服务器(阿里云、腾讯云等)Linux系统以及运行所需的环境 方式一&a…

力扣--深度优先算法/回溯算法216.组合总和 Ⅲ

思路分析: 深度优先搜索 (DFS): 通过递归实现,尝试从数字 1 到 9 中选择可能的数字,构建和为 n,长度为 k 的组合。递归函数 dfs: 接收参数:result 为最终结果集,path 为当前正在生成…

【C++】二叉树进阶之二叉搜索树

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握二叉搜索树,能自己模拟实现二…

类和对象-继承

师从黑马程序员 基本语法 有些类与类之间存在特殊的关系,例如: 定义这些类时,下一级别的成员除了拥有上一级的共性,还有自己的特性。 这时候我们就可以考虑继承技术,减少重复代码 语法:class 子类&…

加密流量分类torch实践4:TrafficClassificationPandemonium项目更新

加密流量分类torch实践4:TrafficClassificationPandemonium项目更新 更新日志 代码已经推送开源至露露云的github,如果能帮助你,就给鼠鼠点一个star吧!!! 3/10号更新 流量预处理更新 增加了基于splitCa…

misc49

下载附件是个txt文件,打开发现是个压缩包的头 后缀改成zip后打开 base解码无果,我们尝试字母解码 然后音符解码得到 ❀✿✼❇❃❆❇✿❁❇✻✿❀✾✿✻❀❊❆❃❀❊✻❅❀❄✼❂❊❊✾❇❁✽✽✼❁❂❀❀❀❉❃❂❀❉❃❂❊❊✾✼✻✻❀❆✻✻❀❀✻✻✿…

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x ,n) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …

使用css结合js实现html文件中的双行混排

此前写过一个使用flex布局实现html文件中的双行混排,但是感觉效果不佳。经过几天思考,我认为双行混排的要点其实是两个: 1、正文和批注的文字大小不同; 2、正文和批注的行距相互配合进行设定。 正文和批注的文字大小及行距都可…

OpenHarmony下musl编译工具链普法

OpenHarmony下musl编译工具链普法 引言 欠的债总是要还的,这不前面欠的关于OpenHarmony下musl相关的还是要还的。这里我对其中的相关知识点,梳理,归纳重新消化下! 一.GCC/Clang/LLVM的区别与联系 说实话,这块我现在都…

当量化私募投资总监能学到什么?

我的情况更新 ​我是美国电子工程背景毕业的。在华尔街第一份实习是在E3做手工t0的proprietary trading,被刷下来之后就一直在帮顶级的对冲基金打杂当助理。所以当初决定回国一展身手,并且写下了破百万阅读的: 在私募做量化研究半年能学到什…

基于神经网络的偏微分方程求解器再度取得突破,北大字节的研究成果入选Nature子刊

目录 一.引言:神经网络与偏微分方程 二.如何基于神经网络求解偏微分方程 1.简要概述 2.基于神经网络求解偏微分方程的三大方向 2.1数据驱动 基于CNN 基于其他网络 2.2物理约束 PINN 基于 PINN 可测量标签数据 2.3物理驱动(纯物理约束) 全连接神经网路(FC-NN) CN…

保姆级讲解字符串函数(下篇)

目录 strtok的使用 strerror的使用 strstr的使用和函数模拟实现 strstr的使用 strstr函数模拟实现 接上篇:保姆级讲解字符串函数(上篇),我们接着把剩下三个函数讲解完,继续跟着我的步伐一起学习呀. strtok的使用 …

从 Language Model 到 Chat Application:对话接口的设计与实现

作者:网隐 RTP-LLM 是阿里巴巴大模型预测团队开发的大模型推理加速引擎,作为一个高性能的大模型推理解决方案,它已被广泛应用于阿里内部。本文从对话接口的设计出发,介绍了业界常见方案,并分享了 RTP-LLM 团队在此场景…

ARM中多寄存内存访问概念和栈的种类和应用

多寄存器内存访问指令 多寄存器内存访问指令 MOV R1,#1 MOV R2,#2 MOV R3,#3 MOV R4,#4 MOV R11,#0x40000020 STM R11,{R1-R4} 将R1-R4寄存器中的数据存储到内存以R11为起始地址的内存中 LDM R11,{R6-R9} 将内存中以R11为起始地址的数据读取到R6-R9寄存器中 当寄存器…

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows+Linux

Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…

基于springboot+vue实现早餐店点餐系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现早餐店点餐系统演示 摘要 多姿多彩的世界带来了美好的生活,行业的发展也是形形色色的离不开技术的发展。作为时代进步的发展方面,信息技术至始至终都是成就行业发展的重要秘密。不论何种行业,大到国家、企业&#xff0…