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

大白话了解新鲜事,今天讲讲以Pinecone为代表的向量数据库。向量数据库Pinecone一夜爆火,4月27日B轮拿到了1亿美元的融资,估值达到7.5亿美元,一个2021年刚刚推出的数据库产品,火爆背后的原因是什么?
01 背景
自从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]。更高维的向量以此类推。不严格地说,向量就是一个数组,数组的长度就是向量的维度。
也可以具象化的理解向量,以上面的飞机为例,向量就是从三维坐标系原点出发指向飞机所在位置的一段箭头。

这样帮助我们后面更容易理解什么是向量之间的「相似度」——即两个箭头靠近的程度。怎么计算呢?最简单的就是“余弦相似度”——两个箭头之间的夹角越小,则两个向量相似度越高。
03 向量化
怎么将单词转化为向量表示呢?你可以硬编码,例如如果你的世界里只有苹果和梨,我们可以将苹果硬编码为二维向量[1, 0],将梨硬编码为[0, 1]

当然世界并不是只有苹果和梨,还有许多其他东西,这样向量化的维度太高(数组太长)、太稀疏(0值太多)、而且缺乏语义。现在人们都是用模型来生成向量(即embeddings),可以压缩维度,还能保留语义。保留语义的意思是,语义越相近的文本(如「ocean」和「sea」),embedding生成的向量相似度也越高。
Huggingface上有不少开源的embeddings模型,OpenAI也提供了text-embedding-ada-002模型来将文本向量化,有兴趣的可以看看。
04 向量数据库
向量数据库是一种专门用于存储和处理向量数据的数据库系统,它能够高效地进行向量相似度查询,这个「向量相似度」我们上面介绍过了。
向量数据库如何帮助大语言模型缓解记忆缺失和幻觉的问题呢?
原理很简单,针对幻觉问题,可以将所需领域的专业知识存入向量数据库,当要prompt时,系统自动的从向量数据库中根据「相似度」查找最相关的专业知识,把这些知识和你的prompt一同提交给ChatGPT,这样就可以有效减少幻觉的出现。记忆的问题也类似,可以选择把部分你和ChatGPT的聊天记录存入向量数据库,ChatGPT Retrieval plugin提供了这样的接口。

目前这种OP stack模式(OpenAI + Pinecone)已经逐渐在业界流行,连带着包括Weaviate、Milvus这类竞品的热度也在上涨,前几天翻看Redis官网的时候发现他们家也推出了向量数据库产品Redis VSS。
靠着紧抱AI大腿,向量数据库热度将会持续。另外公有云厂商如阿里云、AWS、GCP等,预计也会加大自己的向量数据库的开发投入。而互联网大厂作为各种AI模型的研发方和落地方,未来同样免不了加大对自研向量数据库的投入。所以,有兴趣的小伙伴可以深入学习一下,看看这个领域里还有什么花样可以玩。
(对了,如果有小伙伴还没试用过ChatGPT,我搭了一个小跳板,关注公众号“后厂村思维导图馆”,私信留言索要,同时,也可留言索要各类高清无水印思维导图,记得留下邮箱哦)
向量数据库Pinecone,治疗ChatGPT幻觉的药方?的更多相关文章
- ChatGPT 开源了第一款插件,都来学习一下源码吧!
3 月 23 日,OpenAI 又投出了一枚重磅炸弹:为 ChatGPT 推出插件系统! 此举意味着 ChatGPT 将迎来"APP Store"时刻,也就是围绕它的能力,形成一个 ...
- REDO 的内容:改变向量
REDO 的内容 ---改变向量 redo的内容并不是sql语句,他是放的一些改变,叫改变向量. 数据库恢复的时候并不是执行sql语句,而是一个物理的过程,是一个数据块的覆盖.是改变数据块的大小. 可 ...
- 用ChatGPT,绘制一个账号系统的C4架构图
hi,我是熵减,见字如面. 昨天我们用ChatGPT来设计一个账号系统,并尝试输出:模型表,类关系图,序列图,状态图等常用的架构设计中常用的元素. 今天,我们继续向更高层级延伸一下,看ChatGPT能 ...
- 读破万卷,神交古人,突破ChatGPT4096的Token限制,建立自己的垂直领域资料人工智能助理
ChatGPT的泛用性极高,上知天文,下通地理,参考古今,博稽中外,几乎无所不知,无所不晓.但如果涉及垂直领域的专业知识点,ChatGPT难免也会有语焉不详,闪烁其词的毛病,本次我们将特定领域的学习材 ...
- chinacloud大数据新闻
2015年大数据发展八大趋势 (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障 (0 篇回复) 百度携大数据"圈地" ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
- Oracle重做日志REDO
什么是重做? 重做日志包含所有数据产生的历史改变记录. 重做日志目的是保证数据的安全,如果数据因特殊原因没有写到磁盘上,可以通过重做日志来恢复. 重做日志文件通常用于 恢复(实例恢复和介质恢复) 日志 ...
- Faiss源码剖析:类结构分析
摘要:在下文中,我将尝试通过Faiss源码中各种类结构的设计来梳理Faiss中的各种概念以及它们之间的关系. 本文分享自华为云社区<Faiss源码剖析(一):类结构分析>,原文作者:HW0 ...
- 叮,GitHub 到账 550 美元「GitHub 热点速览 v.22.26」
作者:HelloGitHub-小鱼干 如果你关注 GitHub 官方动态,你会发现它们最近频频点赞世界各地开发者晒出的 GitHub $550 sponsor 截图,有什么比"白嫖" ...
- AI听曲识歌!哼曲、口哨吹,都能秒识! ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...
随机推荐
- Git添加SSH密钥步骤
1.先去本机上面看看用户主目录里面有没有.ssh这个文件夹 如果有的话,再看看该目录下有没有id_rsa和id_rsa_pub这两个文件: 若还是有,就直接跳过这一步到下一步:若是没有,我们需要创建S ...
- 发布新版博客备份功能:生成 sqlite 数据库文件,vscode 插件可查看
大家好,最近我们重新开发了园子的博客备份功能,今天发布第一个预览版,欢迎大家试用. 点击博客后台侧边栏的博客备份进入新版博客备份: 点击创建备份按钮创建博客备份任务(目前每天只能创建一次备份),待备份 ...
- Linux基础知识归纳
1.Linux:Linux is not Unix.主要用于企业的服务器端.Windows不开源(系统价格大概2000左右,安装软件也特别贵,例如Offers就6000左右等).基于内核的操作系统(r ...
- 部署kubernetes官网博客
部署kubernetes官网博客 访问 https://kubernetes.io/ 有些时候不问题,部署离线内网使用官网以及博客, 各位尝鲜可以访问 https://doc.oiox.cn/ 安装d ...
- 联邦学习FATE框架安装搭建
联邦学习 FATE (Federated AI Technology Enabler) 是微众银行AI部门发起的开源项目,为联邦学习生态系统提供了可靠的安全计算框架.FATE项目使用多方安全计算 (M ...
- panda之series结构
eries 结构,也称 Series 序列,是 Pandas 常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据值之间是一一对应的关系.Seri ...
- Django笔记十九之manager用法介绍
本文首发于微信公众号:Hunter后端 原文链接:Django笔记十九之manager用法介绍 首先介绍一下 manager 的使用场景,比如我们有一些表级别的,需要重复使用的功能,都可以使用 man ...
- Redis 数据类型 Stream
Redis 数据类型 Stream Redis 常用命令,思维导图 >>> Redis Stream 是 Redis 5.0 版本新增加的数据结构. Redis Stream 主要用 ...
- 最新升级优化 shopee|美客多 Mercadolibre|shopfiy|lazada|独立货代贴单系统 可规模化的贴单打单系统 源码下载独立部署
七想网络 跨境猴 最新优化改进版本的 虾皮代打包-虾皮代贴单 独立部署源码版本货代贴单系统 介绍: 台湾海外仓_shopee货代_虾皮物流–虾皮代贴单 虾皮代打包-虾皮代贴单-虾皮货代平台 shope ...
- 【从零开始】Docker Desktop:听说你小子要玩我
前言 缘由 捡起遗忘的Docker知识 由于本狗近期项目紧任务重,高强度的搬砖导致摸鱼时间下降.在上线项目时,看到运维大神一系列骚操作,docker+k8s的知识如过眼云烟,忘得干净的很.所以想重新恶 ...