Advertisement

LLM Agent之再谈RAG的召回多样性优化

阅读量:

1. Query多样性

  • 2019 Query Expansion Techniques for Information Retrieval: a Survey

传统搜索Query的延伸包括通过分析用户的搜索历史数据提取具有代表性的相似Query;通过分析相同召回文档之间的关联性提取具有代表性的相似Query;同时还有利用SMT(Summarization and Translation)技术进行改进的具体方案。在大模型时代自然地与这些技术结合在一起的是LLM的强大支持;这不仅降低了查询改写的难度而且为改进提供了更多的改进空间。

1.1 相似语义改写

  • 基于学习的查询重新编译技术 ,雅虎(2016)
  • 在线互动搜索系统:支持长文本问答 ,清华(2023)

曾于16年时Yahoo便开始尝试过对Query进行改写的方案。早期的研究主要集中在基于序列到序列(Seq2Seq)模型架构上。再就是之前介绍的WebCPM等方法则通过引入先进的大模型技术来提升信息检索的效果。近年来LangChain平台也集成了与之类似的Multi-Index Retriever功能模块具体而言,在这一逻辑中系统会将用户的原始查询转换为一组具有相似语义意义但更精确的问题描述从而实现更加精准的信息覆盖机制通过多轮查询机制的应用在提升信息覆盖范围的同时实现了更高的信息检索效率

img

1.2 双向改写

  • Q2D: Query Expansion via Large Language Models 微软 (2023)
  • Query Expansion through Prompting Large Language Models 谷歌 (2023)

除了上述之外,还有一种特殊的Query转换方案,即参考Query2doc的方法将Query转化为document形式。在论文中采用4-shot提示策略:首先基于给定的query生成一个伪文档,随后利用生成的回答内容进行相关文献的检索。这一改进方案具有明显的优势

  • 优化短文本Query的向量化准确性问题
  • 减少长文档与查询之间的余弦相似度差异
  • 提升BM25等离散索引抽取的效果,因为较长的文档更容易提取出关键信息

当然缺点也很显著。首先是一个伪文档可能会导致语义偏移;其次幻觉回答可能会引入错误关键词导致召回准确率下降;最后编码过程的时间成本较高。

img

在反向工程中,在完成一个系统时需要考虑两个主要方向:一个是将现有系统转换为另一种形式(即从Doc到Query),另一个则是从另一个角度进行优化(即从Query到Doc)。具体而言,在反向工程过程中需要对每个文档生成多个相关查询(pseudo-query),并通过这些相关查询的嵌入向量来表征文档内容;同时与真实查询进行相似度计算以提高检索效果。此外,在现有的框架中如langchain的MultiVector Retriever功能也能够实现类似的效果。

同样地,在这项研究中所做的一系列实验工作同样地,在这项研究中所做的一系列实验工作

img

实验结果表明,在模型达到一定规模后应用Query2COT方法能够展现出显著更好的效果,并且其性能超越了现有方案中采用相关文档处理的COT/PRF方法。另一方面该技术不仅能够对查询进行多层次分解还能够通过这种分解方式生成的有效关键词从而进一步提升整体性能;同时值得注意的是这种方法并不依赖于外部资源则能更好地发挥自身知识检索和创新的能力

img

1.3 强化学习改写

  • 精心设计问题:结合强化学习的活跃重新排列策略,谷歌(2018)
  • 通过强化检索的大语言模型进行查询重塑,微软(2023)

该方案已在OpenAI内部会议中被提及,并具有其潜在价值在于可能提高RAG系统的表现。其潜在价值在于可能提高RAG系统的表现,并可用于初步探索阶段以验证其可行性。值得注意的是这种改写过程缺乏监督机制,并即通过语义相似性来进行转换因此,在实际应用中可能无法确保转换后查询搜索效果必定提升

在2018年的研究中,谷歌曾采用强化学习方法对改写模型进行优化,将其搜索系统建模为一个Environment.该研究采用seq2seq架构产出多个候选Query版本,并将其用于执行动作.具体而言,原始Query及其改进版本都被纳入到后续的排序模块处理.为了衡量改进效果,研究者利用排序模块中改进Query版本在TopK列表中的表现,计算其在原始Query召回结果中的表现作为奖励分,并通过梯度下降方法对改写模型进行参数优化以提升改进后查询结果的召回效率.值得注意的是,无论你在改写的流程设计上有多创新,只有切实提高内容质量并实现高独占性召回才能真正构建出有价值的改进型查询系统.

在大模型时代背景下,在微软提出的rewrite-retrieve-read框架中主要采用以下策略:将大语言模型部署到rewriter位置,并通过Bing搜索引擎实现高效的文档检索;在问答系统中应用这一技术时,则会结合chatgpt作为读者的角色来执行信息检索与整合;为了提升系统的性能表现,则会尝试利用PPO算法对改写器进行微调训练以优化其性能;不过值得注意的是,在实际应用场景中这种有标准答案支持的问题占比相对较少;相反的是更多开放性问题占据主导地位;因此我们可以类比传统的知识库构建方法:即从大量文档中提取关键语义片段并构建语义图谱的知识工程方法;这与我们之前讨论过的'精排'机制存在相似之处:即在于两者均强调通过对上下文的有效引用来提升信息处理的质量

img

2. 索引扩展

完成query扩展后的工作基础上

  • 文本的相似有不同的类别:从意义上讲它们可能具有相同或相关特征,在形式上也可能表现出一致性但在名称上存在差异等维度无法单独定义其相异性等特性
  • 文本的相异性呈现多层次特征:在某些特定场景下系统需实现精确内容匹配而在其他情况下则可接受一定范围内的信息偏差多数现代的信息检索系统基于向量模型难以全面捕捉这种差异性需求
  • 在特定领域内相异性标准可能有所差异:当涉及垂直领域的应用时相关的向量模型可能在适应性方面存在不足导致无法有效支持这类特定应用场景的需求
  • 对于长度差异较大的文本其相异性分析会面临特殊挑战:由于长短文本所处的空间维度可能存在较大差异这可能导致基于统一向量空间进行分析时出现结果不一致的情况

下面我们看下还有哪些索引类型可以作为单一向量的补充

2.1 离散索引扩展

  • Query Expansion through Elicitation of Large Language Models (谷歌, 2023)
  • ChatLaw: An Open-Source Legal Large Language Model Incorporating External Knowledge Bases

在传统搜索中通常会采用大量离散索引,在许多垂直领域的内容检索过程中往往与向量检索方法形成良好的互补关系。其中某些特定类型的离散索引(如实体级别的检索精度)可能在一定程度上超越向量检索的效果。常见的Query理解生成离散索引的方法包括:

  • 识别和提取: 词语分隔, 新词语的n-gram识别, 单词的词性分析, 实体抽取, 关键字提取等
  • 分类: 意图判别, 主题划分, 概念识别, 地域划分等
  • 多步推理: 实体关联建立, 同义词库应用, 知识图谱查询等

最初认为基于大型语言模型的框架能够有效解决模式优化方向的问题后,在学术界和工业界都形成了广泛共识的一点就是——他们都将研究重点聚焦于关键词扩展这一领域。

尽管在谷歌的论文中尝试过query2Keyword的效果,并未超过query2Doc和Query2COT。然而尽管如此,在某些垂直领域依然表现出不错的效果。例如在一个法学院使用的大型模型ChatLaw中主要应用LLM进行法律条文的关键词联想。论文通过LLM对用户的查询生成相关的法律联想法键并利用这些键的Ensemble Embedding来检索对应的法律条款。当然还可以直接利用这些键来进行检索。这一设计特别针对的是在法学院这类特定领域的特定性词汇能够带来显著更好的检索效果而设计的

img

2.2 连续索引扩展

在向量索引的发展过程中,最常采用的方法是综合运用多种不同的连续型向量索引技术,并且这些方法都具备一定的创新性。

  1. 朴素模式:采用多种嵌入模型进行综合考量的不同表示方法主要包括Ada(OpenAI)、BGE(智源)以及Text2vec系列等产品体系。
  2. 简单模式:基于提取的关键词汇构建语义表示的方式相对简洁直接,并通过词向量空间实现快速相似度匹配。
  3. Hard模式:专注于领域特定化的嵌入学习任务具有较高的技术复杂性和计算资源需求。

微软最近提出了一种比传统微调领域的嵌入模型更轻量的解决方案,并与LoRA策略相似,在基础模型上增加载接器来专门优化查询与文档匹配的效果。

img

研究采用向量加法策略实现模型适应性增强,在原始输出嵌入的基础上增加残差连接机制

在这里插入图片描述

在微调过程中所采用的损失函数基于对比学习中的GlobalNegative Loss策略;其中每个(query, content)pair被定义为正样本;而其余的所有content则被视为负样本;其学习目标则是使query与正样本之间的相似度大于并超过其余所有负样本之间的最大相似度;整体来看这个方案的设计思路显得非常简洁明了;有机会的话可以尝试去实际应用一下

img
img

如何系统的去学习大模型LLM ?

大模型时代悄然到来,在这一背景下主流的大模型技术正在引发程序员们的深刻反思:他们开始认真思考自己所掌握技能的价值定位。这一问题引发了广泛讨论:有人担忧AI技术可能会影响这些行业的未来发展方向;也有人担忧相关职业群体的就业前景将受到威胁。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

继科大讯飞、阿里巴巴、华为等重量级企业纷纷推出AI类产品之后

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关内容十分丰富,在现有资源中与LLM相关的传统教材却非常稀缺。因此对于刚开始接触LLM的小白来说如果不进行自主学习的话则会面临较高的学习成本和技术门槛

特地为大家整理一份系统的学习路线图!
欢迎关注并私信,
我们会为您带来一场关于大模型技术的直播讲座!

👉大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享**(安全链接,放心点击)**👈

一、LLM大模型经典书籍

AI大模型已经发展成为当今科技领域的重点方向之一,在这其中提供高质量的学习资源的书籍是非常值得推荐的。

在这里插入图片描述

二、640套LLM大模型报告合集

这一整套共计640份报告的集合涵盖了大模型理论研究、技术创新以及行业应用等多个领域。无论是从事科研工作的专业人士、技术领域的从业者还是对人工智能技术充满兴趣的学习者,这一整套报告集合将为研究人员和技术工作者提供丰富的学习资料与深入的技术分析。这些研究报告几乎涵盖了所有相关领域

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

目标 :了解AI大模型的基本概念、发展历程和核心原理。

内容

  • L1.1 人工智能概述与大模型发源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT发展历史
    • L1.4 模型工程学
    • L1.4.1 知识类大模型
    • L1.4.2 生产类大模型
    • L1.4.3 模型工程方法论学
    • L1.4.4 模型工程实践学
    • L1.5 GPT应用案例集

阶段2:AI大模型API应用开发工程

目标 :掌握AI大模型API的使用和开发,以及相关的编程技能。

内容

  • 第L2阶段第1个API接口
  • 第L2阶段第1个子模块中的OpenAI接口
  • 第L2阶段第1个Python接口模块的接入过程
  • 第L2阶段第1个BOT工具类框架的设计与实现
  • 提供具体的代码示例以供参考
  • 第二部分介绍的Prompt构建机制及其优化策略
  • 详细阐述整个系统的流水线架构设计思路与实现细节
  • 最后对项目的整体成果进行总结分析并提出未来改进方向

阶段3:AI大模型应用架构实践

目标 :深入理解AI大模型的应用架构,并能够进行私有化部署。

内容

复制代码
* L3.1 Agent模型框架
* L3.2 MetaGPT
* L3.3 ChatGLM
* L3.4 LLAMA
* L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

目标 :掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

内容

  • L4.1 本节将详细阐述模型私有化部署的基本概念及其实现方案。
  • L4.2 本节将深入探讨影响模型私有化部署的核心技术和关键技术点。
  • L4.3 本节将系统性地介绍模型私有化部署的具体实施步骤及操作流程。
  • L4.4 本节将全面分析模型私有化部署在不同应用场景中的实际应用情况及其效果评估。

该份包含丰富的 LLM大模型资料 资源包。具体涵盖:书籍资源(支持深入理解原理)、640套行业分析报告(涵盖最新趋势)、多样化的学习视频内容(便于反复观看)、清晰的学习路线规划(助力系统掌握)、丰富的人工智能教程(实践应用)等。💡如有兴趣,请 点击此处 立即获取完整资源包。

跳转到大礼包🎁:集齐最齐全的《LLM大模型入门+进阶学习资源包》免费分享**(安全链接)**

全部评论 (0)

还没有任何评论哟~