本文来自微信公众号“数据猿”,【作者】放飞。
从自然语言处理到计算机视觉等,生成式AI(GenAI)超越了传统的单一数据源模型,以整合各种模式的多种数据源,使自然语言大模型(LLM)更接近于模仿人类的能力。随着企业从谨慎探索转向快速整合,GenAI在企业关键业务职能中的采用率将稳步上升,为企业带来核心竞争力提升等优势。
一方面,很多用户都想将GPT这样的LLM引入到企业,建立企业自己的专属大模型。而另一方面,即使像GPT-4这样功能强大的LLM,在处理特定领域或实时信息方面依然面临众多挑战。
单独使用LLM会面临两个问题:答案可能过时,响应可能出现错误。根据Vectara的幻觉排行榜,即使是表现最好的LLM系列的幻觉率也在1.5%到1.9%之间。
为了克服这些潜在问题,企业可以使用数据流将新信息导入其数据集,并部署检索增强生成(RAG),使大模型的响应更加准确,且与上下文相关。
RAG通过与大模型微调(Fine Tune)技术、知识图谱等各种技术协同作用,正在彻底改变数据的处理、解释和使用方式,从而实现更准确、上下文感知和个性化的AI应用。这种超强组合,正在被OpenAI、微软、AWS、阿里云等应采用,领跑LLM的发展与应用。
图片来源:pixabay.com
企业为什么选择“RAG”?
训练数据的质量、数量和多样性等对生成式AI模型的性能影响巨大,而模型架构、训练技术和所解决问题的复杂性等因素也发挥着重要作用。
当前幻觉问题、信息不准确、计算成本上升、资源有限以及对实时动态信息的需求等,都是企业级LLM解决方案需要解决的核心问题。为此,RAG应运而生。
那么什么是RAG呢?OpenAI ChatGPT、Google Gemini等AI应用的背后均由LLM驱动。LLM可以理解、总结、生成和预测新内容。但是,这些大模型生成的内容仍然可能不一致,并在一些知识密集型任务中败北,尤其是那些超出其初始训练数据的任务,或者需要最新信息的任务。这种情况下,LLM可能会返回虚假信息,也称为AI幻觉。
LLM通常是离线训练的,这使得模型不理解后来的任何数据。另外当LLM的训练数据不足时,也可能影响响应的质量。
为解决这些问题,人们提出了RAG技术。RAG是一种人工智能框架和自然语言处理技术,可从外部知识来源检索数据,用于大型语言模型(LLM),通过在响应中添加相关的检索数据来增强用户的提示,有助于减少明显的知识差距和AI幻觉,在需要尽可能多的最新和准确信息的领域(如医疗保健)应用中显得更为重要。
同时RAG是一种经济高效且可扩展的方法,可以提高LLM的质量和实用性,而无需使用新数据重新训练模型,适用于任何需要外部知识的领域或任务,如医疗诊断、法律建议或产品评论。用户可以自定义RAG以使用不同的知识源,如数据或专有信息,以满足特定的需求和偏好。
另外,RAG可以提高LLM的性能。RAG在请求到达公共LLM之前拦截请求,并使用专有组织数据来增强用户的请求。它将修改后的提示转发给LLM以获得更准确和相关的响应。
RAG提示拦截流程通过简单的四步方法简化了获得高度相关答案的过程:
首先用户提交请求。用户提出问题或寻求特定信息。此初始步骤是建立查询的基础和用户的意图。
其次,请求被拦截并得到扩充。RAG拦截并添加到原始请求中。该增强功能改进了请求,确保它能够从LLM中获得最相关和最全面的答案。
另外,向LLM提交增强查询。RAG将请求转发给LLM,并提供更多详细信息。上下文的注入确保了LLM的响应是准确的,并且经过精心定制,以解决请求的细微差别和特殊性。
最后返回Tailored响应。通过上述步骤丰富了答案,是与初始查询一致的更准确、更相关的响应。这种个性化方法确保了答案的准确性,尤其适用于特定的个人化需求。
应用RAG有哪些好处?目前来看,RAG优势包括:
在内容生成上,RAG提供最新信息,从相关、可靠和最新的来源提取信息;综合信息,通过组合来自检索和生成模型的相关信息来合成数据以产生响应;减少AI幻觉,由于LLM基于外部数据,因此模型编造或返回错误信息的机会较小。
在应用上,RAG增加了用户信任,用户可以访问模型的来源,提高了内容的透明度和信任度,并允许用户验证其准确性;可用于多个任务,除了聊天机器人之外,RAG还可以针对各种特定用例进行微调,如文本摘要和对话系统。
在成本上,RAG降低计算和财务成本,企业不必花费过多时间和资源来不断使用新数据训练模型;同时变得更容易训练,由于RAG使用检索到的知识源,因此减少了在大量训练数据上训练LLM的需求。
大公司都用RAG干什么?
企业选择RAG最重要的原因是减少幻觉,提供更准确、相关和值得信赖的输出,同时保持对信息源的控制,并能够根据其特定需求和领域定制。通过RAG等技术可以减少LLM幻觉的能力,在不同的企业中都得到了验证。
OpenAI在不同的领域,全面应用RAG技术。早期,OpenAI将大型语言模型(LLM)与图形数据库Neo4j等相结合,从图形数据库中获取相关信息,用于生成响应,以执行RAG。
同时,OpenAI通过聊天记录搜索功能全面投入RAG。10月30日,OpenAI宣布推出一项新功能,允许用户在ChatGPT网络上搜索其聊天记录。用户能够快速轻松地访问历史对话记录,从而参考过去的讨论或从离开的地方继续操作。
此功能由OpenAI收购的Rockset公司开发,旨在利用Rockset的高级分析来增强OpenAI的检索基础设施,Rockset正在与OpenAI合作,以应对AI应用大规模面临的复杂数据库挑战。
Rockset通过其RAG功能增强了LLM的功能,对于希望利用专有数据降低幻觉风险的OpenAI企业客户来说非常有价值。
目前Rockset采用融合索引方法,将行、列和搜索索引相结合,支持跨多种数据类型和格式进行快速搜索。目前,还没有其他数据库公司提供此特定服务。
另外Rockset融合了关键词搜索、向量搜索等功能,以提供精确的关键词匹配以及语义丰富的搜索结果,从而获得更相关和上下文感知的结果。
微软CEO Satya Nadella在Microsoft Build 2024说,RAG是任何AI驱动的应用的核心,尤其是在当今的企业中。而微软Azure AI搜索使运行任何规模的RAG成为可能,使用最先进的检索系统提供高度准确的响应。ChatGPT、数据助手以后都由Azure AI搜索提供支持。
Azure AI搜索功能已经作为一种服务向用户提供。作为RAG体系结构中经过验证的信息检索解决方案,Azure AI搜索提供了强大的索引和查询功能,利用Azure云的基础设施和安全性,确保可靠和安全的性能。
在Microsoft Build 2024上,微软同时宣布将RAG整合到Copilot中,从而可以更轻松地将设备上数据用于企业应用,提供了在平台内构建向量存储的正确工具,并支持语义搜索。
今年7月,Microsoft开源了GraphRAG,一种基于图形的RAG方法,支持对私有或以前未见过的数据集进行问答。GraphRAG现已在GitHub上提供。
与传统的RAG方法相比,GraphRAG提供了结构化的信息检索和全面的响应生成。GraphRAG代码存储库附带一个解决方案加速器,提供托管在Azure上的易于使用的API体验,无需编码即可部署。
另外,GraphRAG采用大型语言模型(LLM)从任何文本文档集合中自动提取知识图谱。这种基于图的数据索引可以通过以分层方式检测密集连接节点的“社区”,在用户查询之前报告数据的语义结构。
阿里云于今年推出了企业级大模型检索增强生成(RAG)解决方案。其主要应用场景包括企业知识库、智能客服、电商导购、课程助手、搜索场景升级等。
目前来看,阿里云RAG的优势包括知识准确且更新及时,答案可追溯,成本相对较低,开放性和自由度高,部署方便快捷等。例如通过阿里云百炼平台等,企业只需少量代码即可搭建RAG应用,提供一站式、全托管的大模型定制与应用服务。
另外,蚂蚁对外开源的Graph RAG框架,其运作核心是紧密结合信息检索与大模型能力。从索引环节看,通过大语言模型服务,高效提取文档三元组并存入图数据库;检索过程中,利用大语言模型服务抽取并泛化查询关键词,随后在图数据库里遍历子图,精准定位局部子图;生成阶段,将局部子图转化为文本格式,和问题一起让大模型处理,输出高质量回答。
和传统RAG框架比起来,蚂蚁的Graph RAG融入知识图谱技术,能敏锐捕捉文本关联,过滤冗余信息,构建更完整的知识网络,为开发者提供了极具价值的开源工具。
另外,腾讯元宝、月之暗面的Kimi、智谱清言、文心一言等LLM都采用了各自的RAG技术,其工作流程基本涵盖三个方面:检索,从预先建立的知识库中检索与问题相关的信息;增强,将检索到的信息用作生成模型的上下文输入,以增强模型对特定问题的理解和回答能力;生成,结合LLM生成符合用户需求的回答。
目前,LLM在应用RAG时正在解决两大挑战:一是延迟,检索阶段可能会增加额外的延迟,尤其是在需要实时响应的应用中;二是保持数据一致性,需要确保检索到的数据与生成任务的上下文保持一致。
长上下文并不会杀死RAG
毫不夸张地说,2024年大模型的上下文窗口不断突破上限,成为大模型吸引用户的一个重要指标。如Anthropic Claude 3的上下文窗口为200K(特定用例高达100万个令牌),Google Gemini 1.5的上下文长度窗口为1M,开源的Meta Llama 3后来居上,其Gradient的用例将LLama-3 8B的上下文长度从8k扩展到超过1048K。
从长上下文长度到无限上下文长度的竞赛,Microsoft、Google、Meta、OpenAI,以及国内的阿里云、腾讯云等所有大公司都在朝着这一方向迈进,从而引发了“长背景与RAG”的争论。
其实RAG有其自身的一系列局限性,如虽然它在模型需要满足特定信息需求的知识密集型情况下最有用,但在推理密集型任务中却不是那么有效了。模型可能会因不相关的内容而分心,尤其是在答案不明确的冗长文档时。有时,大模型选择依赖其内置内存,而忽略检索到的文档中的信息。
由于RAG大规模运行的硬件要求比较高,使用RAG的成本就可能提高,因为检索到的文档必须临时存储在内存中,以便模型访问。另一项支出是计算模型在生成响应之前必须处理增加的上下文。
如果长上下文LLM真的可以取代RAG,那么还应该能够从上下文中检索特定事实,对其进行推理,并根据它返回答案。但是即使是长篇大论的LLM也不能避免顽固幻觉的出现,同时随着长语境中文字的数量的增加,LLM的性能也会下降。
此外,还需要考虑延迟,因为每次用户提交查询时,都必须向LLM提供完整的上下文或完整信息才能获得结果,此要求可能会带来大量开销,从而造成延迟。
因此,长上下文并不会杀死RAG,只会增强它。将RAG与长上下文LLM相结合,可以创建一个强大的系统,能够有效且高效地大规模检索和分析数据。
另外,RAG不再局限于向量数据库匹配,未来还将引入许多高级RAG技术,可显著改善检索。例如,将知识图谱(KG)集成到RAG中,通过利用来自KG的结构化和互连数据,RAG系统的推理能力可以大大增强。
图片来源:pixabay.com
超越RAG
LLM和RAG的组合来在执行传统上需要人类智能的任务,许多行业都有用例,包括教育、客户服务和创意领域等。将RAG与LLM结合使用,使数据分析和访问民主化,可以促进更明智的决策,增强创造力并提高解决各个领域问题的效率。
在生产环境中部署RAG模型,需要仔细规划并遵守最佳实践,以确保模型可靠且安全地执行,特别需要注意:
首先,确保数据安全和隐私。企业必须实施强大的安全措施,以保护训练和部署RAG模型时使用的敏感数据,包括使用安全的API、加密和访问控制来保护专有信息。
其次,持续监控和评估。在生产中持续监控和评估RAG模型,包括定期评估模型的性能、准确性和相关性,以确保继续满足企业要求。
最后,微调和域适应。为了保持RAG模型的准确性和相关性,企业应不断微调模型,并使其适应其特定领域,包括根据新数据重新训练模型,并调整检索系统以反映知识库中的更改。
未来,随着技术的发展,RAG-LLM组合可以通过多种方式帮助使数据更易于访问、个性化、相关和可操作,如:
增强的个性化和相关性。未来的RAG系统可能会更擅长通过使用历史数据、个人偏好和上下文来为个人定制响应。
跨领域融合知识。RAG技术在各个领域都有应用,包括医疗保健、教育、金融和客户服务。将专有组织数据与LLM庞大知识库集成,可以提供深入而广泛的见解和答案。例如,RAG可以通过将医学文献与医疗保健领域的个体患者记录相结合,实现更加个性化的患者护理。
实时信息更新。随着组织不断更新其数据库,RAG系统可以快速整合最新信息。
弥合知识鸿沟。RAG有可能通过向非专家提供专业、难以访问的信息来实现知识普及化,可以创造公平的竞争环境,使较小的实体能够访问与大型组织相同的信息,从而推动创新和竞争差异化。
合乎道德和负责任的使用。RAG有责任确保AI合乎道德,负责任地使用,尤其是在数据隐私和安全方面。未来的发展必须提高透明度、用户同意协议以及审计和解释数据使用和响应生成的能力。
解决偏见和错误信息。解决检索的数据和LLM的训练数据中偏见和错误信息的挑战至关重要。未来的RAG系统必须采用更复杂的机制来识别、减轻和纠正偏见。
协作式人机交互。RAG的未来涉及人类和A之间更深入的协作。RAG系统不仅有可能提供信息,而且可以作为创造性问题解决、研究和创新的合作伙伴,并可能会导致新形式的协作智能,其中AI的数据处理和模式识别功能可以放大人类的创造力和直觉。