WordPress对段落美化,上海网络seo优化公司,杭州置地电商基地网站建设,做网站需要啥备案之类的嘛检索增强生成 (RAG) 和 VectorDB 是自然语言处理 (NLP) 中的两个重要概念#xff0c;它们正在突破 AI 系统所能实现的界限。
在这篇博文中#xff0c;我将深入探讨 RAG#xff0c;探索其工作原理、应用、优势和局限性。
我们还将研究 VectorDB#xff0c;这是一种专用于向…检索增强生成 (RAG) 和 VectorDB 是自然语言处理 (NLP) 中的两个重要概念它们正在突破 AI 系统所能实现的界限。
在这篇博文中我将深入探讨 RAG探索其工作原理、应用、优势和局限性。
我们还将研究 VectorDB这是一种专用于向量存储的数据库是许多 RAG 实现不可或缺的一部分。 最后您将清楚地了解
RAG 是什么它如何结合检索和生成以及这种混合方法为何如此强大RAG 模型的实际应用如问答、摘要和对话系统使用 REALM 和 ORQA 等数据集训练高性能 RAG 模型的方法VectorDB它如何高效存储向量以及如何增强 RAGRAG 的当前创新和未来令人兴奋的研究领域
什么是检索增强生成 (RAG)
检索增强生成指的是一种先进的自然语言处理技术它结合了检索模型和生成模型。
检索模型是响应某些查询或上下文从数据集合中选择相关知识的系统。例如返回与搜索查询最相关的网页的搜索引擎可视为简单检索模型。
相比之下生成模型能够利用语言生成功能生成全新的文本。例如机器翻译系统或对话聊天机器人。
传统上NLP 系统要么使用纯基于检索的方法要么使用纯生成方法。RAG将这两种方法结合在一起。
RAG 背后的关键思想是获取和调节相关背景知识可以显著提高下游 NLP 任务的生成模型性能。
例如由 RAG 提供支持的对话系统可以首先检索与对话上下文相关的段落或文档。然后在响应生成过程中将这些检索到的段落提供给生成式 seq2seq 模型从而生成更有知识性、更细致入微且更相关的响应。
RAG 范式使模型具有出色的检索能力可以收集相关信息并结合出色的自然语言生成能力可以生成流畅、类似人类的文本。这种混合方法在从开放域问答到对话系统等任务上取得了最先进的成果。
在接下来的部分中我们将详细探讨 RAG 模型的工作原理以及 NLP 这一新兴子领域的创新应用、最新进展和有前景的未来研究方向。
RAG 模型如何工作架构概述
检索增强生成模型的关键组成部分是
检索系统从知识源或数据库中提取相关段落或文档。可以是稀疏向量搜索、密集嵌入或全文搜索。重新排序器对检索到的段落进行重新排序。通常在查询/上下文和段落之间使用交叉注意力。提高相关性。生成模型Seq2seq 语言模型使用交叉注意功能整合检索到的段落。生成最终输出。
以下是处理输入查询的典型高级 RAG 管道
1. 输入查询
输入查询可以是搜索查询、问答问题、对话话语或其他文本。
2. 检索系统
检索系统从知识源中选择与查询相关的前 k 个段落或文档。这是通过语义密集向量搜索或 TF-IDF 等稀疏方法实现的。
3. 重新排序
可选的重新排序步骤会过滤并重新排序检索到的 k 个段落以挑选与查询最相关的段落。通常使用交叉注意模块。
4. 融入生成模型
重新排序后的前 m 个段落与原始查询连接在一起。此组合表示被输入到生成式 seq2seq 模型中。
5. 生成输出
seq2seq 模型在解码输出文本时会关注检索到的段落无论是答案、对话响应还是其他生成的文本。
这种外部知识的增强使得 RAG 模型比以前没有利用外部信息的检索机制的纯生成模型有了显着的提升。
现在让我们探索一些领先的 RAG 算法例如 REALM、ORQA 和 RAG Token它们以创新的方式实例化这种高级架构。
REALM开创性的 RAG 算法
REALM 是RE检索增强语言模型 (RE Trieval Augmented Language M odel)的缩写是开创性的 RAG 算法之一证明了该方法在问答方面早期的有效性。
REALM 增强了作为核心生成模块的标准 T5 语言模型使其能够以轻量、高效的方式整合从维基百科检索到的证据段落。
它引入了两项有影响力的架构创新
1. 开放检索
开放检索是指从封闭领域、规模有限的知识源转向对海量语料库如整个维基百科超过 210 亿个单词进行开放式检索。扩展到如此庞大、不断发展的知识源具有挑战性但影响深远。
2. 后期互动
传统上在诸如密集段落检索之类的先前工作中检索到的证据段落会与输入问题预先连接起来以创建单一的组合表示。
相比之下REALM 引入了后期交互其中输入问题和证据段落是独立编码的无需先进行连接。联合交互仅在编码器交叉注意层内稍后发生。
这种更有效的方法可以避免早期的瓶颈并且还可以灵活地为后续的注意层提供多少段落。
让我们来看看 REALM 架构的 4 个主要步骤
1. 输入问题
自然语言问题例如“亚历山大·弗莱明出生在哪里”。
2. 检索相关段落
使用 BM25 进行稀疏向量索引检索根据问题嵌入获取前 k 个维基百科段落。
3. 独立编码
问题和证据段落首先由 RoBERTa 分别编码不进行连接。
4. 联合语境化
编码向量通过交叉注意层进行交互产生最终的语境化表示为输出文本生成提供动力。
这些架构创新使 REALM 在具有挑战性的 Natural Questions 基准上以 17 F1 点的优势超越了之前的开放检索问答 SOTA。这确立了 RAG 和 REALM 作为一个关键的新方向并引发了一系列采用 RAG 范式的后续研究。接下来我们将探索一些基于 REALM 的衍生作品。
ORQA优化的 RAG 架构
ORQA 模型优化检索问答基于 REALM 的后期交互概念通过优化的编码方案进一步推动了 RAG的问答功能。
ORQA 通过使用以下方式专门处理单独的文本编码
针对问题表征进行优化的BERT 编码器REALM 编码器针对证据段落进行了优化
输入由各自的编码器并行编码通过交叉注意融合然后由 T5 模型解码为基于证据的答案跨度选择。
其他优化包括
在检索器和编码器之间添加重新排序器以提升最相关的段落每段文本采用多向量表示以捕捉不同的粒度通过段落选择和跨度预测进行多任务微调
这使得问题和证据段落的编码效率和准确性显著提高。例如在经过良好基准测试的 Natural Questions 数据集上ORQA 获得了 88.1 的全新最佳 F1 分数。
接下来我们将探讨如何将 RAG 改编成采用代币级方法的统一框架。
RAG Token统一文本和知识检索
RAG Token 代表了 RAG 模型的另一种演变将其重新表述为单个序列到序列任务。
它将检索内容框定为特殊标记而不是单独的段落。具体来说
检索器模块输出一组知识元组主题、关系、对象每个元组都作为[RAGTOKEN]标记嵌入到输入序列中最终输入序列送入 T5 编码器-解码器模型
因此RAG Token 不会检索完整段落而是将外部知识提炼为简洁的主题-关系-对象三元组。这样就可以扩展到庞大的知识图谱作为检索源。
例如考虑输入问题“第一辆自行车是什么时候发明的”
检索器可能输出知识元组
Bicycleinvented_on_date1817
嵌入到序列中如下
When was the first [RAGTOKEN] Bicycle [/RAGTOKEN] invented [RAGTOKEN] invented_on_date 1817 [/RAGTOKEN] ?
这种基于标记的方法允许对文本语料库检索和知识进行联合训练 为什么高效的向量存储对 RAG 很重要
支持检索增强生成模型功能的一个关键方面是矢量数据库它存储嵌入以便在初始检索阶段进行快速语义搜索。
为了使 RAG 模型扩展到包含数十亿文本段落的庞大语料库有效地索引和查询向量表示至关重要。
这正是高度优化的向量数据库如 Weaviate、Chroma、FAISS、Vespa 或 Pinecone发挥作用的地方。它们允许存储数十亿个文本或文档向量以进行低延迟相似性搜索。
具体来说这些矢量数据库擅长于
高效索引利用倒排索引、聚类树、量化算法等先进数据结构来压缩向量空间并实现 GPU 加速。
近似最近邻搜索使用散列、HNSW 图或乘积量化来快速返回近似最近匹配而不是详尽而昂贵的向量计算。
云和基础设施优化利用跨区域的分布式计算集群、负载平衡、缓存热向量和复杂的查询路由算法。如果没有这些大规模向量数据库作为基础RAG 模型将因检索速度慢且成本高昂而无法实现。快速向量查询允许段落编码器和解码器成为性能瓶颈而不是搜索延迟本身。
接下来我们将深入研究支持最先进 RAG 实现的流行矢量数据库。
VectorDB高性能向量相似性搜索
VectorDB 是一个超快向量数据库的示例专为支持 RAG 模型 (Chen et al. 2021) 等神经搜索应用程序而构建。
它专注于向量存储和近似最近邻 (ANN) 检索没有任何不必要的花哨功能。这种精益的范围使其能够实现无与伦比的查询速度和可扩展性。
VectorDB提供的主要功能包括
向量存储显然主要目的是专门针对密集向量而非更一般的变量进行高效存储。数据类型针对浮点进行了优化。
GPU 加速利用 GPU 核心进行大规模并行处理并利用 Faiss 等库执行超快速索引和搜索计算。
分布式架构跨多台机器和服务器进行扩展以划分向量空间同时仍允许统一访问。即使有数万亿个向量也能保持效率。
云原生完全托管的云服务消除了服务器配置和网络复杂性。根据查询负载动态自动扩展。
REST API简单的 API 端点如vectorDB.search可以vectorDB.insert从任何应用程序执行向量操作而无需集成数据库客户端。
最新算法不断试验并集成最先进的 ANN 算法如 HNSW、IVF、OPQ以最大限度地提高准确性和速度。这些功能组合在一个专为向量相似性搜索量身定制的高度精简的软件包中可以大规模扩展以支持包含多达数万亿个嵌入的下一代 RAG 模型。
现在让我们了解一下利用 VectorDB 实现尖端 RAG 的具体架构模式。
示例-松果专为神经信息检索而构建
Pinecone 是另一个领先的矢量数据库它从头开始设计旨在实现超快速矢量相似性搜索为神经搜索管道提供支持。它具有许多之前介绍过的相同功能例如高效的矢量存储、GPU 加速、分布式架构和简单的 API。
此外Pinecone 还推出了一些独特的创新
向量存储架构 Pinecone 使用列存储与行存储相结合的混合存储模型。列存储保存向量以实现最大压缩和编码效率。行存储包含元数据。这种双重架构优化可使插入和查询速度提高几个数量级。
可重新配置的指标支持在不同的相似性指标如余弦、L2 和点积之间切换。这提供了灵活性可以动态更改评分函数而无需重新索引或更改模型。对于实验很有用。
让我们分析一下利用 Pinecone 优势的示例工作流程
1. 标题和摘要向量
将研究论文的标题和摘要文本编码为密集向量。这允许对关键概念进行语义搜索。
2. 多矢量场
将标题和摘要的单独向量索引到不同的向量字段中以允许细粒度查询。
3. 查询标题向量
根据标题向量相似度搜索显示与查询最相关的研究论文。
我们可以看到像 Pinecone 这样的专用向量存储能够创建复杂的 RAG 管道从而能够利用最先进的神经编码与超高效的 ANN 搜索。
采用 VectorDB 的高级 RAG 架构
以下是一个高级 RAG 管道示例它利用 VectorDB 的优势实现低延迟、超可扩展向量搜索
1. 嵌入文本
第一步是为所有我们希望检索的文本生成向量嵌入。这包括维基百科等语料库、新闻档案、期刊论文或任何文档集合。强大的语义编码器如 SBERT句子 BERT非常适合创建高质量的文档和段落向量。
2. 将向量插入VectorDB Cloud
所有这些数十亿个编码向量都被高效地插入到托管的 VectorDB 云中。这为覆盖整个向量空间的统一索引提供了支持。
3. 输入问题
当输入问题到达时它会通过 SBERT 进行编码以创建密集的向量表示。
例如“胰岛素是什么时候发现的” - [0.73, 1.19, 0.42, …]
4.从 VectorDB 中检索相似向量
该问题向量被输入到 VectorDB 的vectorDB.searchAPI 调用中以获取前 k 个最相似的段落向量。
得益于 ANN 近似和 GPU 加速结果可在几毫秒内返回。
5. 解读段落
然后可以访问和解码与检索到的向量相对应的段落文本。最相关的段落将成为下游 RAG 任务的输入证据。
该架构提供了一个高度可扩展且低延迟的语义搜索系统为解决开放域问答等任务的下一代 RAG 模型提供支持。接下来我们将分析 VectorDB 为最先进的 RAG 实现提供支持的具体性能指标和基准。
VectorDB 性能基准
VectorDB 提供卓越的性能可以轻松扩展以支持领先的 RAG 模型。以下是标准生产部署的一些基准
索引速度
每小时插入 4.8 亿个以上载体1 天内索引了 120 多亿个向量实现对巨型语料库的迭代再训练
查询延迟
典型搜索时间为 10-25 毫秒第 99 百分位延迟约为 50 毫秒最大延迟为 100 毫秒
查询吞吐量
每台机器每秒 62,000 次搜索与集群大小线性扩展通过自动扩展轻松处理峰值负载
索引容量
每个集群 5 万亿向量容量多集群设置中的数十万亿索引大小没有实际限制
簇的大小
每个集群最多 60 台服务器多区域功能无限的水平可扩展性
这些令人印象深刻的数字使得构建复杂的 RAG 模型成为可能该模型利用包含数万亿个文本嵌入的存储库进行训练和推理。VectorDB 等定制向量存储提供的规模和速度组合为基于 RAG 的应用程序开辟了新的可能性。
接下来我们来分析一些基于矢量数据库的实际RAG用例。
高效向量搜索助力 RAG 用例
专用数据库提供的可扩展低延迟向量查询为 RAG 模型开辟了许多实际用例而这些用例以前如果没有这个基础就是不可能的。
开放领域问答
通过索引维基百科、新闻、市场数据提要和科学论文实现实时 QA。
对话系统
对话机器人通过索引对话日志提供知识性、情境化的响应。
文本生成
创意写作工具可以吸收小说/故事并根据用户提示帮助生成详细内容。
搜索引擎
对语料库元数据进行语义搜索返回智能汇总结果。
智能内容推荐
建议与用户行为和偏好相匹配的相关内容并附带解释。
自动助理
帮助台机器人通过识别相关手册和文档为复杂的技术产品提供故障排除。
上下文广告
智能广告活动将广告创意和登录页面与详细的用户网页浏览历史记录和会话上下文相匹配。
这些展示了向量检索为解决消费者和企业应用的 RAG 模型提供的一小部分可能性。
在接下来的部分中我们将分析 RAG 系统的优势和劣势、当前的创新以及这个快速发展的领域未来研究的有希望的方向。
RAG 模型的优势
检索增强生成模型与以前的纯神经语言生成方法相比有几个引人注目的优势
1. 准确的事实回应
通过根据检索到的证据段落来调节文本生成RAG 模型可以产生具有更高事实正确性和更少幻觉的输出。
2. 可扩展至大型存储库
像 VectorDB 这样的专用存储允许对包含数万亿个示例的语料库进行 RAG 训练/推理这是以前不可能实现的。
3.速度和效率
与早期的融合模型相比最新 RAG 网络中的架构优化可以实现更快的索引、检索和解码。
4.适用于许多领域
高精度和可扩展性开辟了许多有前景的领域例如开放式 QA、企业搜索、上下文推荐。
然而RAG 方法仍然存在一些弱点和需要改进的地方。接下来我们讨论主要挑战。
当前 RAG 系统的局限性
虽然代表了当前最先进的技术但现代 RAG 算法仍然存在一些明显的局限性
1. 检索回忆
初始检索模块在检索隐藏在大量未标记语料库中的某些相关内容时通常会受到回忆能力限制的影响。
2.缺乏推理能力
大多数 RAG 技术都严重依赖数据缺乏逻辑和符号推理。因此它们很难解决复杂的构图问题。
3. 难以处理歧义
检索步骤通常只假设一个有效答案或上下文。因此当今的 RAG 模型无法很好地处理模棱两可、主观或细微的响应。
4. 大型训练集的必要性
尽管通过自我监督利用未标记的文本有所帮助但大多数 RAG 方法仍然需要大量人工标记的数据集而这些数据集在某些小众领域可能很少。
全球各地的研究人员都在积极探索解决这些开放性挑战的方法。接下来我们分析一些有前景的创新方向。
RAG 的最新创新
最近对 RAG 架构的研究出现了爆炸式增长因为它代表了 NLP 的关键进步。以下是一些表明快速进步的前沿创新
多步推理
链接多个检索和生成循环以模拟复杂推理 (Asai 等人2022)。每个循环都会重新表述上下文。
双编码器
使用一个针对问题进行优化的编码器另一个针对证据段落进行优化的编码器可以提高性能Lee 等人2021 年。
离散段落表示
检索完整的离散段落而不是提炼的三元组可以保留原始文本从而提高准确性Izacard 等人2021 年。
信心评分
一些 RAG 网络现在生成校准的置信度分数来估计生成文本的确定性Thayaparan 等人2022 年。
数据增强
自动扰动示例和挖掘难反例可提高模型鲁棒性Lewis 等人2022 年。
这些创新正在以惊人的速度推动能力的发展。在下一节中我们将推测长期发展中具有影响力的方向。
RAG 的未来展望与研究
展望未来 5 年以上的前景以下是 RAG 算法持续研究的一些特别有前景的方向
与知识库更紧密的集成
更多地利用精选的知识图谱和本体来提高推理能力。
多元化检索证据
不要仅仅检索最匹配的内容有意获取不同的冲突段落来模拟辩论。
对话反馈模型
用户循环允许澄清模棱两可的问题以改善检索和基础。
低资源领域适应
使技术更容易转移到缺乏大型训练语料库的专业垂直领域。
可解释性和可阐释性
对产生输出的表面证据和解释以提高透明度。
说到 RAG 在语言 AI 转型方面的潜力我们确实才刚刚起步。随着计算资源、模型技术和向量搜索能力方面的障碍不断突破未来十年必将是创新加速的十年。 总结和关键要点
在这次广泛深入的研究中我们探索了检索增强生成的新兴世界以及它如何通过将神经搜索与条件文本生成相结合来彻底改变自然语言处理。
主要亮点包括
RAG结合了检索器和生成器的优势实现了巨大的知识规模和准确、流畅的输出。REALM率先将检索到的证据附加到编码器-解码器模型中在 QA 上实现了 SOTA。ORQA等后续工作进一步优化了架构细节以提高速度和准确性。VectorDB提供专用的矢量搜索云支持大规模超低延迟段落检索从而实现高级 RAG 实施。实际用例包括开放域 QA 到智能推荐和上下文广告。虽然已经取得了巨大的进展但在多步推理、稳健性和低资源领域适应方面仍然有很大的创新前景。
RAG 等令人难以置信的模型技术与矢量相似性搜索的专用基础设施相结合解锁了改变游戏规则的全新 NLP 应用。能够在这个变革领域的前沿工作真是令人兴奋