大模型+RAG,全面介绍!
1 、介绍
大型语言模型(LLMs)在处理特定领域或高度专业化的查询时存在局限性,如生成不正确信息或“幻觉”。缓解这些限制的一种有前途的方法是检索增强生成(RAG),RAG就像是一个外挂,将外部数据检索集成到生成过程中,增强模型提供准确和相关响应的能力。
图1 RAG技术发展科技树
本文主要内容如下:
- 回顾了当前最先进的RAG技术,包括朴素RAG、进阶RAG和模块RAG等范式,并阐述了它们的发展历程。在LLM背景下,本文将RAG研究的更广泛领域进行了全面而系统的探讨。
- 重点讨论了RAG过程中的核心技术,特别是“检索”、“生成”和“增强”这三个方面。文章深入分析了这三个组件如何协同工作,并阐明了它们如何相互协作,形成一个有凝聚力和有效的RAG框架。
- 为RAG构建了一个全面的评估框架,包括评估目标和度量标准,并从多个角度分析了其优缺点,同时预测了其未来发展方向和潜在增强。此外,还强调了解决当前挑战的扩展和生态系统的发展。
2 定义
RAG是一种通过整合外部知识库来增强LLMs的模式,采用协同方法,结合信息检索机制和上下文学习(ICL)来提高LLM的性能。RAG工作流程包括三个关键步骤:首先,语料库被划分为离散块,然后使用编码器模型构建向量索引。其次,RAG根据其与查询和索引块的向量相似性来识别和检索块。最后,模型合成一个响应,条件于检索到的块中获取的上下文信息。这些步骤构成了RAG过程的根本框架,支持其信息检索和上下文感知生成能力。RAG的关键优势在于它不需要为特定任务重新训练LLM,开发人员可以添加外部知识库,丰富输入并从而改进模型输出精度。
图 2 RAG 技术在 QA 问题中的案例
3 RAG框架
RAG研究范式经历了不断演变的过程,主要分为朴素RAG、进阶RAG和模块RAG三种类型。虽然RAG具有成本效益并超过了原生LLM的性能,但也表现出一些局限性。为了应对朴素RAG中的特定缺点,开发了进阶RAG和模块RAG。
3.1 朴素RAG
朴素RAG遵循一个传统流程,包括索引、检索和生成。
索引。数据准备过程中的索引是关键初始步骤,涉及多个阶段,从数据清理和提取到文件格式转换和切分,再到嵌入模型转化为向量表示和创建索引。索引为检索阶段的相似性比较提供了便利,并存储了文本部分和它们的向量嵌入作为键值对,为高效和可扩展的搜索能力提供了可能。
检索。系统对用户查询进行转码,生成向量的表示形式,并计算查询向量与索引语料库中块之间的相似度分数。系统优先检索出与查询最相似的块,并用作扩展上下文的基础,以响应用户的请求。
生成。大型语言模型被用于根据提示合成文档来制定响应,允许它利用参数知识或限制在提供文档中的信息。对话历史也可集成到提示中以进行多轮对话交互。模型回答问题的方法可能因特定任务标准而异。
Naive RAG 的缺点。Naive RAG在检索、生成和增强三个关键领域面临挑战。检索质量低,导致不匹配的块、幻觉、空中掉落等问题,阻碍了构建全面响应的能力。生成质量引发幻觉挑战,即模型生成的答案没有基于提供的上下文,存在无关上下文和潜在毒性或偏见的问题。增强过程难以有效地结合检索段落中的上下文与当前生成任务,导致输出不连贯或不一致。重复和冗余也是问题,需要确定检索段落的重要性和相关性,并协调不同的写作风格和语气。生成模型过度依赖增强信息存在风险,可能导致输出仅重申检索到的内容,没有提供新的价值或综合信息。
3.2 进阶RAG
进阶RAG通过增强有针对性的检索策略和改进索引方法来弥补Naive RAG的缺点。它实施了预检索和后检索策略,并采用了滑动窗口、细粒度分割和元数据等技术来改进索引方法。此外,还引入了各种方法来优化检索过程,如ILIN。
预检索过程。优化数据索引可以提高索引内容的质量,从而提高RAG系统的性能。这涉及五个主要策略:增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索。增强数据粒度旨在提高文本标准化的程度和上下文丰富性,优化索引结构包括调整块大小和利用图数据索引整合信息,添加元数据信息用于过滤和整合元数据以提高检索效率,对齐优化处理文档之间的对齐问题和差异。
检索阶段。在检索阶段,通过计算查询和块之间的相似性来确定适当的上下文,嵌入模型是核心。微调嵌入模型可以增强特定领域上下文中的检索相关性,动态嵌入会根据使用的上下文进行适应。像BERT这样的转换器模型可以捕获上下文理解,但可能不如最新全尺寸语言模型对上下文敏感。
后检索过程。从数据库检索到的有价值上下文与查询合并后,应对上下文窗口限制带来的挑战,对检索到的内容进行重新排名和提示压缩是关键策略。重新排名方法包括根据文档多样性优先级、在上下文窗口的开头和结尾交替放置最好的文档、重新计算相关文本和查询之间的语义相似性等。提示压缩方法包括利用小型语言模型来计算提示的互信息或困惑度,以及设计摘要技术来增强LLM的关键信息感知等。
3.3 模块RAG
图3 RAG 范式对比图
模块RAG结构是一种新型的RAG框架,具有更大的灵活性和适应性,可以整合各种方法来增强功能模块,并解决特定问题。模块RAG范式正逐渐成为常态,允许在多个模块之间进行串行流水线或端到端训练方法。进阶RAG是模块RAG的一种专门形式,而Naive RAG是进阶RAG的一个特殊情况。这三个范式之间的关系是继承和发展关系。
新模块搜索模块针对特定场景定制,并纳入了额外语料库的直接搜索,通过LLM生成的代码、查询语言和其他定制工具实现集成,数据源包括搜索引擎、文本数据、表格数据和知识图谱。
记忆模块利用LLM的记忆能力引导检索,识别与当前输入最相似的记忆,并通过检索增强生成器迭代创建无界记忆池,使文本在推理过程中与数据分布更加一致。
融合方法通过采用多查询方法增强传统搜索系统,使用LLM将用户查询扩展到多个不同的视角,揭示更深层次的变革性知识。融合过程包括对原始和扩展查询的并行向量搜索,智能重新排名以优化结果,并将最佳结果与新查询配对。
RAG系统检索过程利用多种来源,根据情况交替或合并使用,查询路由决定用户查询的后续操作,包括摘要、搜索特定数据库或将不同路径合并为单个响应。查询路由器选择适合查询的数据存储,决策是预定义的,通过LLM调用执行。
预测模块利用LLM生成必要内容,解决检索内容中的冗余和噪声问题,生成的内容更有可能包含相关信息。
任务适配器使RAG适应各种下游任务,UPRISE自动从预构建数据池检索提示,支持零样本任务输入,增强跨任务和模型通用性。PROMPTAGATOR将LLM用作少数样本查询生成器,创建特定于任务检索器,利用少量示例开发特定于任务的端到端检索器。
新模式
模块RAG具有高度的适应性,允许在RAG过程中替换或重新排列模块以适应特定问题情境。当前研究主要探索两种组织范式,一种是添加或替换模块,另一种是调整模块之间的组织流程。这些灵活性使得可以根据需要定制RAG过程,从而有效地处理各种任务。
优化RAG管道
优化RAG管道以提高信息效率和信息质量,通过整合各种搜索技术、改进检索步骤、融入认知回溯、实施多功能的查询策略和利用嵌入相似性,实现检索效率和上下文信息的深度之间的平衡。混合搜索探索、递归检索和查询引擎、后退提示方法、子查询和假设文档嵌入等方法被用于优化RAG管道。这些方法有助于生成对后退提示的响应和最终的答案生成过程。然而,这种方法可能不会始终产生令人满意的结果,特别是当语言模型对主题不熟悉时,可能会导致更多的错误实例。
4 检索
在RAG中,高效检索相关文档的关键在于解决三个问题:1)如何实现精确的语义表示;2)如何协调查询和文档的语义空间;3)如何使检索器的输出与大型语言模型的偏好相协调。
4.1 加强语义表示
RAG中的语义空间对于查询和文档的多维映射至关重要,其检索精度对结果影响显著。本节将介绍两种建立准确语义空间的方法。
块优化
管理外部文档时,确定适当的块大小对于确保检索结果的准确性和相关性至关重要。选择适当的块化策略需要考虑索引内容的性质、嵌入模型、用户查询的预期长度和复杂性以及应用程序的使用情况。目前,RAG领域的研究探索了各种块优化技术,以提高检索效率和准确性。摘要嵌入技术、元数据筛选技术和图索引技术等多样化方法的结合已经取得了显著的进步,从而提高了检索结果和RAG的性能。
微调嵌入模型
一旦确定了块大小,下一步就是使用嵌入模型将块和查询嵌入到语义空间中。嵌入模型的有效性至关重要,因为它会影响模型表示语料库的能力。最近的研究引入了诸如AngIE、Voyage、BGE等著名的嵌入模型。这些模型在广泛的语料库上进行预训练,但在专门领域时,它们准确捕捉特定领域信息的能力可能有限。针对特定任务的嵌入微调对于确保模型能够以内容相关性的方式理解用户查询至关重要。嵌入微调方法主要有两种主要范式:领域知识微调和下游任务的微调。领域知识微调需要使用领域特定的数据集,而模型微调的数据集包括查询、语料库和相关文档。下游任务的微调是提高模型性能的关键步骤,例如PROMPTAGATOR和LLM-Embedder等方法利用LLM的能力对嵌入模型进行微调。
4.2 对齐查询和文档
RAG应用中,检索器可以使用嵌入模型编码查询和文档,或为每个使用不同模型。原始查询可能因不精确措辞和缺乏语义信息而受影响,因此,将用户查询的语义空间与文档的语义空间对齐至关重要。本节介绍两种基本技术实现这种对齐。
查询重写
查询重写是一种用于对齐查询和文档语义的方法,通过将原始查询与额外指导结合来创建伪文档,或使用文本线索构建查询向量以生成“假设”文档,或改变传统的检索和阅读顺序,专注于查询重写,或利用LLM进行高级概念抽象推理和检索。多查询检索方法也利用LLM同时生成并执行多个搜索查询,以处理具有多个子问题的复杂问题。
嵌入变换
LlamaIndex通过引入适配器模块,优化查询嵌入的表示,将其映射到与预期任务更紧密对齐的潜在空间中。SANTA通过两种预训练策略增强检索器对结构化信息的敏感性:首先,利用结构化和非结构化数据之间的内在对齐来指导结构化意识下的预训练方案中的对比学习;其次,实施掩码实体预测,鼓励语言模型预测并填充被掩码的实体,从而促进对结构化数据的深入理解。SANTA特别处理了结构化和非结构化数据之间的差异,通过将查询与结构化外部文档对齐,提高检索器识别结构化信息的能力。
4.3 对齐检索器和LLM
在RAG管道中,提高检索命中率不一定能改善最终结果,因为检索到的文档可能不满足LLMs的需求。本部分将介绍两种将检索器输出与LLMs偏好对齐的方法。
微调检索器
几种研究利用来自语言模型(LLMs)的反馈信号来完善检索模型。其中,Yu等人使用编码器-解码器架构为检索器提供监督信号,通过FiD跨注意力分数识别LM的偏好文档,并使用难负采样和标准交叉熵损失对检索器进行微调。此外,还建议LLMs可能更倾向于关注可读性文档而不是信息丰富的文档。Shi等人利用检索器和LLM来计算检索到的文档的概率分布,通过KL散度进行监督训练。UPRISE使用冻结的LLM来微调检索器,通过LLM提供的分数来监督检索器的训练。此外,还提出了四种监督微调嵌入模型的方法,以提高检索器和LLM之间的协同作用,从而提高检索性能和更准确地响应用户查询。
适配器
微调模型时可能会遇到挑战,如通过API集成功能或解决本地计算资源有限的问题。一些方法选择采用外部适配器来帮助对齐。PRCA通过上下文提取阶段和奖励驱动阶段来训练适配器,并使用基于令牌的自回归策略优化检索器的输出。此外,PKG介绍了一种创新方法,通过指令微调将知识集成到白盒模型中,这种方法有助于解决微调过程中遇到的困难,并提高模型性能。此外,RECOMP引入了提取和生成压缩器,用于摘要生成。
5 生成
RAG的关键组成部分之一是生成器,它负责将检索到的信息转换为连贯、流畅的文本。生成器通过整合检索到的数据来提高准确性和相关性,并受到检索到的文本的指导以确保生成的文本与检索到的信息之间的一致性。这种全面的输入使生成器能够深入了解问题的上下文,提供更有信息和上下文相关的响应。生成器的引入有助于改进大型模型对输入数据的适应能力。
5.1 使用冷冻LLM进行后检索
在不可调用的LLM领域,研究依赖GPT-4等大型模型合成信息,但存在上下文长度限制和易受冗余信息影响的问题。为解决这些问题,研究转向后检索处理,涉及处理、过滤或优化从大型文档数据库中检索的相关信息,以提高检索结果质量,使其更符合用户需求或后续任务。后检索处理中的常见操作包括信息压缩和结果重新排名。
信息压缩
大型语言模型的上下文长度限制是一个挑战,信息压缩对于减少噪音、解决上下文长度限制和增强生成效应具有重要意义。PRCA和RECOMP是两个研究项目,它们分别通过训练信息提取器和使用对比学习训练信息压缩器来解决这个问题。另一个研究项目提出了“Filter-Reranker”范式,结合了LLMs和小语言模型(SLMs)的优势,以减少文档数量以提高模型回答的准确性。
重新排序
重新排序模型在优化检索器检索的文档集合方面起着重要作用,通过重新排列文档记录,优先考虑最相关的项目,从而限制文档总数,提高检索效率和响应速度。这种方法还纳入了上下文压缩,以提供更精确的检索信息。重新排序模型在整个信息检索过程中扮演双重角色,既是优化者又是细化者。
5.2 针对RAG的微调LLM
优化RAG模型中的生成器是关键方面,生成器的角色是接收检索到的信息并生成相关文本。为了适应输入查询和检索到的文档,对模型进行微调变得至关重要。在RAG中,生成器的微调方法与LLM的一般微调方法一致。为了提高生成器的性能,需要后处理检索到的文档,并使用代表性工作进行数据和优化函数的探索。
总体优化过程
总体优化过程的一部分是训练数据通常包括输入-输出对,旨在训练模型根据输入x生成输出y。自我记忆的工作中,采用了一种传统的训练过程,其中给定输入x,检索相关文档z,在整合(x,z)后,模型生成输出y。训练数据通常包括输入-输出对,旨在训练模型根据输入生成输出。在联合编码器和双编码器范式中,使用基于编码器-解码器的标准模型或两个独立的编码器对输入和文档进行编码,然后使用解码器进行双向跨注意力处理。这两种架构都使用Transformer作为基础块并进行优化。
利用对比学习
在训练语言模型时,传统的方法可能导致“曝光偏差”,即模型只根据单个、正确的输出示例进行训练,限制了其对各种可能输出的范围。为了解决这个问题,SURGE提出了使用图-文本对比学习的方法,可以促使模型产生一系列可能且连贯的响应,减少过拟合,加强模型泛化能力。对于涉及结构化数据的检索任务,SANTA框架实施了三部分训练方案,包括检索器、生成器初步训练阶段和生成器训练的另一个阶段,有效地封装了结构和语义的微妙差异,培养了模型对文本数据结构语义的理解,并促进了结构化数据中相关实体的对齐。
6 RAG的增强
RAG发展的三大关键技术:增强阶段、数据来源和过程。图4展示了RAG核心组件的分类。
图4 RAG的核心组件的分类体系
6.1 RAG的增强阶段
RAG是一个知识密集型工作,在语言模型训练的预训练、微调和推理阶段,融入了各种技术方法。
预训练阶段
在预训练阶段,研究人员通过基于检索的策略来加强开放域QA的PTMs。REALM模型采用结构化的可解释方法进行知识嵌入,并利用检索增强进行大规模预训练。RETRO从头开始利用检索增强进行预训练,并减少模型参数以实现困惑度上的超越标准GPT模型。COG引入了一种新颖的文本生成方法,模拟从现有集合复制文本片段。增强预训练方法具有强大的性能和参数利用率,但面临着挑战,如需要大量的预训练数据集和资源,以及随着模型规模增加而减少的更新频率。实证证据突显了这种方法在知识密集型应用中的显著改善。
微调阶段
RAG与微调是强化LLM的重要工具,两者结合能更好地满足特定场景需求。微调检索器能优化语义表示,协调检索与生成模型,提升通用性和适应性。微调生成器则能定制化和风格化输出,适应不同输入格式,构建特定指令数据集。协同微调能增强模型通用性,避免过拟合,但资源消耗较大。虽然微调需要专用数据集和大量计算资源,但能减少预训练资源消耗,定制模型以满足特定需求。总之,微调对RAG模型适应特定任务至关重要,能完善检索与生成器,增强模型多样性和适应性。
推理阶段
RAG模型的推理阶段十分重要,与LLM的集成广泛。传统RAG在推理阶段引入检索内容来指导生成。为改进,先进技术在推理中引入了更丰富语境的信息。DSP框架在frontier LMs和检索模型间进行自然语言文本交换,丰富了上下文,改善了生成结果。PKG方法为LLMs配备了知识引导模块,可检索信息以执行复杂任务,无需修改LLMs参数。CREAICL采用跨语言知识的同步检索来增强上下文,RECITE通过从LLMs中直接采样段落来生成上下文。ITRG通过迭代检索识别正确的推理路径,提高任务适应性。ITERRETGEN采用迭代策略,将检索和生成合并为一个循环过程,交替进行“检索增强生成”和“生成增强检索”。这些增强提供了轻量级、经济高效的替代方案,能利用预训练模型的能力而无需进一步训练。
6.2 增强源
RAG模型需要增强数据源的选择,不同层次的知识和维度需要不同的处理技术。最初,增强主要通过纯文本等非结构化数据实现,后来扩大到包括使用结构化数据进行进一步改进,最近还越来越多地采用利用LLM自身生成的内容进行检索和增强的趋势。这些增强方法对RAG模型的有效性产生重大影响。
结合无结构数据
从语料库中收集的无结构文本用于微调大型模型,提供了细粒度的精度,但增加了检索的复杂性。一种主动检索方法由模型生成低概率单词触发,创建临时句子,用检索到的上下文重新生成句子以预测后续句子。另一种方法使用前一块的上下文指导下一块的生成,保持因果关系,只利用前一个块的最近邻居。这些方法有助于提高文档检索的精度。
结合结构化数据
结构化数据,如知识图谱(KGs),为模型提供了高质量的上下文信息,有助于缓解模型幻觉。RET-LLMs从过去的对话中构建知识图谱记忆,SUGRE使用GNN编码相关的KG子图并确保检索到的信息和生成的文本之间的一致性,KnowledGPT生成KB搜索查询并将知识存储在个性化基础上。
在RAG中利用LLMs生成的文本
为了解决RAG中外部辅助信息存在的局限性,一些研究专注于利用LLM的内部知识。其中,一些方法将问题分为已知或未知,选择性地应用检索增强。其他方法则将LLM生成器用于取代检索器,通过迭代创建与检索增强生成器无界的内存池,使用内存选择器来选择作为原始问题的双重问题的输出,从而自我增强生成模型。
这些方法强调了RAG中创新数据源利用的广泛性,旨在提高模型性能和任务有效性。
6.3 增强过程
在RAG领域,单一检索步骤和生成可能导致效率低下,并出现“迷失在中间”现象。为了解决这些问题,当代研究提出了改进检索过程的方法,包括迭代检索、递归检索和自适应检索。迭代检索增强所获得信息的深度和相关性,递归检索用于处理复杂或多步查询,特别是需要逐步接近最终答案的场景,而自适应检索提供动态调整机制以适应不同任务和情境。
图5 具有不同增强方面的代表性 RAG 研究的技术树图谱
迭代检索
RAG模型中的迭代检索通过多次检索迭代提供额外的上下文参考,增强了后续答案生成的鲁棒性。为了解决特定数据场景,使用递归检索和多跳检索技术。一些方法论将检索和生成的步骤结合起来,利用协同方法,利用所需的内容作为检索相关知识的上下文基础来解决问题,从而促进在随后的迭代中生成改进的响应。
递归检索
递归检索是一种优化搜索结果的反馈循环过程,通过反复改进搜索查询来提高搜索结果的深度和相关性。该过程使用思维链或澄清树等工具来指导检索过程,并使用获得的检索结果来改进思维链或优化查询中的模糊部分。递归检索允许不断学习和适应用户需求,通常能提高搜索结果的满意度。
自适应检索
自适应检索方法通过使LLM主动确定检索的最佳时间和内容来改进RAG框架,从而提高检索信息的效率和相关性。这些方法包括使用强化学习框架、自我反思令牌和自动监测生成过程的置信度等手段。LLM优化引起了人们的极大关注,优化方法包括提示工程、微调(FT)和RAG等,如图6所示,需要根据特定场景的要求和每个方法的固有属性进行选择,RAG和FT的详细比较请参见表1。
图6 RAG与其他模型优化方法的比较
表1 RAG与微调之间的比较
6.4 RAG与微调的比较
RAG和FT是两种不同的信息检索模型训练方法,RAG适合特定查询,FT适合内化知识。FT可以通过强化基础模型知识、调整输出和教授复杂指令来提高模型性能和效率,但不适合整合新知识或快速迭代新用途。RAG和FT并非相互排斥,可以相互补充,在不同层次上增强模型能力。优化涉及RAG和FT的过程可能需要多次迭代才能达到满意结果。
7 RAG评估
自然语言处理领域中RAG的快速发展和广泛应用推动了法律语言学社区的前沿研究。评估的主要目的是理解和优化RAG模型在不同应用场景的性能。评估方法从特定任务评估方法和指标转移到基于其独特属性的现有文献的综合,涵盖了RAG评估的目标、对这些模型进行评估的方面、以及可用于此类评估的基准和工具。目的是提供一个关于RAG模型评估的全面概述。
7.1 评估目标
对RAG模型的评价集中于其检索和生成模块,以全面评估上下文质量和内容质量。
检索质量评估
评估检索质量对于确定检索组件提供的上下文的有效性至关重要。可以使用搜索引擎、推荐系统和信息检索系统的标准指标来衡量RAG检索模块的性能。通常使用命中率、MRR和NDCG等指标来评估检索模块的性能。
生成质量评估
生成质量的评估包括真实性、相关性、非危害性和准确性,可以通过手动或自动评估方法进行。对于未标记的内容,评估还包括上下文相关的答案。对于标记的内容,重点是模型产生的信息的准确性。评估方法可以用于检索和生成的质量评估。
7.2 评估方面
当前评价RAG模型主要关注三个关键质量分数和四个基本能力,这些因素共同影响着模型的检索和生成两大目标。
质量分数
质量分数包括上下文相关性、答案准确性和答案相关性。这些质量分数从信息检索和生成过程中的不同角度评估RAG模型的效率,确保检索到的上下文精确且具有特异性,生成的答案与所提出的问题保持一致并避免矛盾,同时与核心问题直接相关。
所需能力
RAG评估包括噪声鲁棒性、负拒绝、信息整合和反事实鲁棒性四种能力,这些能力对于模型在各种挑战和复杂场景下的性能至关重要。此外,上下文相关性和噪声鲁棒性对于评估检索质量很重要,而答案真实性、答案相关性、负拒绝、信息整合和反事实鲁棒性对于评估生成质量也很重要。表2总结了每个评估方面的具体指标。
表2 适用于评价方面RAG的指标摘要表
7.3 评估基准和工具
RAG模型评估框架包括基准测试和自动化评估工具,这些工具提供了定量指标,可以衡量模型表现并增强对模型在各种评估方面的能力理解。基准测试侧重于评估模型的基本能力,而最先进的自动化工具使用LLM来裁决质量分数。这些工具和基准共同构成了系统评估RAG模型的强大框架,如表3.
表3 评价框架摘要
8 未来展望
这部分探讨了RAG的三个未来展望:未来的挑战、模式扩展和RAG生态系统。
8.1 RAG的未来挑战
RAG技术虽然取得了显著进展,但仍面临一些挑战:
- 上下文长度:RAG效果受限于大型语言模型(LLM)的上下文窗口大小,需要在信息不足和风险较高的信息稀释之间找到平衡。
- 鲁棒性:检索过程中的噪声或矛盾信息可能影响RAG输出质量,提高RAG对抗性或反事实输入的抵抗力是研究热点。
- 混合方法(RAG+FT):将RAG与微调相结合成为主导策略,确定最佳集成方式和利用参数化和非参数化优势值得探索。
- 扩大LLM角色:确定在RAG系统中进一步释放LLMs潜力的方式是研究热点。
- 规模定律:RAG模型中的参数数量落后于LLMs,反规模定律的可能性值得研究。
- 生产就绪的RAG:提高检索效率、在大型知识库中提高文档召回率以及确保数据安全性等关键工程挑战仍需解决。
RAG的模态扩展
RAG已经超越了基于文本的问答,接纳了图像、音频和视频等多种模态数据,催生了创新的多模态模型。在图像领域,RA-CM3和BLIP-2等模型实现了文本和图像的检索和生成,以及零样本图像到文本转换。在音频和视频领域,GSS方法将机器翻译数据转换为语音翻译数据,UEOP在端到端自动语音识别方面取得进展,基于KNN的注意力融合改进了ASR,Vid2Seq使用专门的计时器来增强语言模型,促进事件边界和文本描述的预测以及统一输出序列。在代码领域,RBPS通过编码和频率分析检索与开发人员目标一致的代码示例,在小规模学习任务中表现出色。对于结构化知识,CoK方法首先从知识图中提取与输入查询相关的信息,然后将这些事实作为提示集成到输入中,提高知识图问答任务的性能。
8.2 RAG生态系统
RAG是一种强大的语言模型,能够处理复杂的查询并产生详细的响应。它在开放式问答和事实核查等下游任务中表现出色,提高了响应的精确性、相关性、多样性和深度。RAG在医学、法律和教育等领域的可扩展性和通用性值得进一步研究,可能降低培训成本,提高专业领域知识问题回答的性能。完善RAG的评估框架至关重要,需要开发微妙的指标和评估工具,以衡量上下文相关性、内容创造性以及非恶意性等因素。提高RAG驱动模型的解释性也是一个关键目标,这将有助于建立用户对RAG应用程序的信任和透明度。
技术堆栈
RAG生态系统的发展受到技术堆栈发展的影响,如LangChain和LLamaIndex等关键工具的流行,提供了广泛的RAG相关API。新兴的技术堆栈如FlowiseAI10、HayStack、Meltano11和CohereCoral12也因其独特贡献受到关注。传统的软件和云服务提供商也在扩大服务范围,包括以RAG为中心的服务。RAG模型和技术堆栈的共同增长是显而易见的,技术进步不断为现有基础设施制定新标准。RAG工具包正在汇集成为一个基础技术堆栈,为高级企业应用程序奠定基础。然而,完全集成和全面的平台的概念仍然存在,有待进一步的创新和发展。
图 7 RAG 的生态系统概览
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
相关文章:
大模型+RAG,全面介绍!
1 、介绍 大型语言模型(LLMs)在处理特定领域或高度专业化的查询时存在局限性,如生成不正确信息或“幻觉”。缓解这些限制的一种有前途的方法是检索增强生成(RAG),RAG就像是一个外挂,将外部数据…...
智能合约中存储和计算效率漏洞
存储和计算效率 不当的存储结构或计算密集型操作可能导致高Gas费用和性能瓶颈。示例场景:频繁读取和写入大数组 假设你正在构建一个投票系统,其中每个提案都有一个独立的计票器。为了实现这一点,你可能最初会考虑使用一个映射(m…...
软件测试基础知识总结
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、软件测试概述 1、什么是软件 定义:计算机系统中与硬件相互依存的一部分&#x…...
C语言 | Leetcode C语言题解之第143题重排链表
题目: 题解: struct ListNode* middleNode(struct ListNode* head) {struct ListNode* slow head;struct ListNode* fast head;while (fast->next ! NULL && fast->next->next ! NULL) {slow slow->next;fast fast->next-&g…...
探寻性能优化:如何衡量?如何决策?
目录 一、衡量指标说明 (一)响应时间(Response Time) 平均响应时间(Average Response Time) 百分位数响应时间(Percentile Response Time) (二)吞吐量&a…...
Python Django 5 Web应用开发实战
Django 是一个高级 Python Web 框架,它鼓励快速开发和简洁、务实的设计。下面是一个关于如何使用 Django 开发一个包含五个基本页面的 Web 应用的实战指南。请注意,这里仅提供一个概述,实际开发中会有更多细节和步骤。 1. 安装 Django 首先,你需要安装 Django。你可以使用…...
H.264官方文档下载
H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,运动图像专家组)联合制定的视频编码标准。其官方文档可以在ITU官网上下载:https://www.…...
minio多节点部署
MinIO 是一个高性能的分布式对象存储服务,它可以配置为多节点(或多服务器)模式以提供高可用性和数据冗余。以下是一个基本的多节点MinIO部署示例: 确保你有多个服务器或虚拟机。在每个节点上安装MinIO。使用minio server命令启动多…...
2024年工业设计与制造工程国际会议(ICIDME 2024)
2024年工业设计与制造工程国际会议 2024 International Conference on Industrial Design and Manufacturing Engineering 会议简介 2024年工业设计与制造工程国际会议是一个集结全球工业设计与制造工程领域精英的盛会。本次会议旨在为业界专家、学者、工程技术人员提供一个分享…...
一次曝 9 个大模型,「字节 AI」这一年都在做什么?
字节跳动的大模型家族,会长出下一个抖音吗? 整个 2023 年,字节并没有对外官宣其内部自研的大模型。外界一度认为,大模型这一技术变革,字节入场晚了。梁汝波在去年底的年会上也提到了这一点,他表示「字节对…...
PR基本概念数学知识
1、2基本概念 监督学习与非监督学习期望风险与经验风险结构风险最小化(SRM)与经验风险最小化(ERM)期望风险的上界过拟合数据预处理模型评价方法分类与聚类 数学知识 矩阵求逆、矩阵乘法协方差矩阵的计算特征值、特征向量的计算…...
信驰达蓝牙数字钥匙方案持续创新,助推智慧汽车生态发展
随着汽车智能化的加速发展,数字钥匙正成为全球化的新趋势,它通过数字化的手段连接人、车以及更广泛的生态,引领着出行方式的革命和用户体验的转变。数字钥匙不仅仅是一个简单的访问工具,它重新定义了人与车的互动方式,…...
校园生活服务平台的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,用户管理,跑腿管理,文娱活动管理,活动申请管理,备忘录管理 前台账户功能包括:系统首页,个人中心ÿ…...
gerrit 使用
添加ssh 点击 蓝色方框 复制ssh 添加即可...
【GD32F303红枫派使用手册】第十二节 ADC-双轴按键摇杆多通道循环采样实验
12.1 实验内容 本实验是通过ADC规则组多通道循环采样方式实现双轴按键摇杆传感器x和y轴电压值的读取,通过本实验主要学习以下内容: 双轴按键摇杆传感器工作原理 DMA原理 规则组多通道循环采样 12.2 实验原理 12.2.1 双轴按键摇杆传感器工作原理 摇…...
Rust-03-数据类型
在 Rust 中,每一个值都属于某一个 数据类型,这告诉 Rust 它被指定为何种数据,以便明确数据处理方式。Rust 是 静态类型语言,也就是说在编译时就必须知道所有变量的类型。根据值及其使用方式,编译器通常可以推断出我们想…...
代理IP使用api接
代理IP使用API接口,通常是指通过API接口获取代理IP地址,并将其应用于爬虫、数据采集、反爬虫等场景中,以提高数据采集效率和保护数据采集安全。 一般来说,代理IP提供商会提供API接口文档和SDK供开发者使用。你需要先注册并登录代…...
C++中的适配器模式
目录 适配器模式(Adapter Pattern) 实际应用 图形渲染库适配器 日志系统适配器 支付系统适配器 总结 适配器模式(Adapter Pattern) 适配器模式是一种结构型设计模式,它使得原本由于接口不兼容而不能一起工作的类…...
MySQL入门学习-聚合和分组.最大值(MAX()函数)
MAX() 函数用于返回表达式的最大值。它通常与聚合和分组一起使用,以计算分组中的最大值。 以下是一些常见的聚合和分组函数: 1. MAX():返回表达式的最大值。 2. MIN():返回表达式的最小值。 3. AVG():返回表达式的…...
LLM大语言模型(十六):最新开源 GLM4-9B 本地部署,带不动,根本带不动
目录 前言 本机环境 GLM4代码库下载 模型文件下载:文件很大 修改为从本地模型文件启动 启动模型cli对话demo 慢,巨慢,一个字一个字的蹦 GPU资源使用情况 GLM3资源使用情况对比 前言 GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 …...
【JVM】JVM 的内存区域
Java虚拟机(JVM)在执行Java程序时,将其运行时数据划分到若干不同的内存区域。这些内存区域的管理对Java应用程序的性能和稳定性有着重要影响。JVM的内存区域主要包括以下几部分: 方法区(Method Area)&#…...
intel新CPU性能提升68%!却在内存上违反祖训
前几天的台北电脑展「Computex」,各家都拿出了看家本领。 老朋友 AMD 在会展上发布了最新的锐龙 9000 系列和自己家移动处理器 HX AI 系列,IPC 和能效都取得了不错的进步。 当然隔壁蓝厂 intel 也没闲着,当即就掏出了下一代的低功耗移动端处…...
stm32MP135裸机编程:修改官方GPIO例程在DDR中点亮第一颗LED灯
0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf 正点原子stm32mp135开发板&原理图 STM32Cube_FW_MP13_V1.1.0 STM32CubeIDE v1.151 需要修改那些地方 1.1 修改LED引脚 本例使用开发板的PI3引脚链接的LED作为我们点亮的第一颗LED灯,…...
探索乡村振兴新模式:发挥科技创新在乡村振兴中的引领作用,构建智慧农业体系,助力美丽乡村建设
随着科技的不断进步,乡村振兴工作正迎来前所未有的发展机遇。科技创新作为推动社会发展的重要力量,在乡村振兴中发挥着越来越重要的引领作用。本文旨在探讨如何发挥科技创新在乡村振兴中的引领作用,通过构建智慧农业体系,助力美丽…...
机器学习笔记:focal loss
1 介绍 Focal Loss 是一种在类别不平衡的情况下改善模型性能的损失函数最初在 2017 年的论文《Focal Loss for Dense Object Detection》中提出这种损失函数主要用于解决在有挑战性的对象检测任务中,易分类的负样本占据主导地位的问题,从而导致模型难以…...
Python编程:解锁超能力,开挂人生!
在当今数字化时代,编程技能变得日益重要,而Python作为一门功能强大且易于学习的编程语言,已经成为许多人的首选。掌握Python,确实可以让你在技术领域如鱼得水,仿佛拥有了超能力一般。 Python的简易语法和丰富的库资源…...
TSINGSEE青犀视频:城市道路积水智能监管,智慧城市的守护者
随着城市化进程的加快,城市道路网络日益复杂,尤其在夏季,由于暴雨频发,道路积水问题成为影响城市交通和市民生活的重要因素之一。传统的道路积水监测方式往往依赖于人工巡逻和简单的监控设备,这些方法存在效率低下、响…...
几款免费又好用的项目管理工具(甘特图)
选择甘特图工具时,我们不仅要考虑工具的基本功能,还要考虑其易用性、团队协作能力、定制性以及与其他软件的集成能力。以下是几款好用的甘特图工具及它们的优点和不足,帮助你来选择适合自己的工具: 1、进度猫 特点: 任…...
落地台灯什么牌子的比较好?五款适合学生使用的大路灯分享
以往只知道养孩子难,但到底有多难,心里确实没有个切实的预期,但随着我家孩子越长越大,我才知道原来想要把孩子的身心健康照顾好到底是有多难!吃、穿、住、行无一不要精心挑选,就是为了能给他营造一个更好的…...
(免费领源码)基于 node.js#vue#mysql的网上游戏商城35112-计算机毕业设计项目选题推荐
摘 要 本论文主要论述了如何使用node.js语言开发一个基于vue的网上游戏商城,本系统将严格按照软件开发流程进行各个阶段的工作,本系统采用的数据库是Mysql,使用node.js的koa技术技术构建的一个管理系统,实现了本系统的全部功能。在…...
做网站时如何给文字做超链接/企业seo整站优化方案
AI 科技评论按:近日,清华大学副教授、Arnetminer 创始人唐杰博士在微博上公开了开放学术组织(Open Academic Society)发布的亿级学术图谱——Open Academic Graph。据唐杰博士介绍,该图谱目前集成了两个最大的公开学术…...
找个人给我做电影网站/百度搜索seo优化技巧
Python程序有两种退出方式: os._exit() 和 sys.exit()。我查了一下这两种方式的区别。os._exit() 会直接将python程序终止,之后的所有代码都不会执行。sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解…...
张家界简单的网站建设/百度服务中心人工客服
要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。 在linux系统中运行jar包主要有以下几种方式。 一、java -jar XXX.jar 这是最基本的jar包执行方式,…...
wordpress 多级菜单/百度网站推广一年多少钱
A. loginB. rc.dC. initD. startup14. 在Linux系统中,硬件设备大部分是安装在______目录下的。 BA. /mntB. /devC. /procD. /swap15. 比较重要的系统配置资料,一般来说大部分位于____目录下,如果是进行升级安装,最好先备份。 BA. …...
网站制作熊猫建站/域名怎么注册
MySQL索引到底是干什么的?这个问题自己一直理解的很模糊,只知道它相当于书的目录,能加快数据检索速度。但是要深入一点去说,它为什么能加快数据检索速度,从哪能看出它加快了检索速度,说到这可能我就有点迷茫…...
网架公司安全员需要什么证书/班级优化大师学生版
一、软件缺陷的信息 1. 软件缺陷的基本内容 缺陷的标题、预置条件、重现步骤、期望结果、实际结果 2. 软件缺陷的状态 新建 --> 打开 --> 修复 --> 关闭 3. 软件缺陷的严重程度 致命、严重、一般、可优化 4. 软件缺陷的优先级 低优先级、中等优先级、高优先级 5.…...