【AI学习】有关“长文本 vs RAG”

news/2024/10/22 15:31:59/

随着最近几个月,长文本技术的发展,“RAG vs 长文本”成了一个热闹的话题。

长文本有很多好处,从我使用kimi的实际感受来说,长文本确实很有用,在多轮对话中表现的非常好。我使用kimi主要是读论文,针对一篇论文,我可以连续的反复的问题,比如,我问这篇文章解决的主要问题和方法是什么,然后接着问文章某章节的具体方法请详细解释,或者说其中某段话我比较关注请全文翻译,如果不明白我还会说请举例说明,反复追问,有时为了确认疑问会说我是这样理解的是否正确,kimi会回答说你理解的不对应该如何如何,然后我说那是否那样那样,直到kimi回答说你理解对了,总之,kimi很像一个老师兼助手,帮我整理文档,又能回答疑难杂症。这就是长文本能力带来的效果,否则几轮对话之后模型就忘了之前的对话变得语无伦次了,而我有时候和kimi能聊十几轮甚至更多。

关于“长文本 vs RAG”,有几篇文章,可以快速理解一下这项技术。

《大模型未来发展:RAG vs 长文本,谁更胜一筹?》

随着大模型的上下文窗口长度不断增加,越来越多的见到长文本和RAG之间关系以及优劣问题的讨论。这篇文章作为一个沙龙的多方观点综述,可以快速了解多种观点。

《也谈长文本取代RAG的局限观点》

文章里比较赞同的观点:

√ 让智能模型变得更便宜比让廉价模型变得智能容易得多,当它很便宜时,它永远不会智能。

√ RAG是个大系统,就像当时KG一样,都说要替代掉,但其本身是个大系统,依旧是要往前走的,要有工程观和落地观念。……在NLP领域,并不存在一个放之四海而皆准的方案,都是需要特事特办,都是一堆补丁,即便有了长文本,也有一堆RAG的补丁要做。

文章作者从工程化的角度给出的观点,作为一个工程师,表示很认可。

文章中一个很有意思的话题:“Self-DC:何时检索,何时生成?”——“什么时候利用外部检索,什么时候促使大模型产生已知的知识,以回答当前的问题?” 一个好问题,方法也很有意思。

《兆级长文本,已是一线大模型机构标配能力》

文章提到,大海捞针其实没有那么难。“难的是海里不止一根针,应有无数的碎片化信息藏在各个地方,(大模型)把所有东西串接一起,做比较深层次的结论。就像读福尔摩斯侦探小说,读完后综合判断凶手是谁——这就不是一个简单的检索问题。”这和杨植麟的观点非常一致:“另一方面是,你不能只提升窗口,不能只看数字,今天是几百万还是多少亿的窗口没有意义。你要看它在这个窗口下能实现的推理能力、the faithfulness的能力(对原始信息的忠实度)、the instruction following的能力(遵循指令的能力)——不应该只追求单一指标,而是结合指标和能力。如果这两个维度持续提升,能做非常多事。可能可以follow(执行)一个几万字的instruction(指令),instruction本身会定义很多agent(智能体),高度个性化。”

文章重要观点:

上下文、推理能力、更高效的模型架构是技术探索的重点方向;高效模型方面,MoE值得关注,业界同时在探索Mamba模型;轻量级模型崭露头角。

训练数据包括三要素:规模、质量、多样性。数据的多样性以前提的相对少,合理的resampling(重采样)策略非常重要。

《“Kimi概念”降温,长文本“担不起”大模型的下一步》

这篇文章从商业到技术,把长文本这个话题讲得非常全面。

针对长文本,业界已经有很多手段,有外推(Extrapolation)和内插(Interpolation)技术,降低注意力复杂度方面有稀疏注意力,还有最近的LongRoPE技术,虽然总体来说还不够完善,但是已经能够处理大量复杂问题。

关于Kimi的长文本支持,之前就有怀疑其实是RAG技术,文章有这样一段话:“在杨植麟过往的采访中,他曾经指出一种拓展上下文的模式是蜜蜂模式,属于一种走捷径的模式,不能真正的影响到模型的能力。这种模式就是RAG,也就是检索增强生成(RAG)。其基本逻辑就是在模型外部设置一个存储器,通过切片方法将我们输入给模型的长文本切成模型有能力识别的短文本小块,在取用时通过索引让大模型找到具体的分块。它和蜂巢一样一块块的所以被称作蜜蜂模式。通过RAG,大模型可以仅处理索引涉及到的小段落就可以,所以反馈速度很快,也更便宜。但它的问题正如杨植麟所说,因为是分块的,只能窥一斑难见长文本的一豹。……但这个问题最近也被攻破了。今年2月发布BGE Landmark embedding的论文也阐述了一种利用长上下文解决信息不完整检索的方法。通过引入无分块的检索方法,Landmark embedding能够更好地保证上下文的连贯性,并通过在训练时引入位置感知函数来有限感知连续信息段中最后一个句子,保证嵌入依然具备与Sentence Embedding相近的细节。这种方法大幅提升了长上下文RAG的精度。”

说明,其实长文本 vs RAG之间的关系,也和微调 vs RAG一样,并不是对立关系,更可能是互补关系。


http://www.ppmy.cn/news/1435808.html

相关文章

wasm 系列之 WebAssembly 和 emscripten 暴力上手

wasm 是什么? wasm 是 WebAssembly 的缩写。wasm 不是传统意义上的汇编语言,而是一种编译的中间字节码,可以在浏览器和其他 wasm runtime 上运行非 JavaScript 类型的语言,只要能被编译成 wasm,譬如 kotlin/wasm、Rus…

mybatis-3.5.0使用插件拦截sql以及通用字段赋值

1、添加插件配置类 import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; imp…

XiaodiSec day013 Learn Note 小迪安全学习笔记

XiaodiSec day013 Learn Note 小迪安全学习笔记 记录得比较凌乱,不尽详细 day13 文件上传 代码自主写 编辑器引用 ueditor 文件下载 直连下载 传参下载 直连下载 中间件决定下载文件类型 直连一般没有问题 传参下载可能存在安全问题 文件删除 文件删除目录…

自定义数据 微调CLIP (结合paper)

CLIP 是 Contrastive Language-Image Pre-training 的缩写,是一个擅长理解文本和图像之间关系的模型,下面是一个简单的介绍: 优点: CLIP 在零样本学习方面特别强大,它可以(用自然语言)给出图像…

Python实现“黑猫投诉平台,舆论监控系统”

黑猫投诉平台,舆论监控系统 BuzzMonitor https://github.com/nangongchengfeng/BuzzMonitor.git 简介 "黑猫投诉"舆论监控系统是一款专为快速识别和响应网络投诉而设计的应用,旨在帮助企业或机构第一时间掌握公众意见和反馈。通过实时监控网…

正则表达式.java

正则表达式的作用: ①可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性🧸 🧩[]:只能是括号里的字符 🧩[^]:除了括号里的字符 🧩[- -]:表示两段范围,满足其一即可 &a…

2万8金句美句格言签名句子ACCESS\EXCEL数据库

优美句子类的数据已经有《33万多优美句子经典句子ACCESS数据库》、《近2万签名的句子网络签名ACCESS数据库》、《24万QQ伤感签名微信签名ACCESS数据库》、《2万多条QQ签名论坛签名大全ACCESS数据库》,今天又遇到一个,感觉也很不错,发上来看看…

sklearn【F1 Scoree】F1分数原理及实战代码!

目录 一、F1 Scoree 介绍二、案例学习三、总结 一、F1 Scoree 介绍 在分类任务中,评估模型的性能是至关重要的。除了准确率(Accuracy)之外,我们还需要考虑其他指标,如精确度(Precision)和查全率…