腾讯云的 AGI 基建:用向量数据库助推 LLM 当前简讯

时间:2023-07-06 15:08:27来源:全天候科技

自 ChatGPT 爆火,国内头部平台型公司一拥而上,先后发布 AGI 或垂类 LLM,但鲜有大模型基础设施,比如向量数据库。

7 月 4 日,腾讯云弥补了这一不足,推出能被广泛应用于大模型训练、推理和知识库补充等场景的腾讯云向量数据库 Tencent Cloud VectorDB,这是国内首个从接入层、计算层、到存储层提供全生命周期 AI 化的向量数据库。

什么是向量数据库?腾讯的目的是什么?对 B 端应用方,这有什么好处?


(资料图片)

国内首个全生命周期 VectorDB

ChatGPT 让 LLM 成为 AI 赛道焦点,向量数据库也由此成为热门话题。向量数据库就可为 LLM 插上一个廉价但有效的 " 外接大脑 "。

这话怎么说?

首先,向量通常用于在多维空间中表示数据值 / 点的位置、特征或属性;而向量数据是一种数学表达,即用一组有序的数值(通常是浮点数),表达一个对象或数据值 / 点。

举个例子,在计算机视觉中,可以通过数值(即像素值)表达图像,这组数值构成一个向量。每个数值对应图像某个像素的颜色强度。比如,一幅 8x8 的灰度图像,即一个包含了 64 个数值的向量。

其次,向量并非专用于 AGI,一开始被用于推荐类 AI。由于向量能被用于在多维空间中的数据点的特性,因此被用于推荐类 AI 的个性化推荐。在推荐系统中,无论是用户,还是物品,都能用向量表示。

比如,某个用户对服饰颜色、款式、材质、用途等有个性化偏好,这些偏好可用数值向量概括。通过计算用户向量与物品向量之间的相似度,实现个性化推荐。

在 AI 世界中,向量被用于表达物理世界的万物,而 LLM 的兴起,对向量数据的存储和计算需求,得以大规模释放。

在 2022 年 12 月前,向量在各种 AI 推荐系统中已经得到深度应用。正因为如此,向量数据才会散落在数量庞大的推荐系统文件中,没有形成专门的向量数据库。

向量数据结构虽然较为简单,但因为应用场景极多,比如机器视觉、文本和图像处理、神经网络、自然语言处理等多模型 AGI 领域,故算法也相应种类繁多。

在多系统中调取 / 检索向量数据,耗费的 GPU 和 CPU 资源量级极为庞大,因而成本高而效率低下。腾讯云数据库副总经理罗云说," 当我们使用向量数据库 Workload(工作量)越来越大,插件式数据库就会面临挑战。"

从 2019 年开始,有些通用 / 插件数据库,就开始增加对向量数据库的支持,比如 ElasticSearch、Redis 和 PostgreSQL。

腾讯云此次发布的向量数据库,最早也是始于 2019 年。那会儿腾讯云推出一个叫做 "OLAMA" 的分布式向量数据库存储技术引擎,成为腾讯云向量数据库底座之一。OLAMA 目前可支持十亿级别的单行向量数据索引、查询 QPS 达到百万、响应延迟为 20 毫秒。

从 2019 年开始,腾讯云持续地丰富 OLAMA 引擎的 AI 能力,比如添加了好几种向量索引算法,像 Embedding 算法和 Segment 算法,还包括 NLP(自然语言)检索能力等等。

向量数据算法的作用是什么?

简单地说,怎么能更快速、更准确、更低成本和更低时延找到向量,以及如此找到那些更相似的向量,这是向量数据算法的目的,也是此次腾讯推出的向量数据库改进算法能力的体现。

腾讯 PCG 大数据平台部搜索推荐 Senior Tech Lead 郑伟说," 除了快速高效低时延,腾讯云向量数据库另外一项大的改进,就是在做到低成本的同时,OLAMA 引擎的稳定性还得到了大幅提升。"

第三,在应用性方面,腾讯云向量数据库做了大量改进," 怎样能更自动化、更智能地对外提供服务。" 郑伟说," 在大模型出来后,怎么样能更好地贴合大模型做更多扩展,比如用户只要敲敲键盘,就能通过用我们的向量数据库,得到各种账单、各种数据和各种报表等。"

降本增效,提供记忆能力

腾讯云推出专业向量数据库,源自需求端的强力推动。

据罗云透露," 基本上每天不止 1-2 客户前来咨询向量数据库什么时候能给他们使用。"

向量数据库有三个阶段需求:第一个阶段,类型必须是向量数据库。罗云说,由于腾讯云从 2019 年就开始持续迭代向量数据库存检引擎,到现在,这步已直接跨越;第二个阶段,要解决成本问题。比如单 QPS(每秒查询推理响应速度:Query Per Second)成本,需求方一次查询需要花多少钱。

第三个阶段,就是 B 端用向量数据库的易用性,这需要腾讯云具有丰富的行业的 AI 应用经验。向量数据库,用于向量提供存储和检索,需求方要把非结构化数据(如一段文本变成向量),要把文本分段,分段之后要找到合理模型做 Embedding(向量)。

在 ML(机器学习)和 NLP 中,Embedding 是一个 N 维的实值向量,几乎可用于表达 / 描述任何形式,如文本、声音或视频等。实值的 Embedding 能描述单词语义,主要是因为 Embedding 向量能根据单词在语言上下文(Context)中出现的形式达成学习。

腾讯云向量数据库已在 QQ 浏览器、腾讯视频、腾讯游戏、QQ 音乐、搜狗输入法等 30+ 业务场景中得到应用。当前,腾讯云团队还处于满足需求的第三个阶段,重点是 " 围绕 AI 化提升产品整体的应用性 ",罗云说。

为什么 LLM 要用到向量搜索技术?

如果给定一个对象,在一个集合中找到与之最相似的对象的过程,就是向量搜索。文本或图片等内容,都能通过将其转换为向量的表示方式,进而将文本或图片的相似度问题转换为向量的相似度问题。

这里有个问题,就是 LLM 场景模型的上下文有个长度限制。比如,ChatGPT 3.5 上下文长度限制是 4k tokens。超出 Context 长度,ChatGPT 就会 " 失忆 ",影响交互结果(或称 Context Learning)的准确性。

但是,向量搜索拥有的能力之一,就是将超出上下文长度限制的文本划分成较短的组(Chunks),再将不同的组转换为 Embedding。这就相当于向量搜索拥有记忆能力。LLM 用向量数据库,就类似于有了一个外部大脑。通过 Embedding,能找到与提示(Prompt)最相关的信息。

从这个角度上说,向量数据库承担了 LLM 的 Context Learning 的记忆任务,从而提高了 GPT 的交互准确性。

此外,由于基于以 Transform 架构为基础的 LLM 的 AI 训练耗时长,成本高,因此就很难将最新的素材(数据)加入 LLM,这被称为 LLM 的时效限制。若终端用户又急需 LLM 数据做即时更新,这时向量数据库的作用就很显著。

LLM 的空间限制也很明显,比如 B 端用户的私域数据,不方便提供给 LLM 训练平台做高频集训。这时,B 端用户就能将私域数据放在向量数据库中,需要推理时,就临时取调给 LLM。这样做的好处是数据安全,而且训练效率高、成本低。

为什么能实现这一点?

因为向量数据库专门用于存储和查询向量数据,业界称之为大模型的 " 海马体 "。

腾讯云向量数据库最高支持 10 亿级向量检索规模,延迟控制在毫秒级,相比传统单机插件式数据库检索规模提升 10 倍,同时具备百万级每秒查询(QPS)的峰值能力。

将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式,能提升 10 倍效率。如将向量数据库作为外部知识库用于模型推理,则可降低 2-4 个数量级的成本。

关键词:

相关资讯
热门频道