前言
在今年三月结束的 NVIDIA GTC Keynote (英伟达 GPU 技术大会)中,黄仁勋首次提及向量数据库(Vector Database),他强调了对于构建专有大型语言模型的组织而言,向量数据库至关重要,让人们将目光聚焦在了这一全新的概念之上。今天我们就来谈谈向量数据库的概念。
“我们将推出一个新的库,即 RAFT,用于加速索引、数据加载和近邻检索。我们正在将 RAFT 的加速引入到 Meta 的开源 FAISS AI 相似性搜索,超过 1000 家组织使用的 Milvus 开源向量数据库以及 Docker 镜像下载次数超过 40 亿次的 Redis。对于构建专有大型语言模型的组织而言,向量数据库至关重要。”黄仁勋表示
什么是向量/矢量数据库
在数学中,我们对向量的定义是有大小和方向的量,可以使用带箭头的线段表示,箭头指向即为向量的方向,线段的长度表示向量的大小。
而向量数据库(Vector Database),在某些地方我们也称之它为矢量数据库(以下均称向量数据库)1顾名思义是用来存储和处理向量数据的数据库系统。
嵌入模型
可能会有很多人好奇为什么一个储存向量的数据库会与人工智能联系紧密?这里我们就要引入一个新的概念——嵌入模型。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。嵌入模型将所有类型的数据编码为向量,以捕获资产的含义和上下文。
嵌入模型是一种将高维数据映射到低维空间的技术,它可以将数据表示为低维向量,从而更好地进行数据分析和处理
基于GNN的动态图模型和KGE都是嵌入模型的应用。其中,基于GNN的动态图模型可以将图的动态演化信息保留在低维嵌入中,从而更好地对图进行建模和分析。
知识图谱嵌入(KGE)是一种利用监督学习来学习嵌入以及节点和边的向量表示的模型。它们将“知识”投射到一个连续的低维空间,这些低维空间向量一般只有几百个维度(用来表示知识存储的内存效率)。向量空间中,每个点代表一个概念,每个点在空间中的位置具有语义意义。
图像、文本和音视频这种非结构化数据都可以通过某种变换或者嵌入学习转化为向量数据存储到向量数据库中,从而实现对图像、文本和音视频的相似性搜索和检索。这意味着您可以使用向量数据库根据语义或上下文含义查找最相似或相关的数据,而不是使用基于精确匹配或预定义标准查询数据库的传统方法。
使用向量数据库的优势
我们都知道评判一个数据库的优劣往往是通过其对数据的处理能力来进行判断。
与传统数据库的对比
数据的搜索方面:向量数据库使用相似性搜索,可以快速找到与查询向量最接近的向量。
在数据容量方面:因为向量数据通常比文本和结构化数据更紧凑占用更少的存储空间,所以相比于传统数据库,向量数据库可以支持更大的数据容量,
其他方面
在对数据处理的准确性方面:向量数据库支持基于向量距离的相似性搜索,可以更准确地匹配查询向量和目标向量之间的相似度。
更好的数据可视化:向量数据库可以将数据向量转换为低维空间的点或者图形进行可视化,帮助用户更好地理解数据的关系和分布。
更好的扩展性:向量数据库采用分布式架构,可以轻松地扩展到多个节点,以满足高并发的查询需求。
AWS 如何支持您的矢量数据库需求?
Amazon Web Services(AWS)针对您的矢量数据库要求提供了一系列服务
Amazon OpenSearch Service
由亚马逊提供的全托管搜索和分析服务。是一个开源的搜索和分析引擎,是 ElasticSearch 项目的一个分支。它支持在大规模数据集上进行实时搜索、近实时搜索、文本搜索和复杂的分析操作。OpenSearch Service 可以快速扩展以支持数百万次查询和分析请求,并提供高可用性和可扩展性。
Amazon Aurora PostgreSQL-Compatible Edition和Amazon Relational Database Service (Amazon RDS) for PostgreSQL
Amazon Aurora PostgreSQL-Compatible Edition是一种高性能、可扩展的数据库引擎,它是AWS自主开发的,与传统的PostgreSQL数据库引擎不同。它是兼容PostgreSQL的,因此可以与PostgreSQL应用程序无缝集成。它具有快速数据副本和快速恢复功能,以及自适应容量和自动故障转移功能,这使它成为大型、高吞吐量应用程序的理想选择。
Amazon RDS for PostgreSQL是一种基于传统PostgreSQL数据库引擎的托管式数据库服务。它提供了与常规PostgreSQL数据库相同的功能和API,但可以自动扩展、备份和维护。它也很容易使用,可以通过AWS管理控制台轻松配置和管理数据库实例。
Amazon Neptune ML
Amazon Neptune ML 是 AWS Neptune 的一个扩展功能,它使用户能够在 Neptune 图形数据库中使用机器学习功能,包括自动图形分类、预测和生成。这使得 Neptune 更容易地学习和推理图形数据,从而更好地支持应用程序、搜索引擎和推荐系统等业务场景。
- 关于是向量数据库还是矢量数据库的问题因为翻译的缘故网络上没有明确的标准,但在百度百科的官方介绍中并未提及矢量数据库的概念 ↩︎