再谈大模型检索增强生成——RAG 原创
“ RAG的核心部件有大模型,embedding模型和检索系统;而RAG的重点和难点都在于检索系统”
RAG检索增强生成——也是很多人理解的本地知识库,但RAG和本地知识库还是有很大区别的;但这不是今天讨论的重点,重点是为什么会有RAG技术,以及RAG技术解决了哪些问题?
大模型存在的几个主要问题,知识的局限性 实时性和幻觉问题 以及隐私数据
RAG并不能完全解决幻觉问题,但可以减少幻觉的发生
in context learning 语境学习/上下文学习
RAG与大模型
想知道为什么会有RAG技术,首先要知道大模型的几个缺陷。
大模型主要有以下几个问题:
- 知识的局限性
- 知识的实时性
- 大模型的幻觉
目前的大模型都是基于预训练模式,也就是说设计出来的模型需要经过大量数据训练之后才能够使用;但预训练有一个很严重的缺点就是,训练的数据都是之前,大模型无法获取训练数据之后的信息。
比如说,昨天训练了一个新的模型,那这个模型就不可能知道今天发生了哪些事情;所以模型的知识是截止到其训练数据收集的那一天。而这就是大模型知识的实时性问题。
其次是知识的局限性,大模型预训练的数据基本上来自于互联网中;但互联网中只有很小一部分数据是公开的,大部分数据都是不公开的;因此,训练模型就很难获取到这些不公开的数据,因此大模型的知识是有局限的。
这也是为什么,在问到大模型一些比较专业的问题时,大模型只能泛泛而谈,而无法给出一个详细的答案;原因就是因为它自己也不知道。
最后就是大模型的幻觉问题,幻觉问题其实也可以理解为一种特殊的知识局限性;那就是大模型在遇到一些不懂的问题时,它会根据自己的经验,然后一本正经的胡说八道。
这就是大模型的幻觉问题,产生幻觉问题的原因有很多,知识不足只是其中的一个原因而且也不是本质上的原因。众所周知,大模型的本质是一种数学模型,其是用概率和高维向量之间的运算来得到具体的结果。
但不论是概率还是向量之间的运算,都无法保证绝对的正确性,因此这就导致大模型会出现一本正经的胡说八道的现象,也就是幻觉的问题。
还有一个问题就是,数据的隐私性问题,比如说公司内部的经营数据,财务数据和科研数据等;这都属于公司的绝密信息,因此一般不能直接用来进行大模型的训练;但有时候又需要大模型使用这些隐私数据。
所以,为了解决以上问题业内就提出了一种补偿措施,那就是RAG技术。RAG技术主要包括两个方面,检索与生成;所谓的检索就是在向大模型提问之前,先从外部资料中检索到相关的资料,然后一起带给大模型;大模型就可以根据这些资料进行更加精准的回答。
而大模型使用RAG技术的原理就是In Context Learning(语义学习/上下文学习)技术;本质上来说就是一种提示词技术,通过RAG技术从外部资料中检索到数据之后,把这些数据当做上下文拼接到提示词中,然后大模型就可以理解这些提示词,然后做出正确的回答。
不过RAG技术虽然能够解决大模型以上的几个问题,但并不是完全解决;主要依赖于以下几个方面:
- embedding模型
- 外部资料的质量问题
- 检索的准确性问题
- 大模型的质量问题
后面两个应该很好理解,主要就是embedding模型,所谓的embedding模型就是,RAG的检索并不是传统的数据库方式的字符匹配,而是基于向量模型的语义匹配的方式。
因此,就需要一种方式把资料从文本/视频/语音等多种格式的数据转化为向量模式,而这个就是embedding模型的作用;而embedding模型本质上也是一个大模型。
还有就是,大模型并没有解决幻觉问题,只是减少了幻觉的发生;以目前的技术来看,大模型幻觉问题还无法彻底解决,只能尽量地减少。
所以,一个好的RAG系统,不但需要一个好的大模型和embedding模型,更重要的是要有一个强大的检索系统;能够更加高效和准确地检索到准确的数据。
否则,就像你拿着一个错误的复习资料,即使你成绩再好,你又能考多少分。
本文转载自公众号AI探索时代 作者:DFires
原文链接:https://mp.weixin.qq.com/s/UBcbUw22aVcjyifqGYEAjw