AI 原生向量数据库 : 大模型的“黄金搭档”, 能提供“记忆海绵”
本文首发微信公众号:飞总聊IT
向量数据库,顾名思义,是用来存储和查询向量数据的数据库。这本来是一个相对小众的数据库产品,主要服务于人工智能和信息检索领域,但是伴随大模型的流行,越来越重要了。
要理解向量数据库,首先要理解什么是向量。这就要回到微积分和线性代数了。在向量数据库里,一个向量数据,就是一个以原点为起点,n-维度空间任意一个点为终点的向量,我们通常记录其终点,用一个大小为n的数组来表达。
向量数据库里面存储了很多的向量数据。其最常用的检索功能是给定一个输入的向量,找出Top-k个距离最近的向量。
那么,向量数据库为什么和机器学习,大模型相关呢?
我们知道,目前的大语言模型主要基于深度学习技术。深度学习的输入可以是文本,图片,视频等语料。这些数据被神经网络真正作为输入使用之前,需要经过一个从语料到向量的转化过程。神经网络真正使用的输入是向量,这个过程叫做embedding。
举例来说,如果输入是一篇pdf,我们通常要先对pdf的文本进行分段(segment),然后对每一段的文字进行embedding,最后得到的若干个向量,会被存入向量数据库被后续的训练等场景使用。如下图所示:
向量数据库的应用很多,在大模型兴起之前,向量数据库最成功的应用是搜索引擎。谷歌和微软的必应搜索引擎都应用了向量数据库来帮助搜索。
具体来说,用户在搜索框中输入问题,问题被embedding成一个向量。向量数据库里面则存了各种网页经过embedding以后的向量。
系统只需要对输入的向量进行top-k查询,这最近的k个向量对应的文字,就是需要返回的搜索结果。通过embedding操作,可以把语义的相关性问题,转化成为n维空间向量之间的最近距离的问题。
针对不同的数据,比如文本,图片,视频,等进行embedding以后,向量数据库可以做的操作非常的多,下图展示了一些向量数据库能做的事情:
在大模型时代,训练大模型和使用大模型,是很多企业都想做的事情。
通常来说,大模型使用有三种方式:自己训练,基于现有模型微调,或者直接用。
对自己训练和基于现有模型微调两种使用方式的训练阶段,使用向量数据库的主要目的是提高对训练数据的分类,去重和清洗的效率。
而在大模型的推理阶段,向量数据库的作用就更大,主要有三个作用。
首先,大模型的训练语料有截止日期,比如说GPT系列的数据库到2021年9月。但是在推理阶段,大模型需要根据最新的数据来回答问题。
此外,每个企业都有自己内部独有的知识库,这些知识库,在大模型的预训练和finetune阶段可能也没有被大模型学习过,需要额外提供给大模型。
向量数据库可以成为一个知识库的作用,给大模型提供最新的数据,和每个客户企业独有的内部知识库。下图展示了这种场景下向量数据库的作用。
其次,大模型有token数限制。一旦超过了最大的Token数,大模型就开始忘记上下文。向量数据库可以记录客户端和大模型之间的对话聊天信息,为大模型提供理论上没有上限的长期记忆。这就解决了大语言模型对Token数的限制,避免上下文信息丢失的问题了。下图展示了这种场景下向量数据库的作用。
最后,向量数据库还可以为大语言模型提供缓存。系统可以先在缓存中搜索相似的问题和对应的答案,如果缓存命中的话,就不可以直接返回结果。这可以减少对大模型调用的开销,提高服务响应速度。下图展示了这种应用场景。
2023年7月4日,腾讯云正式发布AI 原生(AI Native)向量数据库 Tencent Cloud VectorDB。该数据库能够被广泛应用于大模型的训练、推理和知识库补充等场景,是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。
下图展示了AI 原生向量数据库 Tencent Cloud VectorDB 的架构。
据介绍,腾讯云AI 原生向量数据库Tencent Cloud VectorDB 最高支持10亿级向量检索规模,延迟控制在毫秒级,相比传统单机插件式数据库检索规模提升10倍,同时具备百万级每秒查询(QPS)的峰值能力。
值得关注的是,腾讯云重新定义了AI Native的开发范式,提供了接入层、计算层、存储层的全面AI化解决方案,使用户在使用向量数据库的全生命周期,都能应用到AI能力。
具体而言,在接入层,腾讯云向量数据库支持自然语言文本的输入,同时采用“标量+向量”的查询方式,支持全内存索引,最高支持每秒百万的查询量(QPS);在计算层,AI Native开发范式能实现全量数据AI计算,一站式解决企业在搭建私域知识库时的文本切分(segment)、向量化(embedding)等难题;在存储层,腾讯云向量数据库支持数据智能存储分布,助力企业存储成本降低50%。
据了解,腾讯云向量数据库的向量化能力(embedding)曾多次获得权威机构认可,2021年曾登顶MS MARCO榜单第一、相关成果已发表于EMNLP顶会ACL。
由于大模型的训练数据,无法突破时间和空间的维度限制,用好大模型,就必然需要一个外部知识库。在当前的技术选型中,向量数据库是最成熟和有效的外部知识库解决方案。
再加上大模型本身有token数的限制,调用大模型耗时久,费用高,而向量数据库能通过给大模型提供长期记忆,以及作为大模型缓存的功能,同时解决了这些问题。
所以大模型加向量数据库的系统架构,也必然会伴随着大模型的流行而普及开来。而腾讯云AI 原生向量数据库Tencent Cloud VectorDB这款产品,经过腾讯的内部技术沉淀,经过了腾讯海量业务场景的验证,无疑大模型的“黄金搭档”。
统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2—4个数量级。
伴随着大模型相关应用的迅速发展和落地,AI Native向量数据库也会成为企业数据处理的标配,腾讯云AI 原生向量数据库Tencent Cloud VectorDB这款产品也必然受到客户青睐。
微信扫码关注该文公众号作者