跳转至

26 向量数据库,十字路口向左还是向右?

你好,我是彭旭。

到这里我们对向量数据库的介绍已经接近尾声了。在向量数据库篇中,我们介绍了Faiss向量检索引擎,一个完整的向量数据库Milvus。相信你对向量数据库已经有了一定的了解,知道了在什么时候、什么场景应该使用向量数据库。

这节课,我们来尝试探讨一下向量数据库的未来。向量数据库到底值不值得投入?

业务场景的诉求

向量数据库一直以来都有哪些应用场景呢?

其实向量数据库早就已经存在。比如Milvus成立于2019年,被设计用来存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的大规模嵌入向量。我们前面介绍的人脸识别,就是用它来存储人脸特征向量,辅助实现人脸识别系统的快速匹配和识别。

比如电商的以图搜图,就是存储了图像的特征向量,从而实现快速的相似度搜索和检索。

比如个性化推荐系统,将个人行为特征与内容数据存储为向量表示,构建内容推荐系统,提供个性化的推荐结果。

比如基因学研究,通过将基因表达数据向量化,用来研究基因功能与疾病之间的相关性,或者比较群体内关系。

此外,还有一些专有的垂直场景需求,比如我之前遇到一个报关公司的需求。这个报关公司会帮很多大小不一的公司整理报关材料,根据海关的需求,填写报关单,报关单上大概有150个字段,其中有些字段需要通过一些规则来组合完成。

因为每个公司提交给这个报关公司的材料各不相同,比如有些是邮件,有些是合同,有些是PDF等。最开始,这个报关公司采用OCR图像识别的方式来标注这些文件,也就是从某些地方提取某些信息,最终组装成报关单。当然,最终的报关单,还是需要人工复核,确认没问题后才能提交。

但是这种方式的缺点就是标注成本很高,而且扩展性差。一些较大的公司来说,客户进行标注后,因为报关单很多,这个成本还能够摊薄。但是对一些小公司,它的单量不多,去标注就得不偿失了。而且客户也想把这个报关的功能SaaS化。更何况,用OCR标注的情况下,每个客户的报关文件都需要单独花时间手工去标注,然后才能自动识别,所以没法在线拓展更多的客户,没法做到开箱即用。

这里其实可以用大模型和向量数据库来优化成本。比如GPT-4o这种多模态大模型,同时具备文本理解、推理、图像识别等能力。这个案例里,就可以先将报关材料转换为PDF、HTML等大模型能够视觉识别的材料。然后利用大模型的理解能力,从这些材料中抽取出需要报关的150个字段。

这150个字段的结果可能有些会出现识别不准确的问题,这时候就用到了向量数据库。在向量数据库里,维护了报关公司、报关产品等一些主数据。这样大模型识别出来的结果,再从向量数据库里进行一次相似性检索,找到标准的主数据,相当于进行了一次数据清洗,提升了结果的准确性,降低了成本。

但这都还只是一些小众需求,所以在2023年之前,向量数据库一直不温不火,默默地发光发热。

向量数据库是怎么火起来的?

直到22年11月30日,OpenAI发布ChatGPT 3.5,让人工智能进入了AI 2.0时代。ChatGPT一经问世,立即大火,短短5天用户就突破了100万,同时也带动了一大波生成式AI大模型的创业浪潮。

但是大模型的“幻觉”限制了它在垂直领域的使用场景。因为你很多时候并不能相信它是真的正确。虽然OpenAI科学家说可以通过“人类反馈强化学习”(RLHF)来让模型对错误的输出结果进行调整,但是成本很高,也需要专业的人才,而且也不能彻底解决问题。

这时候向量数据库就有了新的用武之地,焕发了新生。向量数据库把来源可信的非结构化数据转换成向量,并储存到数据库中。也就是通过我们上节课讲的RAG检索增强生成,就能让大模型具备“长期记忆”的能力,并且减少它产生“幻觉”的可能性。

借着OpenAI等大模型的东风,向量数据库迎来了新的融资潮,Qdrant、Chroma、Weaviate先后获得融资。

2023年4月22日,向量数据库平台Weaviate宣布获得5000万美元的(约3.5亿元)B轮融资,由Index Ventures领投,Battery Ventures等跟投。

2023年4月28日,向量数据库平台Pinecone宣布获得1亿美元(约7亿元)B轮融资,由Andreessen Horowitz领投,ICONIQ Growth等跟投。

加上之前Milvus的母公司Zilliz完成的6000万美元融资,整个向量数据库赛道突然爆火,蛰伏多年向量数据库厂商终于迎来了曙光,用户数量也呈指数级增长。

但是向量数据库的巅峰能够持续吗?是否会成为AI大模型的标配工具呢?

GPT-4 Turbo抛弃了向量数据库?

2024年4月,OpenAI发布了新的模型GPT-4 Turbo,GPT-4 Turbo支持128K的超长上下文,这个相比GPT-4的8K和GPT-3.5 Turbo的16K,是一个巨大的提升。

当然,这个超长上下文的提升也并不能代替向量数据库作为大模型外挂“记忆”的存在,因为毕竟还是有数据大小的限制。

不过OpenAI发布的GPTs又引入了内置的文件存储、向量存储功能。你可以上传一些自有的文件,GPT会将这些上传的文件向量化,构建一个知识库。然后你可以构建自己的GPTs,利用这个知识库来进行问答等。也就是说,对于典型的中小知识库场景,OpenAI已经替你封装好了“记忆”与“知识库”的功能。

看到这里,是不是觉得前面用向量数据库构建私有知识库的场景,已经被GPTs给干掉了?

其实像LangChain这种AI大模型开发工具,当时GPT发布插件功能的时候,也传出了很多被干掉了的传言。同理,很多做AI创业的产品,都会被问一句,如果OpenAI下场做了,你们怎么办?

在我看来,无论是GPTs支持基于文件上传的知识库构建,还是GPT的插件功能实现LangChain的一些能力。这些都类似过去好多年业内流传的低代码、无代码会替换掉原生代码的说法。

有一段时间,也传出了很多低代码、无代码才是程序终点的言论。但是最终还是证明,低代码、无代码还是只能在一些业务场景简单、流程标准的领域发挥作用,比如OA。低代码这么多年过去了,还是只能用在流程驱动、表单驱动这些场景。

比如GPT的插件功能,虽然使用简单,但是如果你需要实现比较复杂的业务流程,仍然是用LangChain写代码更为灵活。因为标准化、配置化,就是一定程度上牺牲了灵活性。

所以,其实对GPT这类大模型来说,向量数据库仍然是一个补充。向量的存储与检索是真实需求,而且会随着大模型的发展越来越多。

向量数据库的内忧外患

现在的向量数据库确实已经不像当初那么火热。

说到底,向量检索并不是一种全新的,实现困难的基础数据处理方式。我们甚至可以用Numpy Python库来实现向量检索。增加一种新的数据类型与索引,对设计良好的现有数据库系统来说并不是什么复杂的事情。

以PostgreSQL上的PGVector为代表,多种类型的数据库,比如Redis、ClickHouse、ElasticSearch纷纷增加了对向量检索的支持。

现在的专用向量数据库陷入了左右夹击之中,OpenAI 亲自下场解决了引爆向量数据库需求的RAG知识库场景,标准需求被加装向量扩展的现有成熟数据库抢占。专用向量数据库存在的意义与空间似乎就没那么大了。不过AI领域发展迅猛,随着数据量的激增和应用场景的拓展,传统数据库可能已经无法满足高计算需求。在这种情况下,向量数据库或许才是终极解决方案。

不管怎样,这些传统数据库和分布式数据库下场对向量检索的支持,也说明了向量检索在未来非结构化数据越来越多的情况下,向量检索会是必不可少的一个需求。

小结

向量数据库一直存在,但一直是一个小众需求,受到的关注较少。然而,随着大型深度学习模型的兴起和火爆,越来越多的“淘金者”开始涌入这个领域。向量数据库作为这些“淘金者”挖掘宝藏的工具,因此逐渐受到关注并变得炙手可热。从资本的趋势来看,向量数据库已经成为一个备受追捧的领域。

不过随着大模型本身能力的提升,传统数据库对向量检索的支持,专有向量数据库逐渐感觉到力不从心。小需求被大模型自己实现,比如拉长上下文、提供文件搜索和向量搜索能力。标准需求又一般需要配合标量检索,所以加装了向量检索扩展的成熟数据库又分了一杯羹。留给专用向量数据库的空间就没那么大了。

但是向量化需求明显在增加,根据IDC DataSphere的数据,到2027年,全球非结构化数据将占总数据量的86.8%,达到246.9ZB。未来,非结构化数据依然是数据生成和存储的主要形式。所以,更好地利用这些非结构化数据,利用向量数据库创造更多业务机会,这才是向量数据库发展的关键。

思考题

你在哪些场景有使用过向量数据库吗?你认为向量数据库未来发展趋势会怎样?

欢迎你在留言区和我交流。如果觉得有所收获,也可以把课程分享给更多的朋友一起学习。欢迎你加入我们的读者交流群,我们下节课见!