一、RAG
检索增强生成(Retrieval Augmented Generation,简称RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性。
给模型注入新知识的方式,可以简单分为两种方式,一种是内部的,即更新模型的权重,另一个就是外部的方式,给模型注入格外的上下文或者说外部信息,不改变它的的权重。
第一种方式,改变了模型的权重即进行模型训练,这是一件代价比较大的事情,大语言模型具体的训练过程,可以参考InternLM2技术报告。第二种方式,并不改变模型的权重,只是给模型引入格外的信息。类比人类编程的过程,第一种方式相当于你记住了某个函数的用法,第二种方式相当于你阅读函数文档然后短暂的记住了某个函数的用法。
二、RAG工作原理
RAG模型的工作原理主要通过以下几个步骤实现:
-
检索:首先,系统会将生成任务的输入(如问题、标题等)编码为向量表示,并在外部知识库(如维基百科、网页等)中查找与输入向量最相似的一组文档。这一步骤通常涉及相似度计算(如余弦相似度)和文档排序。
-
利用:检索到的文档会被进一步编码为向量表示,并与输入向量进行融合,形成新的上下文向量。这个上下文向量包含了输入信息和检索到的相关信息,为后续的文本生成提供了丰富的背景知识。
-
生成:最后,系统会根据上下文向量使用生成模型(如Transformer)来生成文本。这个生成过程会综合考虑输入信息和检索到的信息,以生成更准确、更丰富的文本内容。
下图显示了将 RAG 与 LLM 配合使用的概念流程。
三、RAG的好处与优势
RAG 技术为组织的生成式人工智能工作带来了多项好处。
经济高效的实施
聊天机器人开发通常从基础模型开始。基础模型(FM)是在广泛的广义和未标记数据上训练的 API 可访问 LLM。针对组织或领域特定信息重新训练 FM 的计算和财务成本很高。RAG 是一种将新数据引入 LLM 的更加经济高效的方法。它使生成式人工智能技术更广泛地获得和使用。
当前信息
即使 LLM 的原始训练数据来源适合您的需求,但保持相关性也具有挑战性。RAG 允许开发人员为生成模型提供最新的研究、统计数据或新闻。他们可以使用 RAG 将 LLM 直接连接到实时社交媒体提要、新闻网站或其他经常更新的信息来源。然后,LLM 可以向用户提供最新信息。
增强用户信任度
RAG 允许 LLM 通过来源归属来呈现准确的信息。输出可以包括对来源的引文或引用。如果需要进一步说明或更详细的信息,用户也可以自己查找源文档。这可以增加对您的生成式人工智能解决方案的信任和信心。
更多开发人员控制权
借助 RAG,开发人员可以更高效地测试和改进他们的聊天应用程序。他们可以控制和更改 LLM 的信息来源,以适应不断变化的需求或跨职能使用。开发人员还可以将敏感信息的检索限制在不同的授权级别内,并确保 LLM 生成适当的响应。此外,如果 LLM 针对特定问题引用了错误的信息来源,他们还可以进行故障排除并进行修复。组织可以更自信地为更广泛的应用程序实施生成式人工智能技术。
四、结论
综上所述,Retrieval Augmented Generation(RAG)作为一种结合了检索和生成技术的模型,在自然语言处理领域展现出了巨大的潜力和应用价值。随着技术的不断发展和完善,RAG有望在未来发挥更加重要的作用。