向量数据库只会越来越重要

image

昨天下午,得空参加了腾讯云向量数据库技术峰会,期间见了很多老朋友,有些感触,今天和你聊聊。我不知道你对向量数据库有多少了解,但现在可以确定的是,如果要做大模型相关的应用,你肯定绕不开向量数据库这一环。

记得五月时,和业内的朋友聊天,说起向量数据库,大家内心还嘀咕这东西会不会只是一个过渡性的解决方案,毕竟随着大模型能力的进化,上下文窗口越来越大几乎是必然的。而当大模型能力足够强之时,直接带着提示词,把数据塞给大模型就可以了。

这是那个阶段的疑惑。

现在,半年过去,再去思考这个问题,我觉得可以得出来一个笃定的结论,向量数据库只会越来越重要。我分三方面来说。第一,大模型的训练和微调有成本,包括时间成本和算力成本,它不可能随时囊括所有的最新数据,并且很多易变、敏感的业务信息也不适合放到大模型中。

第二,假设大模型的输入 Token 可以变得无限大,但从工程层面考虑,输入内容越多,响应速度肯定越慢,得不偿失。第三,大模型的幻觉问题很难解决,搭配向量数据库限定生成内容的边界,倒成为一个很好的思路。

也就是说,在大模型的应用中,计算(大模型)和存储(向量数据库)分离也是必然趋势。顺着这个逻辑往下推演,我很赞同活动上听到的一个观点:向量数据库未来将会成为智能化 AI 的数据中枢。

你想想,我们常接触的 MySQL、Redis 这些数据库,它们都在处理结构化的数据,包括做数据分析,也是基于这些规整的结构化数据做清洗和加工。但现实世界中,像音频、视频、图片,以及文本信息,这些非结构化数据占了大头。

随着大模型的发展,多模态能力的提升,怎么充分利用这些非结构化的数据将会越来越重要。而向量数据库,又天生具备理解非结构化数据的能力。所以,它就很适合作为一个数据中枢,成为大模型应用的索引层。

向量数据库现在也很热,听说国内就有五十多家公司在做这块的产品。从发展趋势来看,这类产品都在变厚,成为了一个端到端的产品。最开始,我们看到的向量数据库非常简单,只有向量的存储和检索两个能力,但现在,像腾讯云向量数据库已经支持了 Segment 和 Embedding 的能力,用户只需要往数据库里追加数据,然后检索数据,其他的细节都不用操心。

再详细说说腾讯云向量数据库,毕竟这个活动更多也是在讲腾讯的产品。有一点我还蛮受启发的,腾讯云数据库副总经理罗云说,他们这段时间一直在着力优化向量数据库的性能。

为什么这么说呢?刚才聊到向量数据库会成为 AI 时代的数据中枢。当下,AI 的应用才刚刚开始,数据量不大,瓶颈问题还未显现,但随着时间的发展,数据量的增大,向量数据库的性能也会变得越来越重要,这和 Web 2 时代的 MySQL 一模一样。所以,腾讯预判向量数据库的性能将会成为未来这个赛道的核心壁垒。

几个月前,我也写过一篇腾讯云向量数据库的文章,记得那会他们只能支持十亿向量的规模,而现在已然升级到千亿,并且 QPS 也大幅提升,可以承载 500 万的峰值能力。我估计照这个势头,接下来还会进一步增强。

现在向量数据库有两个流派,一个是插件式的向量数据库,比如搜索领域的 ElasticSearch 在原有的基础上增加了对向量的支持;另外一个流派则是独立的、AI 原生的向量数据库。

我们很多用户会纠结这两种产品怎么选。如果认可上面的判断的话,我倒是觉得很简单,若你的产品刚开始,数据量还不大,不想引入新的数据库增加开发复杂度,那插件数据库是比较好的选择。但是数据量一大,对性能、成本有了更高的要求后,那肯定是选择像腾讯云向量数据库这样的产品了。

记得当年大家在选容器的编排工具时,也曾纠结过 Apache Mesos 和 Kubernetes 的路线。现在看,他们属于两个时代的产品,完全没有什么可比性。原生的数据库肯定会成为主流,这是我的判断。

现在,腾讯云向量数据库已经全量开放了。活动上,我看到有一千家的客户已经在使用了,包括百川智能、好未来、销售易等公司。最近,他们和百川一起做了个 AGI 启航计划,赠送向量数据库实例及 Baichuan2 大模型 400 万的 Tokens,感兴趣的话,可以点阅读原文链接看看。