目录
什么是RAG
- RAG:检索增强生成
- 定义:检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。
- **核心作用:**大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。
- 这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性
为什么RAG(检索增强生成)很重要
- 模型的幻觉问题
- LLM 技术的本质在 LLM 响应中引入了不可预测性。
- LLM 训练数据是静态的,并引入了其所掌握知识的截止日期。
- LLM的知识是编码在数百亿个参数中的,无法直接查询或编辑其中的知识图谱。
- LLM的训练数据集是固定的,一旦训练完成就很难再通过继续训练来更新其知识。
- LLM的参数量巨大,随时进行fine-tuning需要消耗大量的资源,并且需要相当长的时间。
- LLM会在没有答案的情况下提供虚假信息
- LLM当用户需要特定的当前响应时,提供过时或通用的信息。
- LLM会从非权威来源创建响应。
- LLM由于术语混淆,不同的培训来源使用相同的术语来谈论不同的事情,因此会产生不准确的响应。
- LLM的知识是编码在数百亿个参数中的,无法直接查询或编辑其中的知识图谱。
- 与真实世界实时交互问题
- LLM 训练数据是静态的,并引入了其所掌握知识的截止日期。
- RAG 可以帮助模型对自身知识进行动态更新,同时,帮助模型在执行指令时,实时补全空白知识。LLM 的训练语料在时间(非实时)、空间(分布有限)上是受限的,LLM 在训练完成后自身的认知会局限、固化在训练语料的时空内。RAG 可以帮助 LLM 突破原有的时空限制,在更广泛的场景下得到应用
- 数据安全问题
- 私有数据安全问题,RAG 技术可以将私有数据作为一个外部数据库,让 LLM 在回答私有数据问题时候,直接从外部数据检索相关信息,在结合检索出来的内容进行回答。这样不参与训练,就不会在 LLM 的模型参数中,记住私有知识。
<aside>
📓 比喻性说明:可以将大型语言模型看作是一个过于热情的新员工,他拒绝随时了解时事,但总是会绝对自信地回答每一个问题。不幸的是,这种态度会对用户的信任产生负面影响,这是您不希望聊天机器人效仿的!
RAG 是解决其中一些挑战的一种方法。它会重定向 LLM,从权威的、预先确定的知识来源中检索相关信息。组织可以更好地控制生成的文本输出,并且用户可以深入了解 LLM 如何生成响应。
</aside>
<aside>
📓 阶段性总结:RAG 通过在语言模型生成答案之前,先从广泛的文档数据库中检索相关信息,然后利用这些信息来引导生成过程,极大地提升了内容的准确性和相关性。RAG 有效地缓解了幻觉问题,提高了知识更新的速度,并增强了内容生成的可追溯性,使得大型语言模型在实际应用中变得更加实用和可信。RAG 的出现无疑是人工智能研究领域最激动人心的进展之一。
</aside>
RAG的优点
- 可以利用大规模外部知识改进LLM的推理能力和事实性。
- 使用LangChain等框架可以快速实现原型。
- 第一阶段的知识索引可以随时新增数据,延迟非常低,可以忽略不计。因此RAG架构理论上能做到知识的实时更新。
- 可解释性强,RAG可以通过提示工程等技术,使得LLM生成的答案具有更强的可解释性,从而提高了用户对于答案的信任度和满意度。
RAG的缺点