译者 | 布加迪
审校 | 重楼
由于预训练的AI模型唾手可得,向量数据库重新焕发了生机。虽然向量数据库概念已存在了几十年,但直到现在,在大型语言模型(LLM)盛行的这个时代,向量数据库才能充分发挥潜力。
向量数据库在推荐系统、图像相似度搜索、异常检测、人脸检测和自然语言处理等应用领域特别有用。那么,向量数据库到底是什么?它是如何工作的?何时应该使用它来增强AI的能力?
向量数据库是一种通过使用向量来存储信息的方法。与将数据组织成表格列表的平常数据库不同,向量数据库通过高维向量组织数据。这些向量随后可以在数学空间中表示为向量嵌入(vector embeddings)。
向量数据库之所以很重要,是由于它们包含这些向量嵌入,并提供索引、距离度量和基于向量嵌入的相似度搜索等功能。
向量数据库是很容易与预训练模型集成的服务,其中许多需要API密钥才能访问服务。
简单地说,向量嵌入(简称嵌入)是主题或单词的数字表示。比如说,二维嵌入可能看起来像“2,-3”,其中2表示沿x轴的正方向上的2个单位,而-3表示沿y轴的负方向上的3个单位。三维嵌入看起来像“2,- 3,5”,其中5表示沿z轴正方向的5个单位。
拥有更多的维度可以提供更多的上下文来了解某个数据应该是什么样。向量数据库中所使用的维度数量就自然语言处理而言常常在100个到300个,就计算机视觉而言常常是数百个。
向量嵌入的生成需要使用向量嵌入模型和工具,比如BERT、CNN和RNN。
向量嵌入能够在数学空间绘制数据位置使计算机能够理解数据点之间的关系以及它们彼此之间的相关性有多强。通过了解每个数据点之间的关联程度,AI模型就能够像人类一样结合上下文理解查询。
如果不理解语义或上下文,AI可能会提供逻辑正确但上下文错误的答案。比如说,AI可能会将“He had a heavy heart as He walked away”这句话误解为一个患有心脏病的人,而不是一个感到悲伤或沉重的人。
向量嵌入是训练各类AI模型的重要组成部分。拥有一个可以存储、索引和查询向量嵌入的专门数据库对于最大限度地发挥使用向量嵌入的好处必不可少。此外,向量数据库作为一种快速、可靠、可扩展的数据库,可以不断帮助发展和训练AI模型,从而提升您的AI。
由于向量数据库可以扩展AI模型的功能,企业和组织可以将向量数据库用于各种应用,包括如下:
从生成向量嵌入到从向量数据库查询数据,您的数据经历了三个步骤:
1. 向量嵌入的创建:基于数据类型,向量嵌入模型用来生成有待索引的向量嵌入。这些嵌入模型将文字、图像、视频和音频转换成数字/嵌入。
2. 索引:一旦向量嵌入已生成,它们现在可以存储在Pinecone、Milvus和Chroma之类的向量数据库上。这些向量数据库使用各种算法,比如产品量化(PQ)和位置敏感散列(LSH),对每个嵌入进行索引,以便快速有效地存储和检索数据。
3. 查询:当应用程序发出查询时,该查询必须先经过用于生成存储在向量数据库上的数据的同一个向量嵌入模型。生成的向量查询随后被放到向量数据库上,然后检索最接近的向量作为最合适的查询结果。
随着公开可用的预训练模型呈爆炸式增长,向量数据库随着这些模型的功能增加和微调速度而迅速流行起来。由于用户对向量数据库的需求很大,许多公司已经开发了自己的向量数据库服务,下面是一些最受欢迎的向量数据库:
由于图像、视频和文本等高维数据类型不断增多,向量数据库将在改进和扩展当前AI模型的功能方面发挥至关重要的作用。通过向量数据库的不断发展,我们有望在医疗、金融、电子商务和网络安全等领域获得更好的服务。
如果您想亲自体验和尝试向量数据库,可以尝试安装Auto-GPT,并实现像Pinecone这样的向量数据库。当然,您需要API密钥才能使用其服务。
原文标题:What Is a Vector Database, and How Do They Boost AI?,作者:Jayric Maning