大白话了解新鲜事,今天讲讲以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]。更高维的向量以此类推。不严格地说,向量就是一个数组,数组的长度就是向量的维度。

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

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

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幻觉的药方?的更多相关文章

  1. ChatGPT 开源了第一款插件,都来学习一下源码吧!

    3 月 23 日,OpenAI 又投出了一枚重磅炸弹:为 ChatGPT 推出插件系统! 此举意味着 ChatGPT 将迎来"APP Store"时刻,也就是围绕它的能力,形成一个 ...

  2. REDO 的内容:改变向量

    REDO 的内容 ---改变向量 redo的内容并不是sql语句,他是放的一些改变,叫改变向量. 数据库恢复的时候并不是执行sql语句,而是一个物理的过程,是一个数据块的覆盖.是改变数据块的大小. 可 ...

  3. 用ChatGPT,绘制一个账号系统的C4架构图

    hi,我是熵减,见字如面. 昨天我们用ChatGPT来设计一个账号系统,并尝试输出:模型表,类关系图,序列图,状态图等常用的架构设计中常用的元素. 今天,我们继续向更高层级延伸一下,看ChatGPT能 ...

  4. 读破万卷,神交古人,突破ChatGPT4096的Token限制,建立自己的垂直领域资料人工智能助理

    ChatGPT的泛用性极高,上知天文,下通地理,参考古今,博稽中外,几乎无所不知,无所不晓.但如果涉及垂直领域的专业知识点,ChatGPT难免也会有语焉不详,闪烁其词的毛病,本次我们将特定领域的学习材 ...

  5. chinacloud大数据新闻

    2015年大数据发展八大趋势   (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障   (0 篇回复) 百度携大数据"圈地" ...

  6. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

  7. Oracle重做日志REDO

    什么是重做? 重做日志包含所有数据产生的历史改变记录. 重做日志目的是保证数据的安全,如果数据因特殊原因没有写到磁盘上,可以通过重做日志来恢复. 重做日志文件通常用于 恢复(实例恢复和介质恢复) 日志 ...

  8. Faiss源码剖析:类结构分析

    摘要:在下文中,我将尝试通过Faiss源码中各种类结构的设计来梳理Faiss中的各种概念以及它们之间的关系. 本文分享自华为云社区<Faiss源码剖析(一):类结构分析>,原文作者:HW0 ...

  9. 叮,GitHub 到账 550 美元「GitHub 热点速览 v.22.26」

    作者:HelloGitHub-小鱼干 如果你关注 GitHub 官方动态,你会发现它们最近频频点赞世界各地开发者晒出的 GitHub $550 sponsor 截图,有什么比"白嫖" ...

  10. AI听曲识歌!哼曲、口哨吹,都能秒识! ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

随机推荐

  1. Feign报错:The bean 'xxxxx.FeignClientSpecification' could not be registered.

    解决方法: spring: main: allow-bean-definition-overriding: true 参考博客:https://www.cnblogs.com/lifelikeplay ...

  2. active

    rabbitMQ与activeMQ区别 之前的项目中都用到了这两个消息队列 ActiveMq,传统的消息队列,使用Java语言编写.基于JMS(Java Message Service),采用多线程并 ...

  3. react中类组件、函数组件、state、单层遍历、多层遍历、先遍历后渲染、if-else、三目运算符

    1.回顾 module.exports = { entry: {}, output: {}, plugins: [], module: {}, resolve: {}, devServe: {} } ...

  4. OpenWRT实现NAT64/DNS64

    OpenWRT实现NAT64/DNS64 连接到核心路由器 # 连接到核心路由器 [C:\~]$ ssh root@10.0.0.1 Connecting to 10.0.0.1:22... Conn ...

  5. pandas之聚合函数

    在<Python Pandas窗口函数>一节,我们重点介绍了窗口函数.我们知道,窗口函数可以与聚合函数一起使用,聚合函数指的是对一组数据求总和.最大值.最小值以及平均值的操作,本节重点讲解 ...

  6. [Windows/Linux]判别服务器: 虚拟机 | 物理机 ?

    物理主机,一般称: [宿主机] 虚拟机信息,一般涉及如下关键词: VMware : VMware 虚拟化技术 Vistualbox KVM(Kernel-based Virtual Machine): ...

  7. 【Diary】CSP-S2 2021 游记 & NOIP 备赛发疯日记

    Day 0 两个极端的回跳. .....不行啊. 我快输不起了........... ------------------------------- 早上被生物钟强行唤醒,逼自己懒床到6:40. 弹琴 ...

  8. 社工工具包setoolkit克隆网站钓鱼网站

    实验主机:kali  win10 (搭建好的dvwa靶场用于克隆登录页) setoolkit简介:setoolkit 是一个开源的社会工程学工具包.有很多选项可以使用更多操作读者自行探究. 实验开始: ...

  9. 用 hexo 结合 github 从0到1开始搭建属于你的blog

    前言 github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话根本 ...

  10. React 组件进入和退出动画实现

    在实现一个React中的弹框组件时,想给组件加个进入和退出动画,但发现React没有Vue3那样现成的api,因此需要自己设计. 主要思路为给组件添加一个state来选择className,不同的cl ...