今天,我们宣布推出 RAG 2.0,这是我们为企业级性能开发强大可靠的人工智能的方法。与之前的 RAG 一代不同,该系统是端到端优化的,不再拼凑冻结模型、向量数据库和质量低劣的嵌入。利用 RAG 2.0,我们创建了我们的第一套上下文语言模型(CLMs),在各种行业基准测试中取得了最先进的性能。根据我们的研究和客户反馈,CLMs 在各个方面均大幅优于基于 GPT-4 的强大 RAG 基线和最优秀的开源模型。
使用 RAG 2.0 训练的上下文语言模型,在我们所有的基准测试中表现明显优于现有的 RAG 系统。自然问题(NQ)、热点问题(HPQA)和TriviaQA使用了精确匹配度量标准。由于HaluEvalQA和TruthfulQA需要逻辑回归值,GPT-4无法直接在这些任务上进行评估。普通的RAG是零-shot的;我们称之为RAG的方法包括少量示范、精心分块和手动提示工程。我们花费了大量精力加强基线。
在本博客文章中,我们分享了我们在构建生成式人工智能系统方面的进展,这些系统不仅限于演示,而是真正的生产级系统:
- 我们介绍了RAG和RAG 2.0之间的区别,RAG使用冻结的现成模型,而RAG 2.0则端到端地优化了语言模型和检索器,作为一个单一系统。
- 我们展示了RAG 2.0在从开放领域问答到忠实度等各种基准测试中取得了最先进的性能,显著优于现有的RAG方法。
- 我们强调了RAG 2.0在真实客户工作负载上的更大收益,并讨论了其在生产中的可行性。
我们很高兴与您一起在RAG 2.0上建设 — 今天就加入我们的等待列表吧。
为什么选择 RAG 2.0?
语言模型在知识密集型任务中面临困难,因为它们受限于训练过程中接触到的信息。在2020年,我们的联合创始人兼首席执行官 Douwe Kiela 及其在 Facebook AI Research 的团队引入了检索增强生成(RAG)来缓解这一问题,通过向语言模型添加一个检索器来访问外部数据源(例如维基百科、谷歌、内部公司文件)。
今天的典型 RAG 系统使用冻结的现成模型进行嵌入,使用矢量数据库进行检索,并通过提示或编排框架将其与黑盒语言模型组合在一起。这导致了一种生成式人工智能的“科学怪人”:各个组件在技术上都能工作,但整体远非最佳。这些系统脆弱,缺乏任何机器学习或针对其部署领域的专业知识,需要大量提示,并且容易发生级联错误。因此,RAG 系统很少能达到生产标准。
RAG 2.0 方法对所有组件进行预训练、微调和对齐,作为单一集成系统进行操作,通过反向传播同时优化语言模型和检索器以实现最佳性能:
深度学习的历史反复表明,端到端优化优于手工调整系统。我们将这种方法应用于超越 RAG 的局限,并开发了 RAG 2.0。简而言之:如果您知道将要进行 RAG,那么应该为执行 RAG 训练系统。
RAG 2.0 基准测试
我们在各种方面比较了基于冻结 RAG 系统的上下文语言模型(CLMs):
- 开放域问题回答:我们使用经典的自然问题(NQ)和 TriviaQA 数据集来测试每个模型正确检索相关知识并准确生成答案的能力。我们还在单步检索设置下使用 HotpotQA(HPQA)数据集评估模型。所有数据集都使用精确匹配(EM)指标。
- 忠实度:我们使用 HaluEvalQA 和 TruthfulQA 来衡量每个模型在检索证据和幻觉之间保持联系的能力。
- 新鲜度:我们使用网络搜索索引来衡量每个 RAG 系统通用于快速变化的世界知识的能力,并展示最近 FreshQA 基准测试的准确性。
这些方面对于构建生产级 RAG 系统至关重要。我们展示了 CLMs 在各种强大的冻结 RAG 系统上明显提高了性能,这些系统是使用 GPT-4 或 Mixtral 等最先进的开源模型构建的。
在知识密集型基准测试中的结果。我们的普通 RAG 和标准 RAG 基线都使用冻结的搜索索引、重新排序和现成的语言模型。对于我们的 RAG 基线,我们使用少量示范设置和手动调整的提示,以展示这些变化如何在下游任务性能上比我们的普通零-shot RAG 设置产生巨大改进。我们的 HotpotQA 评估使用与 KILT 基准测试一起发布的拆分和 EM 指标。HaluEvalQA 使用基于对数概率的零-shot 二进制准确度,并且仅在给定基准上下文文档的情况下评估语言模型的忠实度。TruthfulQA 使用 MC1 指标。
我们在谷歌云最新一代的 ML 基础设施上训练和部署了我们的 RAG 2.0 模型。通过使用 A3 实例配备 H100 GPU 和最新的 TCPx 网络堆栈,我们能够大规模地训练 RAG 2.0 模型,以实现最先进的准确性。
将 RAG 2.0 应用于实际环境
当应用于真实世界数据时,CLMs相对于当前方法实现了更大的收益,正如我们在早期客户身上所见到的。
以 FinanceBench 作为说明性的代理(以维护客户数据的保密性),我们可以看到,即使在金融特定的开放式问题回答中,CLMs也优于冻结的 RAG 系统,并在其他专业领域如法律和硬件工程中也看到了类似的收益。
RAG 2.0 和长上下文窗口
在评估真实世界的实现时,一些人可能会想知道 RAG 2.0 与具有长上下文窗口的最新模型相比如何,因此我们也深入研究了这一点。
长上下文模型通常通过“草堆中的针”基准进行评估,在这种基准中,“针”(即事实)被隐藏在一个大的“草堆”(即文本语料库)中,并且通过查询来评估模型,以寻找特定的“针”。为了有意义地比较冻结 RAG 和上下文语言模型,我们改编了最近的传记基准,创建了一个非重复的 2M 令牌的草堆。使用包含 100 多个传记问题的测试集,我们评估 CLM、冻结-RAG 和 GPT-4-Turbo(仅限于 32K 令牌)在 2K 到 2M 令牌的草堆上的表现。
我们所看到的是,RAG 2.0 表现更优,特别是如果你希望进行扩展的话:与长上下文语言模型相比,RAG 2.0 在准确性上更高,并且使用的计算资源明显更少,这种差异在生产环境中变得更加有意义。
与我们一起基于 RAG 2.0 进行构建
我们相信,只有端到端的解决方案才能释放企业中生成式人工智能的全部潜力。我们对已经看到的 RAG 2.0 的结果感到非常兴奋,迫不及待地想要将其带给更多领先的企业。
无论是财富500强还是独角兽企业,他们今天都在与 Contextual 一起基于 RAG 2.0 进行构建;他们正在利用 CLMs 和我们最新的微调和对齐技术(如 GRIT、KTO 和 LENS)在 Contextual 平台上部署可以信赖的生成式人工智能。
本文转载自: 掘金