RAG应用要如何吃到大模型长上下文的红利?-LongRAG

去年底的时候,笔者写过,与其在RAG系统上雕花,可以重新思考一下,自己的业务场景是否非RAG不可吗?随着去年大模型的蓬勃发展,长度外推、更长的上下文模型,更厉害的中文底座大模型,都可以让整个系统的压力往生成部分上迁移。

后来笔者造了一个词,文档片段化。对于常规的pdf问答档问答,基本上都能使用单一的大模型覆盖到了。但是对于知识库,文档库的问答,似乎RAG还是必不可少的。但是如果生成模型能力更强了,那与其在思考如何去更好的解析文档结构,去划分块大小,不如放大维度,把更大粒度的文本,如文档,当作传统的块,可以省掉很多细碎的工作。

回归主题,RAG场景如何吃到大模型长上下文的红利?本文主要是分享新出的一个研究工作LongRAG,为了解决检索器和阅读器之间工作量不平衡的问题,文中提出了一个新的框架,称为 LongRAG,它包括一个“长检索器” (long retriever)和一个“长阅读器”(long reader - llm)。文档块变长很显然,long retriever应该如何设计才能保证召回效果(正确答案的块相比与短块包含了更多的噪声),这个是本文的核心内容。

LongRAG 将整个维基百科处理成4K-token的chunks,这比以前的chunk长度长了30倍。通过增加chunk大小,显著减少了总chunk数,从22M减少到600K。使用现有的长上下文大型语言模型(LLM)进行答案提取,在NQ数据集上,LongRAG将答案召回率@1从52%提高到71%,在HotpotQA数据集上,将答案召回率@2从47%提高到72%。LongRAG在不需要任何训练的情况下,取得了与经过微调的RAG模型相当的结果。

文章地址如下:

https://arxiv.org/html/2406.15319v1

框架对比图如下,相比于vanilla rag的模式(下图左),longrag采样更大的块大小(下图右),所以理论上上对long retriever上应该需要一些特别的操作。图片

long retriever

传统的 RAG 中,检索块 g 通常是从文档 d 中分离出来的一小段段落,包含数百个标记。在这里,g 可能与整个文档甚至多个文档一样长,所以像传统那样算相似度可能就会有比较多的噪声干扰了。

因此首先能合并在一起的文档那不能不太相关联,不然召回之后作为模型的上下文噪声太大了。所以第一步需要先进行一个文档分组,这个算法类似于以前的那种流式聚类,还是什么聚类,名词记不太清了。文档是否相关使用的文档的连边,类似于那种有结构层级的知识库的大目录信息。细看就是如下图,很好理解:

图片

然后计算相似度,传统那样query-passage计算比较有难度,所以使用近似,算query和passage中的小块的最大相似度,这个小块的粒度是个实验维度,可能是段落,也可能是文档级,也可能是上面的文档组。

图片

到这里,核心的算法原理部分基本就结束了,对了,还有一个超参数,对于小的文档块召回为了提高召回率,一般用比较大的k。但是这里不行了,论文中设置的k为4到8。

核心的实验

下图为,使用段落、文档、文档组召回,真实答案的召回率(最右边一行),召回数量更多,召回率肯定更高,这个没什么好说的。召回块越大,需要达到接近的召回率的top k越少。图片

最后

整体的结论在前面提过了,很优秀。块长度变长,信息包含的更多,可能很难用一个向量来表达完整的内容,所以longrag的更多的探索会发生在如何有效且精准的找到包含答案片段的大块。本文中使用的近似策略以及文档组的构建都是在这个领域,目前很少见的探索尝试,并提供了一些实验论证。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

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

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

相关文章

RabbitMq camel

真实的项目如果 交换器/ 队列很多 建议在管理页面新建exchange / queue/ rootingKey /vhost, 而不要写死在springboot项目里 camel按rooting key发送消息: 最推荐 .to("rabbitmq:sino.nannan?routingKeysino.key&skipExchangeDeclaretrue&skipQueueDeclaretru…

Python 挖坑式填充Excel模板内容(包括页眉/SheetName/logo)

纵览 Python处理Excel的方式--解压缩方式1、导包2、对模板文件进行解压缩3、对解压缩后文件层级进行介绍4、准备需要载入的数据5、模板挖坑6、运行替换代码7、压缩文件8、生成文件9、完成代码10、可能遇到的问题 结语 Python处理Excel的方式–解压缩方式 在处理Excel中过程中&…

《人人都是产品经理》:项目的坎坷一生

《人人都是产品经理》:项目的坎坷一生 产品VS项目产品经理和项目经理 一切项目从kick off 开始工作量预估Kick Off的大致也就15分钟 写文档咯UML图用例文档UCdemo也得做 需求活在项目中bug等级有多高bug流转过程 以终为始 产品VS项目 项目定义:是只会进…

怎么压缩pdf文件大小,如何压缩pdf文件大小

pdf文件怎么压缩?在当下这个信息爆炸的时代,无论是在工作场所还是校园中,我们经常会面临需要处理大文件的情况,而PDF格式作为一种保留文档结构和布局完整性的理想选择,有时候pdf文件太大,因此,对…

typec密封胶防水用什么胶好?

typec密封胶防水用什么胶好? 对于Type-C连接器的防水密封,行业内普遍推荐使用单组份环氧型热固化胶。这种胶水具有以下优点,使其成为Type-C防水密封的理想选择: 粘稠度易于调整:这有助于胶水在点胶过程中更好地渗透到T…

2024年二级建造师机电工程专业考试题库分享。

1.调查表法通常与()结合使用,以便更快地发现问题原因。 A.经验法 B.分层法 C.样本调查法 D.对比分析法 答案:B 解析:题干内容提示调查表法往往会与分层法结合起来应用,故B选项正确。 2.在质量统计分…

压缩图片png格式该怎么操作?试试下面这3个图片压缩工具吧

png是经常用于储存图片的一种格式,随着现在图片在日常工作和生活中的广泛使用,在很多的使用场景中都有应用。png的图片质量高而且支持无损压缩,在缩小图片的时候不会因为压缩而影响图片的清晰度,更适合在网上的存储、分享或者传输…

论文阅读MVBench: A Comprehensive Multi-modal Video Understanding Benchmark

摘要(Abstract): 论文介绍了MVBench,这是一个全新的多模态视频理解基准测试,旨在评估多模态大型语言模型(MLLMs)在视频理解方面的能力。 目前许多基准测试主要集中在静态图像任务的空间理解上,而忽视了动…

c++进程间通信--zeromq

ZeroMQ(也写作 MQ、0MQ 或 zmq)是一个高性能的异步消息队列库,提供了一种灵活的方式来实现进程间通信(IPC)以及网络通信。在C中使用ZeroMQ进行进程间通信非常直观和高效。zmq的通信模式如下: 下面先说明请求…

第 11 课:组件介绍与自定义开发

本讲主要介绍了隐语的组件标准、已有的组件能力以及进一步的自定义开发流程。经过本讲的学习,可以为将隐语集成到任意调度系统,基于Kusica/SecretPad进行二次开发,以及参与隐语开放标准共建建立基础。 一、隐语开放标准 隐语提出的适用于隐私…

证件照制作工具有哪些?这6个帮你自制证件照

许多人可能认为,制作一张符合标准要求的证件照,必须亲自前往照相馆。 然而,事实上,我们完全可以使用手机或电脑上的证件照制作app,自己轻松完成证件照的制作。无论是更换背景颜色,还是调整照片尺寸&#x…

【ARM】Ulink不同的系列对于芯片的支持和可以支持keil软件

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解不同版本的ULINK可以支持的芯片架构,和ULINK可以和哪个系列的keil软件进行在线调试 2、 问题场景 用于了解不同ULINK仿真器对于芯片的支持是不一样的,并不是ULINK可以支持所有的keil软件…

2024系统分析师考试总结

考试缘由 我自己在毕业不久就考过了中级的软件设计师,这几年换到外企后事情不多,今年初定计划的时候就想着不如考个系统分析师吧。为什么选这个类别呢?按道理我主做程序开发,如果去考系统架构师通过率可能会大一些,但…

【Uniapp微信小程序】图片左右分割/分割线切割图片/图片批量分割线切割

特别说明:本文章因业务组件功能,不完全开放/暂vip可见,有需要者留言找博主! ps:注意!!本效果为图片分割切割!!不是文档切割!!图片仅供参考! 效果图 父组件 / 上传图片页面(index) 写一个上传按钮即可,事件方法: uni.chooseMessageFile({extension: [".j…

Unity | Shader基础知识(第十六集:简单的全息扫描效果)

目录 一、前言 二、准备模型 三、 场景准备 四、代码准备 五、透明度设置 六、补充介绍 1.Pass语法介绍 2.ColorMask 七、作者的碎碎念 一、前言 这节课的内容是接着弧形边缘光的效果之后做的。 Unity | Shader基础知识(第十四集:简单效果练习)_unity shade…

idea或vscode支持vue语法,ts可解析*.vue

一、ide不能解析vue文件 刚开始导入时,在vscode中的vue文件中内容都是灰色的 ide不能解析vue解决方法: 1.idea或webstorm安装vue.js插件 2.在vscode中 vue2.0的项目安装vetur插件vue3.0及以上的项目安装Vue-official插件(之前是Volar&…

PC XMind v24 解锁版安装教程 (全球领先的商业思维导图软件)

前言 XMind 是一款专业的全球领先的商业思维导图软件,在国内使用广泛,拥有强大的功能、包括思维管理、商务演示、与办公软件协同工作等功能。它采用全球先进的Eclipse RCP软件架构,是集思维导图与头脑风暴于一体的可视化思考工具&#xff0c…

mysql GROUP_CONCAT分组连接

文章目录 GROUP_CONCAT 分组连接GROUP_CANCAT 的使用分班级列出名单分班级列出名单并包含显示性别组合IFNULL组合IF组合case when GROUP_CONCAT 分组连接 准备的数据示例 CREATE TABLE students (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,classNa…

Rust监控可观测性

可观测性 在监控章节的引言中,我们提到了老板、前端、后端眼中的监控是各不相同的,那么有没有办法将监控模型进行抽象、统一呢? 来简单分析一下: 业务指标实时展示,这是一个指标型的数据( metric )手机 APP 上传的数…

Android简介-历史、API等级与体系结构

1. Android简介 Android是一种基于Linux内核的自由及开放源代码的操作系统。最初是由安迪鲁宾(Andy Rubin)开发的一款相机操作系统。2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。…