什么是向量数据库?

微笑的商人坐在电脑桌旁使用智能手机

作者

Jim Holdsworth

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

什么是向量数据库?

向量数据库可存储、管理高维向量数据并为其编制索引。数据点以称为“向量”的数组形式存储,并根据相似性对其进行聚类。这种设计可实现低延迟查询,使其成为 AI 应用程序的理想选择。

向量数据库可提供推动生成式人工智能 (AI) 用例和应用程序所需的速度和性能,因此越来越受欢迎。根据 Gartner 的预测,到 2026 年,将有 30% 以上的企业采用向量数据库,以便通过相关业务数据来构建自己的基础模型。1

向量数据库与传统数据库的对比

不同于采用行和列的传统关系数据库,向量数据库中的数据点由具有固定维数的向量来表示。由于向量数据库使用高维向量嵌入,因此能够更好地处理非结构化数据集。

数据的本质已发生深刻变化。它不再局限于可轻松存储在传统数据库中的结构化信息。非结构化数据(包括社交媒体帖子、图片、视频、音频剪辑等)同比增长 30% 至 60%。2

关系数据库擅长管理特定格式的结构化和半结构化数据集。将非结构化数据源加载到传统的关系数据库中,以便存储、管理人工智能 (AI) 的数据,并为其做好准备,此过程往往极其费力,尤其当其涉及相似性搜索等新兴生成式用例时。

传统搜索通常使用离散标记或特征(例如关键字、标签或元数据)来表示数据。传统搜索依赖精确匹配来检索相关结果。例如,搜索“智能手机”会返回包含单词“智能手机”一词的结果。

与此相反,向量搜索将数据表示为密集向量,即大多数或所有元素都非零的向量。向量在连续向量空间中表示,连续向量空间是将数据表示为向量的数学空间。

向量表示能够实现相似性搜索。例如,“智能手机”的向量搜索也可能返回“手机”和“移动设备”的结果。

密集向量的每个维度对应数据的潜在特征或方面。潜在特征是一种无法直接观察到但可以通过数学模型或算法从数据中推断出来的隐含特征或属性。

潜在特征可以采集数据中隐藏的模式和关系,从而在高维空间中将项目更有意义、更准确地表示为向量。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

什么是向量?

向量是 张量 的子集,在机器学习 (ML) 中,张量是 n 维空间中一组数字或一个数字组分组的总称。张量是数据的数学记账工具。从最小的元素开始:

  • 标量 是一种零维张量,包含一个数字。例如,对天气数据进行建模的系统可能会将单日的最高气温(华氏度)标量形式表示为 85

  • 然后,向量是一维(或一次一阶)张量,包含相同类型数据的多个 标量。例如,天气模型可能以向量形式使用一天的最低、平均和最高温度:62、77、85。每个标量组件是向量的一个特征(即一个维度),代表当天天气的一个特征。

向量数字可以表示机器学习模型生成的复杂对象,例如单词、图片、视频和音频。这种包含多个特征的高维向量数据对于机器学习、自然语言处理 (NLP) 和其他 AI 任务至关重要。向量数据的一些示例用途包括:

  • 文本:聊天机器人需要理解自然语言。它们依靠表示词语、段落和整个文档的向量来实现这一目标。

  • 图像:图像像素可以用数字数据来描述,然后组合成该图像的高维向量。

  • 语音或音频:与图像一样,声波也可以分解为数字数据并表示为向量,从而支持语音识别等 AI 应用程序。
Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

什么是向量嵌入?

向量嵌入是数据点的数字表示,可将各种类型的数据(包括非数学数据,如单词、音频或图像)转换为机器学习模型可处理的数字数组。

人工智能 (AI) 模型,从简单的线性回归算法到深度学习中使用的复杂神经网络,都是通过数学逻辑运行的。

AI 模型使用的任何数据,包括非结构化数据,都需要用数字记录下来。向量嵌入是一种将非结构化数据点转换为表达该数据原始含义的数字数组的方法。

下方是一个非常小的语料库(2 个单词)的词嵌入简版示例,其中每个单词都表示为一个 3 维向量:

  • 猫 [0.2, -0.4, 0.7]
  • dog [0.6, 0.1, 0.5]

在此示例中,每个词语(“猫”) 都与一个唯一的向量([0.2,-0.4,0.7])相关联。向量中的值表示词语在连续的三维向量空间中的位置。

具有相似含义或上下文的单词应具有相似的向量表示。例如“猫”和“狗”的向量靠得很近,反映了它们的语义关系。

嵌入模型经过训练,可将数据点转换为向量。向量数据库存储这些嵌入模型的输出结果并编制索引。在数据库中,几乎任何数据类型的向量都可以根据语义含义或特征分组或识别为对立面。

向量嵌入是推荐、聊天机器人和 ChatGPT 等生成式应用程序的核心元素。

以“汽车”和“车辆”这两个词为例。它们的意思相似,但拼写不同。为使 AI 应用程序能实现有效的语义搜索,“汽车”和“车辆”的向量表示必须采集其语义相似之处。在机器学习方面,嵌入表示用于对此语义信息进行编码的高维向量。

如何使用向量数据库?

向量数据库在 AI 和 ML 应用程序中具有三大功能:

  • 向量存储
  • 向量索引创建
  • 基于查询或提示的相似性搜索

在运行过程中,向量数据库通过使用多种算法来进行近似最近邻 (ANN) 搜索。然后,这些算法被汇集到一个管道中,以快速准确地检索和提供与被查询向量相邻的数据。

例如,ANN 搜索可以在电子商务目录中查找视觉上相似的产品。其他用途包括异常检测、分类和语义搜索。由于数据集只需在模型中运行一次,因此结果可在几毫秒内返回。

向量数据库可存储嵌入模型算法的输出,即向量嵌入。它们还存储每个向量的元数据,包括标题、描述和数据类型,可通过元数据过滤器进行查询。

通过摄取和存储这些嵌入,该数据库可促进相似性搜索的快速检索,从而将用户的提示与相似的向量嵌入进行匹配。

向量存储

向量索引创建

需要对向量编制索引,以加快在高维数据空间内的搜索速度。向量数据库可对向量嵌入创建索引,以实现搜索功能。

向量数据库使用机器学习算法为向量编制索引。索引编制操作会将向量映射到新的数据结构,从而实现更快的相似性搜索或距离搜索,例如,不同向量之间的最近邻搜索。

可以使用分层导航小世界 (HNSW)、局部敏感散列 (LSH) 或乘积量化 (PQ) 等算法对向量编制索引。

  • HNSW 能形成树状结构,因此很受欢迎。树的每个节点都显示了一组向量,每个向量中都有层次结构。向量之间的相似性在节点之间的边缘显示。

  • LSH 通过近似最近邻搜索为内容编制索引。为了提高速度,可以通过返回近似但非穷尽的结果来优化索引。

  • PQ 可将每个数据集转换为简短、节省内存的表示形式。只存储简短表示,而不是所有向量。

基于查询或提示的相似性搜索

查询向量是搜索查询的向量表示。当用户查询或提示 AI 模型时,该模型会计算查询或提示的嵌入。然后,数据库会计算查询向量与索引中存储的向量之间的距离,以返回相似的结果。

数据库可以通过最近邻搜索等各种算法来测量向量之间的距离。测量还可以基于各种相似指标,例如余弦相似度。

数据库会根据相似度排序,返回与查询向量最相似的向量或最近邻向量。此类计算支持各种机器学习任务,例如推荐系统、语义搜索、图像识别和其他自然语言处理任务。

向量数据库的好处

向量数据库是支持基于 AI 的企业应用程序的一种流行方式,因为它们可以带来诸多优势:

  • 速度和性能
  • 可扩展性
  • 降低拥有成本
  • 数据管理
  • 灵活性
速度和性能

向量数据库使用各种索引技术来加快搜索速度。向量索引和距离计算算法(例如最近邻搜索)有助于优化在拥有数百万(甚至数十亿)数据点的大型数据集中搜索相关结果时的性能。

一个考量因素是,向量数据库提供的是近似结果。需要更高准确性的应用程序可能需要使用不同类型的数据库,但处理速度会变慢。

可扩展性

向量数据库可通过水平扩展和额外节点来存储和管理海量非结构化数据,并在查询需求和数据量上升时保持稳定的性能。

降低拥有成本

由于向量数据库可以加快数据检索速度,因此可以加快基础模型的训练。

数据管理

向量数据库通常提供内置功能,可轻松更新和插入新的非结构化数据。

灵活性

建立向量数据库是为了处理使用图像、视频或其他多维数据所增加的复杂性。

鉴于从语义搜索到对话式 AI 应用程序的多种用例,向量数据库可以根据业务和 AI 需求进行定制。各组织可以从通用模型(例如 IBM Granite 系列模型、Meta 的 Llama-2 或 Google 的 Flan 模型)入手,然后在向量数据库中提供自己的数据,以改进模型和 AI 应用程序的输出。

向量数据库和数据战略的注意事项

组织在选择向量数据库功能时有多种选项。为了找到一个满足其数据和 AI 需求的解决方案,许多组织都在考虑:

  • 向量数据库的类型
  • 与数据生态系统相集成
  • 当向量索引创建并非最优选择时
  • 用于创建和部署向量数据库的工具

向量数据库的类型

有几种备选方案可供选择。

  • 独立、专有、完全向量化的数据库,例如 Pinecone。

  • Weaviate 或 Milvus 等开源解决方案提供内置 RESTful API,并支持 PythonJava 编程语言。

  • 集成有向量数据库功能的数据湖仓一体,例如 IBM watsonx.data

  • 向量数据库和数据库搜索扩展,如 PostgreSQL 的开源 pgvector 扩展,它可提供向量相似性搜索功能。SQL 向量数据库可将传统 SQL 数据库的优势与向量数据库的强大功能结合起来。

与数据生态系统整合

向量数据库不应被视为独立功能,而应被视为更宏观的数据与 AI 生态系统的其中一部分。

很多此类工具提供 API、本机扩展,还可与数据库集成。由于建立向量数据库是为了使用企业数据来增强模型,因此,各组织还必须具有适当的数据治理能力并做好安全措施,以帮助确保用于训练大语言模型 (LLM) 的数据是可信的。

除了 API 之外,许多向量数据库还使用特定于编程语言的软件开发工具包 (SDK),这些工具包可以与 API 相结合。使用 SDK,开发人员通常可在其应用程序中更轻松地处理数据。

当向量索引创建并非最优选择时

使用向量存储和索引非常适合基于事实或基于事实查询的应用程序,例如从复杂文档中提取特定信息。

不过,要求提供主题摘要与向量索引并不匹配。在这种情况下,LLM 会研究数据中有关该主题的所有可能的不同上下文。

更快的方法是使用另一种索引,例如列表索引而不是向量索引,因为列表索引会立即获取每个列表中的第一个元素。

创建和部署向量数据库的工具

为了优化向量数据库开发,LangChain 是一个用于开发使用 LLM 的应用程序的开源编排框架。

LangChain 的工具和 API 在基于 Python 和 JavaScript 的库中均可用,简化了构建聊天机器人和虚拟代理等 LLM 驱动型应用程序的过程。LangChain 为超过 25 种不同的嵌入方法和超过 50 种不同的向量存储(包括云托管和本地存储)提供集成。

为了支持企业级 AI,数据湖仓一体可以与集成的向量数据库搭配使用。组织可以统一、管理和准备用于其生成式 AI 应用程序的向量化嵌入,这些嵌入可在其受信任且已治理的数据中进行大规模使用。这增强了他们 AI 工作负载的相关性和准确性,包括聊天机器人、个性化推荐系统和图像相似性搜索应用。

向量数据库用例

向量数据库的应用范围十分广泛且在不断增多。其中部分关键用例包括:

  • 检索增强生成 (RAG)
  • 会话式 AI
  • 推荐引擎
  • 向量搜索

检索增强生成 (RAG)

检索增强生成 (RAG) 是一种 AI 框架,可支持大型语言模型 (LLM) 从外部知识库中检索事实。向量数据库是支持 RAG 实施的关键。

企业越来越青睐在生成式 AI 工作流程中使用 RAG,因为它能加快产品上市速度、提高推理效率和输出可靠性。该框架尤其适用于客户服务、人力资源和人才管理等用例。

RAG 有助于确保模型与最新、最可靠的事实相联系,并确保用户可以访问模型的来源,以便其声明能够得到验证。将 LLM 锚定在可信数据中有助于减少模型幻觉。

RAG 使用高维向量数据来丰富提示语的语义相关信息,以便通过基础模型进行上下文学习。RAG 在推理阶段也需要有效的存储和检索,而该阶段所处理的数据量也是最大的。

向量数据库擅长对这些高维向量进行高效索引、存储和检索,从而提供推荐引擎和聊天机器人等应用所需的速度、精度和规模。

会话式 AI

向量数据库,尤其是用于实施 RAG 框架的向量数据库,可以提高虚拟代理高效、准确地解析相关知识库的能力,从而有助于改善虚拟代理的交互。代理可以为用户查询提供实时的上下文答案,并提供源文件和页码以供参考。

推荐引擎

例如,电子商务网站可以使用向量来表示客户偏好和产品属性。如此一来,这些站点便可根据向量相似性来推荐与过去所购商品类似的商品,从而增强用户体验并提升保留率。

向量搜索

这种搜索技术用于在大型集合中发现类似的项目或数据点,通常以向量表示。向量搜索可以捕捉元素之间的语义关系,支持机器学习模型和人工智能应用程序进行有效处理。

这些搜索可以采取多种形式。

  • 语义搜索:根据查询的含义或上下文进行搜索,从而获得更精确、更相关的结果。由于词语和短语都可以表示为向量,因此,语义向量搜索功能比一般关键字更能理解用户意图。

  • 相似性搜索和应用:查找相似的图像、音频、视频或文本数据,以支持高级图像和语音识别以及自然语言处理。可以根据相似性对图像和视频进行索引和检索。
相关解决方案
IBM® watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解人工智能解决方案
人工智能 (AI) 咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示
脚注

1 Gartner 创新洞察:向量数据库Gartner,2023 年 9 月 4 日。

2 2024 年存储战略路线图Gartner,2024 年 5 月 27 日。