译者 | 布加迪
审校 | 重楼
由于预训练的 AI 模型 唾手可得 , 向量数据库 重新焕发了生机。虽然 向量数据库 概念已存在了几十年,但直到现在,在大型语言模型 (LLM)盛行 的 这个 时代, 向量数据库 才能充分发挥潜力。
向量数据库 在推荐系统、图像相似度搜索、异常检测、人脸检测和自然语言处理等应用 领域特别 有用。那么, 向量数据库 到底是什么 ? 它是如何工作的 ? 何时应该使用 它 来增强 AI 的能力 ?
向量数据库 的定义
向量数据库 是一种通过使用 向 量来存储信息的方法。与将数据组织 成 表格列表的 平常 数据库不同, 向量数据库 通过高维 向 量组织数据。这些 向 量 随后 可以在数学空间中表示为 向 量嵌入 (vector embeddings)。
向量数据库 之所以 很重要, 是由于它 们包含这些 向 量嵌入,并提供索引、距离度量和基于 向 量嵌入的相似 度 搜索等功能。
向量数据库 是很容易与预训练模型集成的服务,其中许多需要 API 密钥才能访问服务。
向量嵌入的定义
简单地说, 向量 嵌入 (简称 嵌入 ) 是主题或单词的数字表示。 比如说 ,二维嵌入可能看起来像 “ 2 , -3 ”, 其中 2 表示沿 x 轴的正方向上的 2 个单位,而 -3 表示沿 y 轴的负 方向上的3 个单位。三维嵌入看起来像 “ 2 , - 3 , 5 ” ,其中 5表示沿 z 轴正方向的 5 个单位。
拥有更多的维度可以提供更多的上下文来了解 某个 数据应该是什么 样 。 向量数据库 中 所 使用的维 度 数 量就 自然语言处理 而言常常在1 00 个 到 300 个,就 计算机视觉 而言常常是数百个 。
向量 嵌入的生成需要使用 向量 嵌入模型和工具, 比如 BERT 、 CNN 和 RNN。
为什么向量嵌入很重要?
向量嵌入 能够 在数学空间绘制数据位置使计算机能够理解数据点之间的关系以及它们彼此之间的相关性有多强。通过了解每个数据点之间的关联程度, AI模型就能够 像人类一样 结合 上下文理解查询。
如果不理解语义或上下文, AI 可能会提供逻辑正确但上下文错误的答案。 比如说,AI可能 会将 “H e 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. 查询 : 当应用程序发出查询时,该查询必须先经过用于 生成存储 在 向量数据库 上的 数据的 同一个 向量 嵌入模型。生成的 向量 查询 随后被 放 到 向量数据库 上, 然后检索最接近的 向量 作为最 合适的 查询 结果。
流行的向量数据库
随着公开可用的预训练模型 呈 爆炸式增长, 向量数据库 随着这些模型的功能 增加 和微调速度 而迅速 流行起来。由于 用户 对 向量数据库 的需求 很大 ,许多公司已经 开发 了自己的 向量数据库 服务 , 下面是一些最受欢迎的 向量数据库 :
- P inecone : 一种为 快速相似度搜索而设计的云原生 向量数据库 。它具有高可扩展性、分析能力和实时洞察力,非常适合推荐系统和图像搜索。
- 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