详细!一文带你了解大模型(LLM)与信息检索的关系,看如何助力 信息检索!

   日期:2024-12-30    作者:xhb273511 浏览:63    移动:http://w.yusign.com/mobile/quote/8809.html

大型语言模型 (LLM) 技术的最新突破将引领许多领域的技术转型。其中,搜索和数据库技术与大模型有着比较紧密联系。在某些情况下,搜索可以提高LLM的能力,同时LLM也能提高搜索的能力。今天给大家分享的这篇文章,将详细介绍大模型与搜索之间的关系,以及大模型如何助力搜索效果提升。

自LLM诞生以来,研究人员就开始研究信息检索和文本生成相结合的能力。即利用搜索引擎增强LLM,无需通过微调 LLM 来推理特定数据。这种方法称为检索增强生成 (RAG)。

如果没有RAG,LLM的能力仅取决于其所训练的数据。这意味着,LLM只能纯粹根据其“看到”的内容生成文本,而不能在训练结束后提取新信息。Sam Altman表示“「创建模型的目标是增强推理能力,而不是建立数据库」。” 本质上,我们应该只使用语言模型的推理能力,而不是它所拥有的知识。

详细!一文带你了解大模型(LLM)与信息检索的关系,看如何助力 信息检索!

与传统语言建模相比,RAG 具有 4 个主要优势:

  • 无需梯度优化就能够推理出新的数据;
  • 信息更新比较容易;
  • 能够给出推理引用,有助于消除模型幻觉;
  • 减少模型推理的参数量;

将Prompt提示转换成搜索查询。传统的方式只是通过简单的文本提示来作为查询输入,但随着语义向量搜索的发展,渐渐地可以向搜索引擎输入一些非公式化的查询,例如:通过搜索“法国地标”来找到有关“埃菲尔铁塔”的信息。

然而,有时也可以通过提问题来得到更好的搜索结果。即通过引导语言模型进行问题提取,然后将该问题发送到搜索引擎来完成的,即“法国的地标”翻译为“法国的地标是什么?”。

同时,我们还可能希望引导语言模型制定它认为合适的搜索查询。解决此问题的一种方法是让模型学习搜索引擎的基本原理并如何使用特殊的标记来提高搜索引擎的效果。对于通常需要分解为子问题的复杂问题,也可以采用此种方式。其中LlamaIndex在其框架中就实现了此功能,称为子问题查询引擎。它需要复杂的查询,使用多个数据源将其分解为子问题,然后收集处理以形成最终答案。

另一种有趣的技术是根据语言模型输出的概率来实现额外的查询。语言模型是概率模型,它将概率分配给最有可能的单词来延续文本序列。FLARE 技术对潜在的下一个句子进行采样,将每个单词的概率相乘,如果低于某个阈值,则触发使用先前上下文的搜索查询。

有些查询需要非常彻底的搜索或需要进行细化。思维链是一种常用的辅助语言模型推理能力的方法。AutoGPT 演示了模型如何自主运行以完成各种任务,而无需太多人工干预。这是通过使用思维链(CoT)推理将任务分解为中间步骤来完成的。然后程序将连续运行,直到完成所有任务。

这种思路中的另一个前沿思想是思维树(ToT)采样。在思想树搜索中,每个节点代表对语言模型的提示。然后,我们通过对多个随机代进行采样来对树进行分支。该算法与决策节点相结合,该决策节点确定要剪切哪些分支或何时发现满意的答案。Yao 等人的思想树插图,如下图所示:

向量数据库不是盲目地向搜索引擎发送查询,而是提供了许多策略来实现更好的搜索结果。首先,查询可能更适合符号聚合,而不是语义搜索。例如:“美国乡村音乐歌手的平均年龄是多少?”。使用 SQL 查询可以更好地回答此查询:SELECT avg(age) FROM singer WHERE genre=”country” AND origin=”United States of America”。

为了弥补这一差距,可以引导LLM将此类问题转换为 SQL 语句,然后可以针对数据库执行这些语句。同样,Weaviate 有一个聚合 API,可用于对与非结构化数据关联的符号元数据进行此类查询。

除了文本到SQL主题之外,还有矢量搜索的切换。第一个是我们要搜索哪个类?我们可以选择将数据划分为单独的类,其中每个类都有一个单独的向量索引,以及一组唯一的符号属性。这让我们在矢量搜索时做出下一个决定:我们要添加哪些过滤器到搜索中?一个很好的例子是根据价格过滤搜索结果。我们不仅想要与查询语义最相似的商品,还想要那些低于100的商品。LlamaIndex的查询引擎提供了非常好的抽象来利用LLM查询理解的概念。

在下图中,LLM添加了过滤器,其中“animal”=“dog”,以方便搜索有关 Goldendoodles(金毛犬) 的信息。这是通过引导LLM有关 Weaviate 中格式化结构化向量搜索的数据模式和语法的信息来完成的。

大型语言模型还可以完全改变我们为搜索引擎索引数据的方式,从而提高搜索质量。这里有4个关键方面需要考虑:摘要索引、提取结构化数据、文本分割、管理文档更新。

「摘要索引」 向量嵌入模型通常一次限制为512个Token。这限制了向量嵌入在表示长文档(如一本书的整个章节)或书本身方面的应用。一种新出现的解决方案是应用摘要链(例如本文末尾的创建和改进示例)来总结长文档。然后,获取摘要,对其进行矢量化,并构建索引,以便将语义搜索应用于长文档的比较。

「结构化数据提取」 LLM在索引构建中的下一个应用是从非结构化文本块中提取结构化数据。假设我们从维基百科页面中提取了以下文本块:

通过prompt引导大模型提取关键信息并转换成json格式文本。

「符号数据文本化」 在LLM出现之前,世界上大多数数据都是以表格数据存储的。表格数据集描述了数字、布尔和分类变量的组合。例如,“age”= 26(数字)、“smoker”= True(布尔值)或“favorite_sport”=“basketball”(分类)。新技术发展促使大型语言模型将表格数据翻译成文本。

「文本切割」 与向量化文本块的 512 个Token长度类似,可以考虑使用大语言模型来识别切割文本块的位置。例如,如果我们有一个项目列表,将列表分成 2 个块可能不是最佳实践,因为前半部分落入 chunk[:512] 循环的尾部。

「管理文档更新」 LLM在这个领域正在解决的另一个新问题是搜索索引的持续维护。也许最好的例子就是代码存储库。通常,拉取请求可能会完全更改已矢量化并添加到搜索索引的代码块。我们可以通过询问来提示LLM,这种变化是否足以触发重新矢量化?我们应该更新与该块相关的符号属性吗?由于这次更新,我们是否应该重新考虑上下文的分块?此外,如果我们将更大上下文的摘要添加到该块的表示中,这是否是一个足够重要的更新来重新触发对整个文件的摘要?

搜索通常在管道中运行,查询理解是此管道中的第一步,通常随后是检索和重新排序。重新排序主要是将表格用户特征与表格产品或项目特征相结合,反馈至模型。这需要大量的用户数据才能实现,而零样本泛化则不需要。

交叉编码器通过将“请求-文档”对作为输入并输出高精度相关性分数而受到欢迎。这也可以很容易地推广到推荐,其中排名器将“用户描述-商品描述”对作为输入。

LLM重排可以通过接收多个文档来进行高精度相关性计算,从而改变交叉编码器。这使得LLM能够将注意力集中在整个潜在结果列表上。这也与LLM的AutoCut概念密切相关,这是指给语言模型k个搜索结果,并提示它确定k个搜索结果中有多少足够相关,可以显示给人类用户,或者传递给语言模型 LLM 计算链的下一步。

LLM 重排也能实现符号重排名。例如,我们可以这样提示语言模型:

然后,每个搜索结果与其关联的元数据一起打包在键值数组中。这提供了额外的好处,允许业务从业者轻松地更换排名逻辑。这还具有显着提高推荐系统的可解释性的好处,因为除了排名本身之外,还可以引导LLM给出提供排名的解释。

传统上,搜索结果以一长串相关网站或段落的形式呈现给人类用户。这需要额外的努力来筛选结果以找到所需的信息。新技术如何减少这种额外的工作?这里将从问答和总结的角度来看待这个问题。

在LLM之前,提取式问答模型就已经在结果筛选方面做出了很多努力。其主要原理是基于问题和文本段落的输入对可能的答案范围进行分类。相比ChatGPT,它无需大量的模型训练即可具备数据推理的能力,许多现成的提取式问答模型都可以泛化至的新(问题、文本段落)对。下面显示了一个示例:

提取式 QA 的好处之一是不会出现幻觉。这并不是说它的答案不可能是错误的。这些模型受到上下文的限制,因此无法推理复杂的问题并结合整个段落中组装的部分答案。因此,他们只能回答“What is the original meaning of the word Norman?”这样简单的问题。

基于大模型的QA问答,它们能够将多个段落中的部分信息组合起来。例如,我们可以应用 MapReduce 提示,例如:

然后将每个段落中的这些中间响应组合起来,具体步骤如下图所示。

大模型问答类似,当我们考虑与单个段落相比超过 512 个标记的多个段落时,LLM摘要总结为 AI 系统提供了一项重要的新能力。

以下是在大型语言模型和搜索交叉点上提出的关键概念的总结:

「检索增强生成」通过从搜索引擎检索额外信息来增强LLM的输入。该检索器的触发方式越来越有细微差别,例如自问提示或 FLARE 解码。

「查询理解」LLM可以将自然语言问题转换为 SQL 进行符号聚合。该技术还可用于通过选择要搜索的类以及要添加到搜索中的过滤器来导航 Weaviate。

「索引构建」LLM可以转换信息以方便构建搜索索引。范围包括总结长内容、提取结构化数据、识别文本块、管理文档更新或将结构化数据转换为文本以进行矢量化。

「LLM结果排名」排名模型与检索不同,明确地将查询、用户描述以及每个候选文档作为神经网络的输入,以输出细粒度的相关性分数。LLM现在可以直接完成这项工作,无需任何额外的训练。除了非结构化文本内容之外,还可以提示LLM根据“价格”或“新近度”等符号偏好进行排名。

「搜索结果提炼」LLM正为用户提供新的搜索体验。LLM不需要浏览搜索结果,而是可以应用“map reduce”缩减或摘要链来解析数百个搜索结果,得到更密集的最终结果。

本文地址:http://w.yusign.com/quote/8809.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号