主页 topics Vector Database 什么是矢量数据库?
探索 IBM 的矢量数据库解决方案 订阅 AI 最新消息
显示数据在基于云的环境中于不同安全服务器之间动态移动的插图
什么是矢量数据库?

矢量数据库旨在高效地存储、管理和索引海量高维矢量数据。

在为生成式人工智能 (AI) 用例和应用程序创造额外价值方面,用户对矢量数据库的兴趣正在迅速攀升。根据 Gartner 的预测,到 2026 年,将有 30% 以上的企业采用矢量数据库,以便通过相关业务数据来建立自己的基础模型。1

不同于采用行和列的传统关系数据库,向量数据库中的数据点由具有固定维数的向量来表示,而这些向量会按相似性进行聚集。此设计可实现低延迟查询,从而使其成为 AI 驱动式应用程序的理想之选。



如何选择合适的 AI 基础模型

使用此模型选择框架选择最合适的模型,同时平衡性能要求与成本、风险和部署需求。

相关内容

注册以获取有关 AI 数据存储的电子书

矢量数据库与传统数据库

时至今日,数据的本质已发生深刻变化。它不再局限于可轻松存储在传统数据库中的结构化信息。非结构化数据每年均会增长 30% 到 60%,其中涵盖社交媒体帖子、图像、视频、音频剪辑等。2通常,如果您想将非结构化数据源加载到传统的关系数据库中以便存储、管理 AI 以及为其做好准备,此流程往往极其费力且效率低下,尤其当其涉及相似性搜索等新兴生成式用例时。关系数据库非常适合管理采用特定格式的结构化与半结构化数据集,而向量数据库则最适合通过高维向量嵌入来实现的非结构化数据集。

什么是向量?

输入向量。向量是指由机器学习 (ML) 模型生成且可用于表示复杂对象(如单词或字、图像、视频和音频)的数字所构成的数组。高维向量数据对于机器学习、自然语言处理 (NLP) 和其他 AI 任务均至关重要。矢量数据的部分示例包括:

  • 文本:请回想一下您上次与聊天机器人互动时的情况。它们是如何理解自然语言的?它们依赖于可用于表示单词或字、段落以及整个文档的若干向量,而这些向量会通过机器学习算法进行转换。

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

  • 语音/音频:与图像一样,声波也可分解为数字数据并用矢量进行表示,从而实现语音识别等 AI 应用。

什么是向量嵌入?

您的组织需用于 AI 的非结构化数据集的数量只会继续增长,那您应当如何处理数以百万计的向量呢?此时,向量嵌入和向量数据库便可发挥作用。此类向量会在名为“嵌入”的连续多维空间中表示,而该空间由嵌入模型生成,且专用于将矢量数据转换为嵌入。矢量数据库可用于存储嵌入模型的输出,并为其创建索引。向量嵌入是指数据的数字表示,它会根据语义或几乎任意数据类型的相似特征对数据集进行分组。

以“汽车”和“车辆”这两个词为例。虽然二者拼写不同,但含义却相似。为使 AI 应用程序能实现有效的语义搜索,“汽车”和“车辆”的矢量表示必须捕获其语义相似之处。在机器学习方面,嵌入表示用于对此语义信息进行编码的高维向量。此类向量嵌入是推荐、聊天机器人和 ChatGPT 等生成式应用程序的核心元素。

向量数据库与图形数据库

知识图表示对象或事件等实体的网络,并可描绘它们之间的关系。图形数据库是一种适用于存储知识图信息并将其可视化为图形结构的数据库。图形数据库围绕用于表示已知实体及其之间复杂关系的节点和边来构建,而向量数据库则围绕高维向量来构建。因此,图形数据库更适合处理不同数据点之间的复杂关系,而矢量数据库则更适合处理不同形式的数据,例如图像或视频。

向量嵌入和向量数据库的工作原理

企业向量数据可输入到嵌入模型中,例如 IBM 的 watsonx.ai 模型或 Hugging Face(ibm.com 外部链接)。此类模型专用于通过将复杂的高维矢量数据转换为计算机可理解的数字形式,从而将数据转换为嵌入。这些嵌入表示分类和异常检测等 AI 任务中所用数据的若干属性。

矢量存储

向量数据库可存储嵌入模型算法的输出,即向量嵌入。此外,它们还会存储每个向量的元数据(可使用元数据筛选器进行查询)。通过摄取和存储这些嵌入,该数据库便可促进相似性搜索的快速检索,从而将用户的提示与相似的向量嵌入进行匹配。

向量索引创建

将数据存储为嵌入式数据还不够。还需为向量创建索引以加快搜索流程。矢量数据库可对矢量嵌入创建索引,以实现搜索功能。向量数据库使用机器学习算法来为向量创建索引。索引创建操作会将向量映射到新的数据结构,从而实现更快的相似性搜索或距离搜索,例如不同向量之间的最近邻搜索。

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

向量查询操作可通过使用近邻搜索等算法来测量各向量间距离的计算来完成。此测量操作可基于该索引所使用的各种相似性指标(例如,余弦相似度),从而测量这些向量的相近或疏离程度。当用户查询或提示 AI 模型时,便会使用同一嵌入模型算法来计算嵌入。该数据库会计算距离,并在查询向量与此索引中所存储的向量之间执行相似性计算。而这些计算则会根据相似度排名返回最相似的向量或最近的邻居。此类计算支持各种机器学习任务,例如推荐系统、语义搜索、图像识别和其他自然语言处理任务。

矢量数据库和检索增强生成 (RAG)

如今,企业越来越喜欢在生成式 AI 工作流中使用检索增强生成 (RAG) 方法,以便缩短上市时间、实现高效的推理和可靠的输出,尤其是在客户服务和人力资源/人才等关键用例中。RAG 可确保此模型与最新、最可靠的事实相关联,且用户可访问该模型的来源,以便检查其声明的准确性。RAG 是我们将大型语言模型锚定到可信数据中从而减少模型幻觉能力的核心所在。此方法依赖于利用高维向量数据,以便用语义相关的信息来丰富提示,从而通过基础模型进行上下文学习。它要求在推理阶段进行有效的存储和检索,而该阶段所处理的数据量最大。向量数据库擅长对这些高维向量进行高效索引、存储和检索,从而提供推荐引擎和聊天机器人等应用所需的速度、精度和规模。

矢量数据库的优点

虽然我们能明显看到矢量数据库功能在增强企业基于 AI 的应用程序方面的关注度和采用率正快速增长,但以下优点也凸显出可为采用者带来的业务价值:

速度和性能:矢量数据库使用各种索引技术来实现更快的搜索。矢量索引以及距离计算算法(例如,最近邻搜索)对于在数百万(甚至数十亿)个数据点中搜索相关结果特别有用,并且具备优化后的性能。

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

拥有成本:较之从头开始训练基础模型或对其进行微调,矢量数据库是一个极具价值的替代方案。它可降低基础模型推理的成本并加快推理速度。

灵活性:无论您是拥有图像、视频还是其他多维数据,矢量数据库均可应对各种复杂情况。鉴于从语义搜索到对话式 AI 应用程序的多种用例,您可以定制矢量数据库的用法以满足自己的业务与 AI 需求。

LLM 的长期记忆:组织可先从通用模型开始使用,例如 IBM watsonx.ai 的 Granite 系列模型、Meta 的 Llama-2 或 Google 的 Flan 模型,然后在向量数据库中提供自己的数据来增强模型和 AI 应用程序(对检索增强生成至关重要)的输出。

数据管理组件:矢量数据库通常还提供内置功能,以便轻松更新和插入新的非结构化数据。

针对矢量数据库和数据战略的注意事项

在选择矢量数据库功能以满足企业的数据与 AI 需求时,有多个选项可供选择。

矢量数据库的类型

 

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

  • 独立的专有矢量数据库,例如 Pinecone
  • 开源解决方案(如 weaviate 或 milvus),它们可提供内置的 RESTful API 并支持 Python 和 Java 编程语言
  • 集成了矢量数据库功能的平台(即将登陆 IBM watsonx.data

  • 向量数据库/搜索扩展(如 PostgreSQL 的开源 pgvector 扩展),用以提供向量相似性搜索功能

与您的数据生态系统相集成

矢量数据库不应被视为独立功能,而应被视为更宏观的数据与 AI 生态系统的其中一部分。很多此类数据库可提供 API、本机扩展,或是可与您的数据库相集成。由于它们旨在利用您自己的企业数据来增强您的模型,因此还须具备适当的数据治理和安全性来确保为这些 LLM 提供支持的数据是可信的。

此时,可信数据基础便会在 AI 中发挥重要的作用,而这一切也始于您的数据以及在用于 AI 之前如何存储、管理和治理这些数据。其中涉及的核心是一个湖仓一体对象,而它是一个开放、混合且受治理的对象,例如 IBM watsonx.data。IBM watsonx.data 是 watsonx AI 数据平台的一部分,而该平台可无缝融入 data fabric 架构。例如,IBM watsonx.data 旨在访问、编目、治理和转换所有结构化、半结构化和非结构化的数据和元数据。然后,您可以利用这些已治理数据和 watsonx.data 的集成式矢量数据库功能(2023 年第 4 季度将推出技术预览版)来实现机器学习与生成式 AI 用例。

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

使用向量存储和索引非常适合基于事实的应用程序或是基于事实的查询的应用程序。例如,查询公司去年的法律条款,或从复杂的文档中提取特定信息。您可获得的检索上下文集将是那些通过嵌入距离在语义上与查询最为相似的上下文。但是,如果想获得主题摘要,此要求则并不适合矢量索引。在此情况下,您可能希望 LLM 能遍历数据中有关该主题的所有可能的不同上下文。此时,您可以使用另一种索引,例如列表索引而不是矢量索引,因为矢量索引只会获取最相关的数据。

矢量数据库的用例

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

语义搜索:根据某一查询的含义或上下文来执行搜索,从而获得更精确且相关的结果。由于不仅单词或字以及短语均可表示为向量,因此语义向量搜索功能比一般关键字更能理解用户意图。

相似性搜索和应用:轻松查找相似的图像、文本、音频或视频数据以便进行内容检索,其中包括图像与语音高级识别、自然语言处理等。

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

会话式 AI:通过增强高效、准确地解析相关知识库的能力来改善虚拟代理交互,从而为用户查询提供基于上下文的实时答案,以及可供参考的源文档和页码。

矢量数据库功能
watsonx.ai

新一代企业级开发平台,专供 AI 构建师训练、验证、调整和部署传统机器学习功能以及由基础模型提供支持的全新生成式 AI 功能。借助 watsonx.ai 中的 AI 任务(例如,检索增强生成),从各种内部或外部知识库来打造 Q&A 资源。

了解更多

watsonx.data

一种适合特定用途且基于开放式湖仓一体架构所构建的数据存储,它可随时随地为所有数据扩展 AI 工作负载。借助集成式矢量功能(计划于 2023 年第 4 季度提供技术预览版)在 watsonx.data 中存储、查询和搜索矢量嵌入。

了解更多

IBM Cloud Databases for PostgreSQL

我们的 PostgreSQL 数据库即服务产品有助于团队将更多时间用于轻松构建高可用性、备份编排、时间点恢复 (PITR) 和只读副本。PostgreSQL 提供 pgvector,而它是一个开源矢量扩展。该扩展可通过 IBM Cloud PostgreSQL 扩展(即将推出)进行配置,从而提供矢量相似性搜索功能。

了解更多
IBM Cloud Databases for Elasticsearch

我们的 Elasticsearch 数据库即服务产品附带全文搜索引擎,从而使其成为存储非结构化文本数据的理想场所。此外,Elasticsearch 还支持各种形式的语义(ibm.com 外部链接)相似性搜索。它支持用于精确最近邻搜索的密集向量(ibm.com 外部链接),同时还提供内置 AI 模型来计算稀疏向量以及执行高级相似性搜索(ibm.com 外部链接)。

了解更多
矢量数据库资源 基础模型和数据存储可释放生成式 AI 的潜力

正确利用生成式 AI 模型的组织可享受到无数优点,其中包括提高运营效率、改善决策以及快速创建营销内容。

IBM 开发的企业级 watsonx Granite 模型现已推出

IBM 宣布,watsonx Granite 模型系列的首批模型现已正式发布。它们是一组生成式 AI 模型,旨在推动生成式 AI 融入业务应用程序和工作流。

什么是检索增强生成?

RAG 是一个 AI 框架,它可用于从外部知识库检索事实,从而为 LLM 提供最准确、最新的信息,并让用户深入了解 LLM 的生成式流程。

采取后续步骤

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

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

1 Gartner 创新洞察分析:矢量数据库(ibm.com 外部链接,且需 Gartner 帐户才能访问),Gartner

2 Gartner 2022 年存储战略路线图(ibm.com 外部链接,且需 Gartner 帐户才能访问),Gartner