大模型长上下文与向量检索的关系

简介: AI应用的开发者一直在追求查询质量和成本之间的完美平衡,当大型企业将生成式人工智能投入生产时,需要控制成本,同时保持最佳的响应质量,RAG技术和向量数据库依然是实现这一目标的重要工具。

免费体验阿里云高性能向量检索服务https://www.aliyun.com/product/ai/dashvector

向量banner制作-用于日常发文章.png


AIGC的迭代速度正以指数级的速度增长,Gemini刚发布不久,便迅速被OpenAI的Sora夺去了光芒。显然,与详尽的技术对比报告和性能指标相比,大众对Sora提供的酷炫逼真的视觉效果更为关注,有爱好者尝试使用Gemini来分析Sora生成视频的结果,这种做法宛如用最强之矛去攻击最坚固之盾。

测试结果显示,Gemini 1.5不仅准确理解了视频的基本内容,还指出了生成视频中的一些不符合常理的细节。尽管Sora的生成效果确实令人惊艳,但还是很容易被Gemini找到了漏洞,与众人所期待的“物理引擎”水平之间还存在显著的差距,相比Sora的博人眼球,Gemini发布的五十多页技术报告更值得一读。报告详细介绍了长上下文和多模态测试,这些测试的许多方面将对AIGC应用未来发展产生深远影响。Gemini支持高达1000万token的超长上下文和强大的多模态能力,这意味着利用Gemini能够与整本书籍、庞大的文档集、数百个文件组成的数十万行代码库、完整电影、整个播客系列等进行交互。


长上下文究竟意味着什么?

Gemini 1.5的亮点在于其长上下文处理能力,特别是在处理庞大数据集时的强大搜索功能,技术报告中的“needle-in-a-haystack”(大海捞针)测试精彩展示了这一点。在这项测试中,模型需要从一个长序列中检索到特定的文本片段,通过在不同位置插入文本(即“针”)并要求模型找到这些“针”,测试了模型在不同上下文长度下的信息检索能力。Gemini 1.5 Pro在长达530k token的文档中实现了100%的准确检索,在长达1M token的文档中保持了超过99.7%的检索准确率。

此外,即使在文档长度达到10M tokens时,模型仍能以99.2%的准确率找到并提取信息。这一结果不仅证明了Gemini 1.5 Pro处理长文档的能力,还展示了其在极端长上下文中的稳定性和准确性。

尽管GPT-4在小于128k的上下文中表现也同样出色,但Gemini的处理更长上下文的能力有了显著扩展。在长文档QA测试中,直接将一本710K token的书作为上下文输入给Gemini,结果远胜于0-shot查询和只召回4k token的标准RAG查询。人类评估和AutoAIS评估的结果都显示Gemini模型对原材料有很好的理解。

相反,在0-shot设置下,大型模型通常选择避免回答问题,以减少可能出现的幻觉和非事实性断言。对于RAG而言,我们观察到特定的问题集通常需要解决指代表达式(例如,“兄弟”,“主角”),这需要跨越长距离依赖进行推理,而这些依赖通常不容易通过RAG的检索技术捕获。

据爱丁堡大学博士符尧在评价Gemini 1.5 Pro的帖子中写道:“一个拥有1000万token上下文窗口的大模型击败了RAG。大语言模型已经是非常强大的检索器,那么为什么还要花时间构建一个弱小的检索器,并将时间花在解决分块、嵌入和索引问题上呢?”


RAG - 中点还是终点?

RAG技术,即检索增强生成(Retrieval-Augmented Generation),是一种利用外部来源获取的事实来增强生成式人工智能模型准确性和可靠性的技术。

通常包括两个阶段:检索上下文相关信息使用检索到的知识指导生成过程。通过从更多数据源添加背景信息,以及通过训练来补充大型语言模型(LLM)的原始知识库,检索增强生成能够提高搜索体验的相关性。

在过去的2023年,RAG技术取得了快速发展,也带火了向量数据库搜索增强能够有效解决幻觉、时效性差、专业领域知识不足等阻碍大模型应用的核心问题。一方面,搜索增强技术能有效提升模型性能,并且使大模型能“外挂硬盘”,实现互联网实时信息+企业完整知识库的“全知”。这一技术不仅提高了生成式模型的准确性和可靠性,还使其能够更好地理解上下文,并将检索到的知识融入到生成过程中,从而生成更加贴合实际需求的文本。

随着大型模型对上下文长度的支持加强以及从长上下文检索信息的能力逐渐增强,我们不禁要问:RAG技术是否已经过时,成为人工智能生成与检索应用中的过客?目前来看,RAG技术的发展才刚刚起步,并且随着大型模型在处理长上下文和遵循指令方面的能力不断提升,RAG技术将持续发展迭代。单纯依赖大型模型并不能完全满足非结构化数据处理的4V特性:

1.Velocity(速度):

根据目前测试反馈,Gemini在回答36万个上下文时需要约30秒,并且查询时间随着token数量呈非线性上升。尽管我们对算力和模型的发展都持乐观态度,但要使长上下文实现秒级响应对于基于transformer的大型模型仍然是一个极具挑战性的目标。

2.Value(价值):

尽管长下文的大模型生成结果具有很高的质量,但是推理成本依然是落地的阻碍。例如,如果将上下文的窗口设定为1M,按照当前0.0015美元/1000 token的收费标准,一次请求就要花掉1.5美元。这样高昂的成本显然是无法实现日常使用的。

3.Volume(体量):

1000万token相对于当前庞大的非结构化数据体量而言,依然是九牛一毛,目前还没有方式把整个Google搜索的索引数据扔进大模型。

4.Variety(多样性):

实际的落地场景中,不仅仅包含了长文本,图片等非结构化数据,更包含了复杂的结构化数据,比如时间序列数据,图数据,代码的变更历史等等,处理这些数据依然需要足够高效的数据结构和检索算法。


RAG路在何方?

RAG已经被证明是一种解决大模型幻觉的有效方法,如何进一步提升RAG的实战效果?

1.提升长上下文的理解能力

由于嵌入模型通常较小,上下文窗口有限,传统的RAG通常依赖分块对数据进行切分。这导致了上下文信息的丢失,例如一些代词的信息无法连贯地理解。

举例来说明,在某个对话中,提到Bill周日去了埃菲尔铁塔,之后又跟朋友一起去了卢浮宫,当我们进行传统的提问,例如询问“Bill周日下午去了哪里?”时,由于上下文信息被分割成多个分块,可能会导致搜索到的信息仅包含了Bill周日去了埃菲尔铁塔,从而形成了错误的结论。这种情况下,由于上下文被切分,系统无法正确理解代词“去了哪里”的指代对象,从而导致了错误的结果。

近期,基于大型模型实现的嵌入逐渐成为主流。

2.利用多路召回提升搜索质量

为了提升RAG的回复质量,关键在于能够检索到高质量的内容,数据清理、结构化信息提取以及多路混合查询,都是提高搜索质量的有效手段。

最新的研究表明,相比稠密向量模型,关键词感知能力以及可解释方面表现更佳。通过不同类型的向量多路召回并结合大型模型进行排名,可以显著提高检索效果,这种混合查询的方法也被向量数据库厂商广泛接受。


3.使用复杂策略提升RAG能力

开发大模型应用不仅面临算法挑战,还涉及复杂的工程问题。这要求开发者具备深入的算法知识及复杂系统设计和工程实践的能力。

采用复杂策略,如查询改写、意图识别和实体检测,不仅提升了准确性,也显著加快了处理速度。即使是先进的Gemini 1.5模型,在进行Google的MMLU基准测试时也需调用32次才能达到90.0%的准确率,显示出采用复杂工程策略以提升性能的必要性。

通过使用向量数据库和RAG,采取空间换时间的策略,使RAG系统能更有效利用大型语言模型(LLM)的能力。这不仅限于生成答案,还包括分类、提取结构化数据、处理复杂PDF文档等任务,增强了RAG系统的多功能性,使其能适应更广泛的应用场景。

大内存的发展并不意味着硬盘的淘汰,大模型技术正在改变世界,但无法改变世界的运行规律。自冯诺依曼架构诞生之日起,存储器、计算器和外存分开,即使在单机内存已经达到TB级别的今天,SATA磁盘和闪存依然在不同应用场景下发挥着重要的价值。对于大模型而言,长期记忆的重要性也将持续存在。AI应用的开发者一直在追求查询质量和成本之间的完美平衡。当大型企业将生成式人工智能投入生产时,他们需要控制成本,同时保持最佳的响应质量。RAG技术向量数据库依然是实现这一目标的重要工具


了解更多阿里云向量检索服务DashVector的使用方法,请点击:

https://help.aliyun.com/product/2510217.html?spm=a2c4g.2510217.0.0.54fe155eLs1wkT

向量banner制作-用于日常发文章.png

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
移动开发 文字识别 算法
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
本文简要介绍Pattern Recognition 2019论文“SegLink++: Detecting Dense and Arbitrary-shaped Scene Text by Instance-aware Component Grouping”的主要工作。该论文提出一种对文字实例敏感的自下而上的文字检测方法,解决了自然场景中密集文本和不规则文本的检测问题。
1875 0
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
|
15天前
|
人工智能 算法 数据挖掘
向量近邻检索方法总结
本文详细介绍向量近邻检索方法。
|
4月前
|
人工智能 Java API
向量检索的3种方式
本文介绍向量检索服务如何通过控制台、SDK、API三种不同的方式检索向量。
向量检索的3种方式
|
9月前
|
机器学习/深度学习 自然语言处理 BI
FourIE:基于图卷积网络的跨任务实例表征交互和标签依赖的联合信息抽取模型
现有的信息抽取(IE)工作主要是分别解决四个主要任务(实体提及识别、关系抽取、事件触发词检测和论元抽取),无法从任务之间的相互依赖中获益。
80 2
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
GraphIE:通过建模实例间和标签间依赖性联合抽取实体、关系和事件 论文解读
事件触发词检测、实体提及识别、事件论元抽取和关系抽取是信息抽取中的四个重要任务,它们被联合执行(联合信息抽取- JointIE),以避免错误传播并利用任务实例之间的依赖关系
113 1
|
10月前
|
人工智能 自然语言处理 Python
ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型
ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型
ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型
|
10月前
|
数据采集 机器学习/深度学习 自然语言处理
实现文本数据数值化、方便后续进行回归分析等目的,需要对文本数据进行多标签分类和关系抽取
实现文本数据数值化、方便后续进行回归分析等目的,需要对文本数据进行多标签分类和关系抽取
147 0
|
12月前
|
机器学习/深度学习 算法
在对数据进行预处理时,怎样处理类别型特征?
在对数据进行预处理时,怎样处理类别型特征?
|
机器学习/深度学习 存储 自然语言处理
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
|
机器学习/深度学习 算法
特征工程:什么是「组合特征」?要如何处理「高维组合特征」?
为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。在实际问题中,需要面对多种高维特征,简单地两两组合,依然容易存在参数过多、过拟合等问题。
231 0