RAG(Retrieval-Augmented Generation)—— 检索增强生成,就是从外部数据库获取额外信息辅助大模型生成内容。
我们知道谷歌是通过倒排索引技术一战成名的,倒排索引这个技术帮助谷歌的搜索效率大大提高,百度也是一样。而RAG技术结合了检索技术和生成式模型,他先从知识库中检索出与查询相关的信息,然后基于这些信息生成回答。
早期的生成式大语言模型通常依赖训练好的数据来给用户答案。
这就会产生一些问题:
- 用户问的问题比较专业,大模型的语料库中从来没有训练过,缺乏私有领域相关知识
- 依赖的信息已经过时但是大模型还没来得及更新
- 处理特定领域知识效率不高
- 用户不能定制
如何解决上述问题呢?有两种途径:
- 一是通过微调来更新模型
- 二是让他们能够与外部世界互动,一不同的形式来获取知识
我们先来讨论微调,微调效果固然好,相当于让大模型学习了一些专有领域相关的知识了,但通过微调的方式也会带来一些问题,主要问题如下
- 知识权重问题,通过微调学习的知识在大模型中权重不一定就高,如果权重不高又怎么保证它学过此知识之后,回答此类问题就一定比之前好呢?
- 数据更新的代价,我们现在生活在信息时代,信息变化的速度非常快,而大模型进行调试的时候又非常耗时和烧钱,信息一有变化就让大模型进行调试,这个代价是大模型不能承受的。
另一种方式就是RAG,RAG为大模型提供了与外界互动的入口。
RAG的主要作用类似搜索引擎,首先找到用户问题最相关的知识或者历史对话,并结合原始提问,创作信息丰富的prompt,指导模型生成准确的输出。
大模型和RGA可以形成天然互补优:
- 避免“幻觉”问题:RGA通过检索外部信息作为输入,辅助大模型输出,这种方法能显著减少生成信息不准确的问题,增加回答的可追溯性。
- 数据安全:RGA可以将知识库作为企业或机构的私有数据——数据存储在企业或机构本地,避免数据在公域泄露。
- 信息的实时性:企业和机构可以随时更新外部数据源,保证数据是最新最可靠的,解决大模型知识库的时效性问题。
总的来说,RGA和大模型是天然的互补关系,他们的结合可以帮我们解决数据幻觉、数据安全、数据实时性问题。
AI的列车已经加速,坐上去的是未来,站台上观望的,终将被落下。