4

向量数据库Pinecone,治疗ChatGPT幻觉的药方? - Morven.Huang

 11 months ago
source link: https://www.cnblogs.com/morvenhuang/p/17422583.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

向量数据库Pinecone,治疗ChatGPT幻觉的药方?

10907-20230523101141421-476747909.png

大白话了解新鲜事,今天讲讲以Pinecone为代表的向量数据库。向量数据库Pinecone一夜爆火,4月27日B轮拿到了1亿美元的融资,估值达到7.5亿美元,一个2021年刚刚推出的数据库产品,火爆背后的原因是什么?

0背景

自从AutoGPT,以及ChatGPT的Retrieval plugin推出之后(二者都推荐使用Pinecone),Pinecone的热度就快速上升,那么向量数据库和ChatGPT有什么关系?

人们常常把大语言模型比喻成大脑,但这是一个被切除了颞叶的大脑,缺乏记忆,并且常常出现幻觉。」解决这些问题,我们常常需要借助向量数据库,这是它近期出现热度的原因。

失忆:ChatGPT没有记忆能力,有的人可能要说它明明记得我前面说过的话,这其实是因为你每一次prompt的时候,客户端会把「当前会话」所有的聊天记录作为一个大的prompt发给ChatGPT。因此,当你点击ChatGPT左侧的“New chat”新建会话后,ChatGPT就会忘了你说过的所有内容。

幻觉:大型语言模型会产生幻觉(Hallucination),指的是它会返回语法正确但语义上不正确的回答,这种胡说八道的情况,相信只要用过几次ChatGPT的小伙伴应该都遇到过。幻觉出现的原因是眼下的大语言模型还做不到真正理解语义(指像人类一样理解),它更多的是一种数学上的抽象推理,就像Meta的首席科学家Yann LeCun的所说,「大型语言模型正在编造东西,努力生成合理的文本字符串,而不理解它们的含义。」

02 向量

一个物体在平面上的位置可以用一个二维向量表示,如[3, 4],其中3表示横向的距离,4表示纵向的距离。又或者,一个飞机在三维空间中的位置可以用一个三维向量表示,如[2, 3, 4]。更高维的向量以此类推。不严格地说,向量就是一个数组,数组的长度就是向量的维度。

也可以具象化的理解向量,以上面的飞机为例,向量就是从三维坐标系原点出发指向飞机所在位置的一段箭头。

10907-20230523101758491-2082023160.png

这样帮助我们后面更容易理解什么是向量之间的「相似度」——即两个箭头靠近的程度。怎么计算呢?最简单的就是“余弦相似度”——两个箭头之间的夹角越小,则两个向量相似度越高。

03 向量化

怎么将单词转化为向量表示呢?你可以硬编码,例如如果你的世界里只有苹果和梨,我们可以将苹果硬编码为二维向量[1, 0],将梨硬编码为[0, 1]

10907-20230523102142086-1446955825.png

当然世界并不是只有苹果和梨,还有许多其他东西,这样向量化的维度太高(数组太长)、太稀疏(0值太多)、而且缺乏语义。现在人们都是用模型来生成向量(即embeddings),可以压缩维度,还能保留语义。保留语义的意思是,语义越相近的文本(如「ocean」和「sea」),embedding生成的向量相似度也越高。

Huggingface上有不少开源的embeddings模型,OpenAI也提供了text-embedding-ada-002模型来将文本向量化,有兴趣的可以看看。

04 向量数据库

向量数据库是一种专门用于存储和处理向量数据的数据库系统,它能够高效地进行向量相似度查询,这个「向量相似度」我们上面介绍过了。

向量数据库如何帮助大语言模型缓解记忆缺失和幻觉的问题呢?

原理很简单,针对幻觉问题,可以将所需领域的专业知识存入向量数据库,当要prompt时,系统自动的从向量数据库中根据「相似度」查找最相关的专业知识,把这些知识和你的prompt一同提交给ChatGPT,这样就可以有效减少幻觉的出现。记忆的问题也类似,可以选择把部分你和ChatGPT的聊天记录存入向量数据库,ChatGPT Retrieval plugin提供了这样的接口。

10907-20230523102304552-850917168.jpg

目前这种OP stack模式(OpenAI + Pinecone)已经逐渐在业界流行,连带着包括Weaviate、Milvus这类竞品的热度也在上涨,前几天翻看Redis官网的时候发现他们家也推出了向量数据库产品Redis VSS。

靠着紧抱AI大腿,向量数据库热度将会持续。另外公有云厂商如阿里云、AWS、GCP等,预计也会加大自己的向量数据库的开发投入。而互联网大厂作为各种AI模型的研发方和落地方,未来同样免不了加大对自研向量数据库的投入。所以,有兴趣的小伙伴可以深入学习一下,看看这个领域里还有什么花样可以玩。

对了,如果有小伙伴还没试用过ChatGPT,我搭了一个小跳板,关注公众号“后厂村思维导图馆”,私信留言索要,同时,也可留言索要各类高清无水印思维导图,记得留下邮箱哦


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK