个人网站备案怎么做,中企动力网站方案,平台推广方式方法是什么,网站建设中一般要多久一、前言
在过去的一两年里#xff0c;人工智能领域目睹了检索增强生成技术#xff08;RAG#xff09;的迅猛发展#xff0c;这种技术结合了强大的语言模型与信息检索系统#xff0c;以期在复杂的问题解决和信息处理任务中提供更加精确和深入的答案。正是这种对前沿科技的…一、前言
在过去的一两年里人工智能领域目睹了检索增强生成技术RAG的迅猛发展这种技术结合了强大的语言模型与信息检索系统以期在复杂的问题解决和信息处理任务中提供更加精确和深入的答案。正是这种对前沿科技的不懈追求推动了RAG技术在2023年成为研究的热点。
随着大模型的不断进化它们在各种任务中的表现已经达到了令人瞩目的水平。然而无论模型的规模如何增长它们仍受限于训练数据的质量和范围。RAG技术的出现正是为了解决这一瓶颈。通过将动态检索过程与生成过程结合RAG允许模型在生成响应之前先从一个更广泛、更新的知识源中获取信息。这不仅提升了模型的表现也极大扩展了其应用范围。
诸如 LangChain 和 LlamaIndex 等工具和框架投入了大量资源来研究和实现RAG技术。它们通过提供高效的检索策略和优化的生成方法使得RAG不仅在学术界受到青睐在工业界也逐渐展示出其巨大潜力。尤其是 LlamaIndex 从其官方发布的信息可以了解到2023年其在RAG领域做了不少的研究和探索且取得了一定的成果。
然而随着大模型本身的持续进步一些人开始质疑RAG技术未来的地位。他们认为如果大模型能够内化足够多的信息并提高内部处理复杂性那么外部检索可能就不再必要。表面上看这种观点有其合理之处但它忽视了一个关键因素知识的动态性。世界在不断变化信息也在持续更新。RAG技术通过实时检索最新信息保持了模型的时效性和准确性这是单纯依靠预训练大模型难以实现的。
与传统检索相比当前 RAG 系统最显著的不同之处在于其组件的灵活性和模块化设计。人们正不断以新颖和创造性的方式将大语言模型与检索结合起来从而从数据中挖掘出更深层次的洞见。
未来我们可以预见大模型和RAG技术将会共同进步并可能融合发展。大模型可能会内置更加高效的检索机制而RAG技术也会不断优化使得检索过程更加精准、生成过程更加自然。在某些特定领域大模型可能会逐渐减少对外部检索的依赖但在需要处理最新信息或特定领域知识的任务中RAG仍将是不可或缺的。预计2024年大模型将逐渐会在多模态领域进行深入的研究和突破。 由 Gao 等人撰写的论文《大语言模型的检索增强生成一项调查》Retrieval-Augmented Generation for Large Language Models: A Survey对所有 RAG 研究进行了分类分为三大类1) 预训练模型例如 RETRO2) 微调加上 RAG例如 RA-DIT以及 3) 推理模式中的 RAG例如 DSP。 这项调查应该算是目前看到的最全面的研究概览 - 它覆盖了超过 100 篇论文、博客文章和项目贯穿 RAG 流程的每一个环节 ✅ 检索数据块分割查询重写结果重排嵌入向量微调 ✅ 生成文本压缩内容总结大语言模型微调 ✅ 能够交织检索与生成的能力路由选择HyDE 技术AI 智能体 二、什么是 RAG
大语言模型Large Language ModelsLLMs已经成为我们生活和工作中不可或缺的一部分它们以惊人的多功能性和智能转变了我们与信息的互动方式。
然而尽管拥有令人瞩目的能力这些模型仍存在缺陷。它们可能产生误导性的“幻觉”hallucinations依赖潜在的过时信息处理特定知识时效率不高专业领域的深度不够推理能力也有所欠缺。
在真实世界的应用中数据需要持续更新以反映最新进展并且生成的内容必须是透明并可追溯的这对于管理成本和保护数据隐私至关重要。因此仅依赖这些“黑盒子”模型是不够的我们需要更精细的解决方案来满足这些复杂的需求。
在这种背景下检索增强生成Retrieval-Augmented GenerationRAG作为人工智能时代的一项创新趋势正在受到广泛关注。 RAG 在问答应用中的一个典型例子是比如向 ChatGPT 询问关于 OpenAI CEO SAM Altman 被解雇和重新聘用的情况。 ) RAG 通过在语言模型生成答案之前首先从外部数据库检索相关信息大幅提高了内容的精准度和相关性。
三、RAG 的发展范式
Lewis 在 2020 年提出的 RAG 概念快速演变经历了研究旅程中的几个不同阶段。起初研究旨在通过在预训练阶段注入额外知识来强化语言模型。ChatGPT 的推出极大地促进了对大模型进行深入上下文理解能力的兴趣并加速了 RAG 在推理阶段的发展。随着研究人员对大语言模型LLMs能力的深入挖掘焦点转向了提升它们的可控性和推理技巧以满足日益增长的需求。GPT-4 的问世是一个重要里程碑它采用了一种将 RAG 与微调技术结合的新方法同时继续优化预训练策略。 RAG 研究发展历程图谱 我们从技术演变的视角将 RAG 的发展分为以下几个阶段
3.1、初级 RAG
经典的 RAG 流程即初级 RAG主要包括三个步骤
索引 - 将文档分割成短小的片段并利用编码器建立一个向量索引。检索 - 根据问题与这些片段之间的相似度来寻找相关的文档片段。生成 - 结合检索到的信息生成回答问题的内容。
3.2、高级 RAG
初级 RAG 在信息检索、内容生成和信息增强方面存在挑战。为此高级 RAG 应运而生它在检索前后加入了额外的处理步骤。在检索前可以采用查询重写、路径选择和扩展等方法来缩小问题与文档片段之间的语义差异。检索后对文档进行重新排序以避免在信息处理中出现信息丢失或上下文信息过于冗长的问题。
3.3、模块化 RAG
随着技术的不断进步RAG 超越了传统的检索-生成框架发展出了模块化 RAG。这一结构不仅更加灵活自由还引入了更多定制化的功能模块例如查询搜索引擎和多答案整合。技术上它将信息检索与微调、强化学习等技术相结合。从流程上看RAG 的各个模块被精心设计和调配形成了多种RAG模式。
但模块化 RAG 并非一蹴而就它是在前两个范式基础上逐步演化而来的。高级 RAG 可以看作是模块化 RAG 的一个特殊实例而初级 RAG 则是高级 RAG 的一个简化版本。 三种 RAG 范式的对比分析。 四、怎样进行智能增强处理
想要打造一个出色的 RAG检索增强生成系统关键在于如何巧妙地进行信息增强。在这个过程中我们需要深思熟虑以下三个问题
我们要从海量信息中检索哪些内容我们应该在什么时候进行这样的检索我们如何有效利用检索到的这些内容
针对这些问题我们可以将信息增强分为以下几个阶段
增强的阶段。我们可以在模型的预训练、微调或是实际应用推理时进行信息检索增强不同阶段对计算资源的需求各不相同也影响着外部知识如何与模型参数结合。增强的来源。信息增强可以来源于多种数据形式。非结构化数据可能是文本段落、短语或单词而结构化数据则可能是已经建立好索引的文档、数据三元组或是数据子图。除了这些外部来源我们还可以仅依靠大语言模型LLMs本身的能力从模型自己生成的内容中提取信息。增强的过程。最初我们可能只做一次简单的检索但随着技术的进步我们开始尝试更为复杂的迭代检索、递归检索和自适应检索方法让模型根据情况自行决定何时进行检索。 涵盖不同信息增强方面的技术树。 RAG 系统核心组件详细分类 五、RAG 还是微调
在大语言模型 (LLM) 的优化策略中除了 RAG我们还经常听到提示工程 (Prompt Engineering) 和微调 (Fine-tuning, FT)。这些策略各有千秋根据对外部知识的依赖程度和模型调整的需要它们在不同的应用场景下各显神通。 使用 RAG 就好比给模型配备了一本定制的教科书它能够针对特定的问题进行精准的信息查找。而微调则像是让模型变成一个学习者随着时间逐步吸收和内化知识这使得模型更擅长于复制特定的结构、风格或格式。通过提升模型已有的知识水平、调整其输出结果以及训练它执行复杂的指令微调能够提高模型的表现力和工作效率。然而微调不太擅长融入新知识或快速应对新的使用场景。RAG 和微调并不是对立的它们可以互相补充在一起使用时可能会带来最好的效果。 RAG 和微调的比较图表 六、如何评价 RAG 的效果呢
评估 RAG 的方法多种多样主要包括三个质量评分上下文相关性、答案的准确度以及答案的相关性。此外评估还涉及到四个关键能力抵抗干扰的能力、拒绝回答不当问题的能力、整合信息的能力、以及在面对假设性情况时保持稳定性的能力。这些评估维度结合了传统的量化指标和专门针对 RAG 特点的评估标准虽然这些标准还没有统一规定。
在评估框架方面我们有一些基准测试如 RGB 和 RECALL还有自动化评估工具如 RAGAS、ARES 和 TruLens这些工具帮助我们全面地衡量 RAG 模型的性能。 七、发展前景
随着检索增强生成 (Retrieval-Augmented Generation, RAG) 技术的快速发展我们面临着一系列值得深入探讨的新问题。我们可以从三个方面来展望这些问题
7.1、现有挑战
为了进一步解决 RAG 目前面临的挑战我们考虑如下几个方面
上下文长度当检索到的内容过多超出了模型处理的窗口限制我们该如何应对如果大语言模型 (Large Language Model, LLMs) 的上下文窗口不再有限制我们应该如何优化 RAG鲁棒性面对检索到的不正确内容我们该如何处理我们如何过滤和验证检索到的内容我们能如何提升模型对抗错误信息和噪声的能力微调协同如何同时发挥 RAG 和微调 (Fine-tuning, FT) 的效果它们之间应该如何协调是串行、交替还是端到端组织规模定律RAG 模型是否遵循规模定律在什么情况下RAG 可能会出现逆规模定律的现象大语言模型的角色LLMs 可以用于检索用生成替代搜索或搜索 LLMs 的记忆、生成和评估。我们如何进一步挖掘 LLMs 在 RAG 中的潜力生产部署我们如何减少超大规模语料库的检索延时我们如何确保 LLMs 检索到的内容不被泄露
7.2、多模态扩展
RAG 的技术和概念正在不断进化它们将如何扩展到图像、音频、视频或代码等其他数据形式一方面这可以增强单一模态内的任务性能另一方面它可以通过 RAG 的思想来实现多模态数据的融合。
7.3、RAG 生态系统
RAG 的应用范围已经不再局限于问答系统其影响力正在向更广泛的领域扩散。目前包括推荐系统、信息提取和报告生成在内的多种任务已经开始受益于 RAG 技术的应用。
同时RAG 技术栈也在迅速壮大。市场上不仅有像 Langchain 和 LlamaIndex 这样的知名工具还涌现出许多更具针对性的 RAG 工具。这些工具有的为特定用例量身定制满足更具体的场景需求有的简化了使用流程进一步降低了使用门槛还有的在功能上进行了专业化设计逐步适应生产环境的需求。 八、RAG 论文清单
8.1、增强阶段
8.1.1、预训练
通过检索数万亿 Token (Token) 来改善语言模型
https://arxiv.org/abs/2112.04426
少样本学习借助检索增强型语言模型
https://arxiv.org/pdf/2208.03299.pdf
Toolformer: 语言模型自学使用工具
https://arxiv.org/abs/2302.04761
一切只需复制
https://openreview.net/pdf?idCROlOA9Nd8C
结合检索增强的编解码器进行上下文学习
https://arxiv.org/abs/2308.07922
我们是否应该通过检索来预训练自回归语言模型
https://arxiv.org/abs/2304.06762
展示-搜索-预测: 融合检索与语言模型用于知识密集型自然语言处理
https://arxiv.org/abs/2212.14024
8.1.2、微调
密集通道检索在开放域问答中的应用
https://arxiv.org/abs/2004.04906
UPRISE: 通用提示检索助力零样本评估提升
https://arxiv.org/abs/2303.08518
https://github.com/microsoft/LMOps
问答系统中从阅读器到检索器的知识转移
https://arxiv.org/abs/2012.04584
RA-DIT: 检索增强双指令微调
https://arxiv.org/abs/2310.01352
Self-RAG: 自我反思学习检索、生成及评价
https://arxiv.org/abs/2310.11511
知识图谱增强的语言模型用于生成知识驱动对话
https://arxiv.org/abs/2305.18846
结构感知预训练语言模型提高结构化数据的密集检索性
https://aclanthology.org/2023.findings-acl.734.pdf
https://github.com/OpenMatch/SANTA
Replug: 检索增强的黑盒语言模型
https://arxiv.org/pdf/2301.12652.pdf
适应性增强检索器提升语言模型作为泛用插件的泛化能力
https://arxiv.org/abs/2305.17331
https://github.com/OpenMatch/Augmentation-Adapted-Retriever
8.1.3、推理
通过记忆实现泛化最近邻居语言模型
https://arxiv.org/abs/1911.00172
展示-搜索-预测: 融合检索与语言模型用于知识密集型自然语言处理
https://arxiv.org/abs/2212.14024
https://github.com/stanfordnlp/dspy
关键词增强检索: 结合语音接口的信息检索新框架
https://arxiv.org/abs/2310.04205
在多步骤问题解答中交错使用检索与链式思考推理
https://arxiv.org/pdf/2212.10509.pdf
https://github.com/stonybrooknlp/ircot
直接生成大语言模型 (Large Language Model) 作为出色的上下文生成器
https://arxiv.org/abs/2209.10063
https://github.com/wyu97/GenRead
上下文中使用检索增强的语言模型
https://arxiv.org/abs/2302.00083
8.2、增强来源
8.2.1、非结构化数据
UPRISE: 通用提示检索助力零样本评估提升
https://arxiv.org/abs/2303.08518
https://github.com/microsoft/LMOps
从分类到生成洞察跨语言检索增强互动式上下文学习 (ICL)
https://arxiv.org/abs/2311.06595
简单复制即可
https://openreview.net/pdf?idCROlOA9Nd8C
8.2.2、结构化数据
FABULA: 利用检索增强的叙事技术生成情报报告
https://arxiv.org/abs/2310.13848
知识图谱辅助的语言模型用于生成知识驱动的对话
https://arxiv.org/abs/2305.18846
KnowledGPT: 结合知识库的检索和存储访问来提升大语言模
https://arxiv.org/abs/2308.11761
Graph-ToolFormer: 利用 ChatGPT 增强提示来提升大语言模型的图形推理能力
https://arxiv.org/abs/2304.11116
8.2.3、LLM 生成内容
自我提升带有记忆功能的检索增强文本生成技术
https://arxiv.org/abs/2305.02437
展示—搜索—预测结合检索与语言模型技术面向知识密集型自然语言处理任务
https://arxiv.org/abs/2212.14024
Recitation-augmented 语言模型
https://arxiv.org/pdf/2210.01296.pdf
生成胜于检索大语言模型作为强大的上下文生成器
https://arxiv.org/abs/2209.10063
自我知识引导的检索增强技术用于提升大语言模型
https://arxiv.org/abs/2310.05002
8.3、增强过程
8.3.1、一次性检索
面向知识密集型自然语言处理任务的检索增强生成方法
https://proceedings.neurips.cc/paper/2020/hash/6b493230205f780e1bc26945df7481e5-Abstract.html
UPRISE: 通用提示式检索改善零样本评估技术
https://arxiv.org/abs/2303.08518
带参数化知识引导的大语言模型增强技术
https://arxiv.org/abs/2305.04757
学习为大语言模型检索上下文示例的方法
https://arxiv.org/pdf/2307.07164.pdf
使用检索增强的少样本学习语言模型
https://arxiv.org/pdf/2208.03299.pdf
Replug: 检索增强的黑箱式语言模型
https://arxiv.org/pdf/2301.12652.pdf
背诵增强式语言模型
https://arxiv.org/pdf/2210.01296.pdf
8.3.2、迭代检索
展示—搜索—预测结合检索与语言模型技术面向知识密集型自然语言处理任务
https://arxiv.org/abs/2212.14024
https://github.com/stanfordnlp/dspy
检索与抽样结合混合检索增强技术进行文档级事件参数提取
https://aclanthology.org/2023.acl-long.17/
通过迭代检索与生成的协同作用来增强大语言模型的检索能力
https://arxiv.org/abs/2305.15294
检索-生成协同作用下的大语言模型增强方法
https://arxiv.org/abs/2310.05149
8.3.3、递归式检索
结合思维链条推理与信息检索解答知识密集型多步骤问题
https://arxiv.org/abs/2212.10509
https://github.com/stonybrooknlp/ircot
采用检索增强型大语言模型 (LLM) 解开含糊问题的迷雾
https://arxiv.org/abs/2310.14696
8.3.4、自适应检索
主动式检索增强生成技术
https://arxiv.org/abs/2305.06983
https://github.com/jzbjyb/FLARE
自我RAG自省中学习检索、生成及评判的艺术
https://arxiv.org/abs/2310.11511
结合检索功能的编解码器语言模型上下文学习方法
https://arxiv.org/abs/2308.07922
九、References
[1]. Retrieval-Augmented Generation for Large Language Models: A Survey”Gao, Yunfan, et al. 2023
https://arxiv.org/pdf/2312.10997.pdf