译者 | 布加迪
审校 | 重楼
由于预训练的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。
由于向量数据库可以扩展AI模型的功能,企业和组织可以将向量数据库用于各种应用,包括如下:
- 搜索引擎:有时,人们在查询时不知道使用哪些关键字。向量数据库可以通过分析上下文,并检索与查询相关性最强的最接近的关键字,帮助系统理解您的查询。
- 推荐系统:鉴于向量数据库在存储和检索数据方面非常有效,并结合大型语言模型和记忆力,AI系统可能会逐渐了解人们的喜好。然后,应用程序可以自动查询这些信息,推荐某人可能感兴趣的各种产品。
- 图像和视频分析:就视频和图像嵌入模型而言,AI模型可进行微调,以便辅以图像,查找与查询相似的内容。目前,许多在线购物应用程序和网站都在实施这一功能。
- 异常检测:通过将动作记录为嵌入,AI模型可以基于常态来检测异常和某些异常值,从而提高安全性。AI异常检测现在是一种用于欺诈检测、系统监控和网络入侵的流行工具。
向量数据库的工作原理
从生成向量嵌入到从向量数据库查询数据,您的数据经历了三个步骤:
1. 向量嵌入的创建:基于数据类型,向量嵌入模型用来生成有待索引的向量嵌入。这些嵌入模型将文字、图像、视频和音频转换成数字/嵌入。
2. 索引:一旦向量嵌入已生成,它们现在可以存储在Pinecone、Milvus和Chroma之类的向量数据库上。这些向量数据库使用各种算法,比如产品量化(PQ)和位置敏感散列(LSH),对每个嵌入进行索引,以便快速有效地存储和检索数据。
3. 查询:当应用程序发出查询时,该查询必须先经过用于生成存储在向量数据库上的数据的同一个向量嵌入模型。生成的向量查询随后被放到向量数据库上,然后检索最接近的向量作为最合适的查询结果。
流行的向量数据库
随着公开可用的预训练模型呈爆炸式增长,向量数据库随着这些模型的功能增加和微调速度而迅速流行起来。由于用户对向量数据库的需求很大,许多公司已经开发了自己的向量数据库服务,下面是一些最受欢迎的向量数据库:
- Pinecone:一种为快速相似度搜索而设计的云原生向量数据库。它具有高可扩展性、分析能力和实时洞察力,非常适合推荐系统和图像搜索。
- Milvus:一种着眼于相似度搜索和AI应用的开源向量平台。它为高维向量提供了快速有效的索引和搜索功能。此外,Milvus支持多种索引算法,并为各种编程语言提供SDK。
- Redis:一种高性能向量数据库,能够支持实时应用程序、会话管理和高流量网站。Redis经常用于实时分析、相似度搜索和推荐系统。
- Weaviate:提供模式发现、实时更新、语义搜索和数据上下文化。由于这些功能,Weaviate经常被用来为应用程序创建个性化的体验系统。
向量数据库的未来
由于图像、视频和文本等高维数据类型不断增多,向量数据库将在改进和扩展当前AI模型的功能方面发挥至关重要的作用。通过向量数据库的不断发展,我们有望在医疗、金融、电子商务和网络安全等领域获得更好的服务。
如果您想亲自体验和尝试向量数据库,可以尝试安装Auto-GPT,并实现像Pinecone这样的向量数据库。当然,您需要API密钥才能使用其服务。
原文标题:What Is a Vector Database, and How Do They Boost AI?,作者:Jayric Maning