由Fotor生成的图片
· 方青琴 (ORCID: 0009–0003–5348–4264)
在当今快速发展的人工智能领域,大型语言模型(LLMs)展示了前所未有的潜力。特别是,检索增强生成(RAG)架构因其独特的技术能力而成为AI技术中的热门话题。RAG通过利用庞大的知识库有效减少了生成内容的错误,为LLMs的应用带来了前所未有的可审计性和透明度,这对现代AI技术至关重要。
RAG 架构作为目前最流行且相对成熟的大型语言模型(LLM)应用框架之一,已经吸引了开发者的广泛关注。在当今的 LLM 技术栈中,RAG 利用广泛的本地知识库进行信息检索,有效减少了生成内容中的幻觉现象,并增强了模型的可审计性,从而支持更透明和可靠的开发应用。
简化版RAG架构。在画布上绘制。
然而,现实往往比理论更复杂。尽管 RAG 在理论上具有诸多优势,但在实际应用中却面临诸多挑战。在典型的 RAG 系统中,虽然数据通过现成的嵌入模型进行处理,信息通过向量数据库高效检索,内容通过复杂的黑盒语言模型生成,但这些技术组件在集成时常常表现出所谓的“弗兰肯斯坦怪物效应”,即各个部分可以独立运行,但整体性能远低于预期。这些系统的脆弱性、对大量提示的高度依赖以及缺乏针对特定部署领域的专业调整,使得这些系统难以通过生产测试,很少被实际应用于生产环境中。
RAG 2.0 的表现显著优于现有的 RAG 系统。来源: https://contextual.ai/introducing-rag2/
面对这些挑战,Contextual AI 推出了新一代企业级 AI 系统 — RAG 2.0,通过语言模型和检索器的端到端优化解决了传统 RAG 系统的局限性。RAG 2.0 不仅是一次技术升级,更是对现有问题的全面回应,旨在实现更强大、稳定和高度专业化的 AI 应用。
在传统的RAG系统基础上,RAG 2.0代表了重大的转变。之前的RAG系统依赖于现成的模型和检索器,虽然这些模型和检索器各自有效,但它们只是简单地组合在一起,而没有进行深度整合或优化,这往往导致整体性能不佳。
RAG 2.0 采用了一种全新的策略,将语言模型和检索器整合成一个统一的系统,并进行端到端优化。这意味着从预训练到微调,再到系统对齐,所有步骤都是协调进行的。这种端到端优化不仅显著提升了系统的性能,还增强了模型在处理复杂任务时的稳定性和可靠性。通过这种策略,RAG 2.0 确保了语言模型和检索器的同时优化,实现了系统内的深度协作和精准调整。
RAG 与 RAG 2 的比较。来源: https://contextual.ai/introducing-rag2/
此外,RAG 2.0 使用了 反向传播算法 —— 深度学习中一个基础且强大的技术。这种方法允许系统根据预测结果与实际结果之间的差异,从后向前调整模型参数,逐步优化模型性能。这不仅使模型能够更好地适应特定任务,还增强了其对新任务的泛化能力。在需要深度语言理解和精确信息检索的任务中,RAG 2.0 可以更有效地利用检索到的信息,生成更准确和相关的响应。
有趣的是,Contextual AI 在对 RAG 2.0 进行的测试中,不仅提供了开放领域问题回答、忠实度和新颖性在测试数据集上的基准数据,还分享了真实世界数据集上的结果,显示了同样令人印象深刻的表现。
在知识密集型基准测试中的结果。来源: https://contextual.ai/introducing-rag2/
具体来说,在诸如金融领域的开卷问答任务中,RAG 2.0 的表现优于原来的 RAG 系统。在法律和硬件工程等其他专业领域也观察到了类似的改进。
CLMs (RAG 2.0) 在特定于金融领域的开卷问答中优于冻结的 RAG 系统。来源: https://contextual.ai/introducing-rag2/
同时,对于长文本,基准测试涉及在庞大的文本语料库中隐藏一个小事实,并通过特定查询来评估模型的效果。随着上下文长度的增加,可以观察到RAG 2.0在处理长上下文时的准确性和性能更高,且所需的计算资源比其他模型更少。这种差异在实际生产环境中变得尤为显著。
长上下文模型通常使用“Needle in a Haystack”基准进行评估,在该基准中,“针”(即一个事实)隐藏在一个大的“草垛”(即一段文本)中,模型通过查询来寻找特定的“针”。RAG 2.0 表现更佳。来源:https://contextual.ai/introducing-rag2/
尽管端到端的RAG系统在处理诸如长对话之类的复杂任务方面展现出了潜力,但仍有许多未被充分探索的领域。深入研究这些领域对于优化RAG 2.0的性能和实用性至关重要。虽然在实际应用中的成功案例令人鼓舞,但在广泛和有效地部署系统之前,仍需要进行大量的实验和改进。
尽管contextual.ai的报告没有提供详细数据,但可以想象,随着RAG通过预训练、微调和对齐将所有组件整合为一个统一的系统,整体结构的统一必然会增加模型的复杂性和训练成本,并可能降低其泛化能力。这是在实际应用中实施模型时需要考虑的一个因素。
随着成本的急剧增加,当前大型语言模型(LLMs)的发展趋势却是向轻量级和低成本模型转变。虽然RAG 2.0已经成为一种趋势,但对大量数据和复杂模型的依赖可能会让许多用户和开发者望而却步。这些大规模模型的增加是否有利还是有害,仍有待考虑。
另一方面,RAG 2.0 的集成和复杂性不仅可能影响成本,还可能影响模型的响应时间。在需要实时交互的应用中,统一且复杂的系统所带来的计算需求增加可能导致明显的延迟。在需要及时处理数据以进行决策或用户互动的动态环境中,这些延迟可能会带来问题。随着系统扩展以处理更多请求或更大规模的数据集,保持准确性和速度之间的平衡变得越来越具有挑战性。RAG 2.0 的这一方面可能需要进一步的优化策略,以确保功能增强不会影响实际应用所需的响应速度。
随着我们继续探索 RAG 2.0 的能力和应用,这项技术既带来了巨大的可能性,也带来了显著的挑战。它如何被集成到日常技术解决方案中,以及其使用将带来哪些新的创新,仍有待观察。RAG 2.0 的持续开发无疑将影响人工智能的未来方向,促使学术界和业界的专业人士重新思考我们如何构建、集成和部署智能系统。这些变化将如何塑造下一代人工智能应用?只有时间才能给出答案。