辅以专家洞察分析的最新科技新闻
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
向量数据库可提供推动生成式人工智能 (AI) 用例和应用程序所需的速度和性能,因此越来越受欢迎。根据 Gartner 的预测,到 2026 年,将有 30% 以上的企业采用向量数据库,以便通过相关业务数据来构建自己的基础模型。1
不同于采用行和列的传统关系数据库,向量数据库中的数据点由具有固定维数的向量来表示。由于向量数据库使用高维向量嵌入,因此能够更好地处理非结构化数据集。
数据的本质已发生深刻变化。它不再局限于可轻松存储在传统数据库中的结构化信息。非结构化数据(包括社交媒体帖子、图片、视频、音频剪辑等)同比增长 30% 至 60%。2
关系数据库擅长管理特定格式的结构化和半结构化数据集。将非结构化数据源加载到传统的关系数据库中,以便存储、管理人工智能 (AI) 的数据,并为其做好准备,此过程往往极其费力,尤其当其涉及相似性搜索等新兴生成式用例时。
传统搜索通常使用离散标记或特征(例如关键字、标签或元数据)来表示数据。传统搜索依赖精确匹配来检索相关结果。例如,搜索“智能手机”会返回包含单词“智能手机”一词的结果。
与此相反,向量搜索将数据表示为密集向量,即大多数或所有元素都非零的向量。向量在连续向量空间中表示,连续向量空间是将数据表示为向量的数学空间。
向量表示能够实现相似性搜索。例如,“智能手机”的向量搜索也可能返回“手机”和“移动设备”的结果。
密集向量的每个维度对应数据的潜在特征或方面。潜在特征是一种无法直接观察到但可以通过数学模型或算法从数据中推断出来的隐含特征或属性。
潜在特征可以采集数据中隐藏的模式和关系,从而在高维空间中将项目更有意义、更准确地表示为向量。
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
向量是 张量 的子集,在机器学习 (ML) 中,张量是 n 维空间中一组数字或一个数字组分组的总称。张量是数据的数学记账工具。从最小的元素开始:
向量数字可以表示机器学习模型生成的复杂对象,例如单词、图片、视频和音频。这种包含多个特征的高维向量数据对于机器学习、自然语言处理 (NLP) 和其他 AI 任务至关重要。向量数据的一些示例用途包括:
理解矢量数据库的运作,关键在于两个核心概念:矢量,以数值形式描述数据;以及矢量嵌入,将非结构化内容转换为能捕捉含义与上下文的高维表示。
矢量是张量的一个子集。在机器学习 (ML) 中,张量是 n 维空间中一组数字(或多组数字的组合)的通用术语。张量充当数据的数学簿记工具。从最小的元素开始:
换句话说,矢量是将数字组织成结构化形式的一种方式。但对于 AI 系统来说,要处理非结构化信息,必须将这些数据转换为数值数组。这种转换是通过矢量嵌入来实现的。
矢量嵌入是数据点的数值表示形式,它将各种类型的数据(包括文本和图像)转换为机器学习模型可以处理的数字数组。
为了实现这一点,嵌入模型学习如何将输入数据映射到一个高维矢量空间。该矢量空间反映了通过特定任务的损失函数学习到的模式,损失函数用于量化预测误差。随后,下游的 AI 模型(例如深度学习中使用的人工神经网络)即可利用矢量嵌入来执行分类、检索或聚类等任务。
考虑一个小型的单词语料库,其中的词嵌入被表示为三维矢量:
在这个例子中,每个单词(“cat”)都与一个唯一的矢量([0.2, -0.4, 0.7])相关联。矢量中的值代表了该单词在一个三维矢量空间中的位置。具有相似含义或上下文的单词,其矢量表示预计也会相似。“cat”和“dog”的矢量会彼此接近,反映了它们的语义关系。
类似地,单词“car”和“vehicle”含义相同但拼写不同。对于 AI 应用来执行语义搜索,“car”和“vehicle”的矢量表示必须捕捉到它们共享的含义。矢量嵌入以数值形式编码了这种含义,使其成为推荐引擎、聊天机器人和生成式应用(如 OpenAI 的 ChatGPT)的支柱。
向量嵌入是数据点的数字表示,可将各种类型的数据(包括非数学数据,如单词、音频或图像)转换为机器学习模型可处理的数字数组。
人工智能 (AI) 模型,从简单的线性回归算法到深度学习中使用的复杂神经网络,都是通过数学逻辑运行的。
AI 模型使用的任何数据,包括非结构化数据,都需要用数字记录下来。向量嵌入是一种将非结构化数据点转换为表达该数据原始含义的数字数组的方法。
下方是一个非常小的语料库(2 个单词)的词嵌入简版示例,其中每个单词都表示为一个 3 维向量:
在此示例中,每个词语(“猫”) 都与一个唯一的向量([0.2,-0.4,0.7])相关联。向量中的值表示词语在连续的三维向量空间中的位置。
具有相似含义或上下文的单词应具有相似的向量表示。例如“猫”和“狗”的向量靠得很近,反映了它们的语义关系。
嵌入模型经过训练,可将数据点转换为向量。向量数据库存储这些嵌入模型的输出结果并编制索引。在数据库中,几乎任何数据类型的向量都可以根据语义含义或特征分组或识别为对立面。
向量嵌入是推荐、聊天机器人和 ChatGPT 等生成式应用程序的核心元素。
以“汽车”和“车辆”这两个词为例。它们的意思相似,但拼写不同。为使 AI 应用程序能实现有效的语义搜索,“汽车”和“车辆”的向量表示必须采集其语义相似之处。在机器学习方面,嵌入表示用于对此语义信息进行编码的高维向量。
向量数据库在 AI 和 ML 应用程序中具有三大功能:
在运行过程中,向量数据库通过使用多种算法来进行近似最近邻 (ANN) 搜索。然后,这些算法被汇集到一个管道中,以快速准确地检索和提供与被查询向量相邻的数据。
例如,ANN 搜索可以在电子商务目录中查找视觉上相似的产品。其他用途包括异常检测、分类和语义搜索。由于数据集只需在模型中运行一次,因此结果可在几毫秒内返回。
向量数据库可存储嵌入模型算法的输出,即向量嵌入。它们还存储每个向量的元数据,包括标题、描述和数据类型,可通过元数据过滤器进行查询。
通过摄取和存储这些嵌入,该数据库可促进相似性搜索的快速检索,从而将用户的提示与相似的向量嵌入进行匹配。
需要对向量编制索引,以加快在高维数据空间内的搜索速度。向量数据库可对向量嵌入创建索引,以实现搜索功能。
向量数据库使用机器学习算法为向量编制索引。索引编制操作会将向量映射到新的数据结构,从而实现更快的相似性搜索或距离搜索,例如,不同向量之间的最近邻搜索。
可以使用分层导航小世界 (HNSW)、局部敏感散列 (LSH) 或乘积量化 (PQ) 等算法对向量编制索引。
查询向量是搜索查询的向量表示。当用户查询或提示 AI 模型时,该模型会计算查询或提示的嵌入。然后,数据库会计算查询向量与索引中存储的向量之间的距离,以返回相似的结果。
数据库可以通过最近邻搜索等各种算法来测量向量之间的距离。测量还可以基于各种相似指标,例如余弦相似度。
数据库会根据相似度排序,返回与查询向量最相似的向量或最近邻向量。此类计算支持各种机器学习任务,例如推荐系统、语义搜索、图像识别和其他自然语言处理任务。
向量数据库是支持基于 AI 的企业应用程序的一种流行方式,因为它们可以带来诸多优势:
组织在选择向量数据库功能时有多种选项。为了找到一个满足其数据和 AI 需求的解决方案,许多组织都在考虑:
有几种备选方案可供选择。
向量数据库不应被视为独立功能,而应被视为更宏观的数据与 AI 生态系统的其中一部分。
很多此类工具提供 API、本机扩展,还可与数据库集成。由于建立向量数据库是为了使用企业数据来增强模型,因此,各组织还必须具有适当的数据治理能力并做好安全措施,以帮助确保用于训练大语言模型 (LLM) 的数据是可信的。
除了 API 之外,许多向量数据库还使用特定于编程语言的软件开发工具包 (SDK),这些工具包可以与 API 相结合。使用 SDK,开发人员通常可在其应用程序中更轻松地处理数据。
使用向量存储和索引非常适合基于事实或基于事实查询的应用程序,例如从复杂文档中提取特定信息。
不过,要求提供主题摘要与向量索引并不匹配。在这种情况下,LLM 会研究数据中有关该主题的所有可能的不同上下文。
更快的方法是使用另一种索引,例如列表索引而不是向量索引,因为列表索引会立即获取每个列表中的第一个元素。
为了优化向量数据库开发,LangChain 是一个用于开发使用 LLM 的应用程序的开源编排框架。
LangChain 的工具和 API 在基于 Python 和 JavaScript 的库中均可用,简化了构建聊天机器人和虚拟代理等 LLM 驱动型应用程序的过程。LangChain 为超过 25 种不同的嵌入方法和超过 50 种不同的向量存储(包括云托管和本地存储)提供集成。
为了支持企业级 AI,数据湖仓一体可以与集成的向量数据库搭配使用。组织可以统一、管理和准备用于其生成式 AI 应用程序的向量化嵌入,这些嵌入可在其受信任且已治理的数据中进行大规模使用。这增强了他们 AI 工作负载的相关性和准确性,包括聊天机器人、个性化推荐系统和图像相似性搜索应用。
向量数据库的应用范围十分广泛且在不断增多。其中部分关键用例包括:
检索增强生成 (RAG) 是一种 AI 框架,可支持大型语言模型 (LLM) 从外部知识库中检索事实。向量数据库是支持 RAG 实施的关键。
企业越来越青睐在生成式 AI 工作流程中使用 RAG,因为它能加快产品上市速度、提高推理效率和输出可靠性。该框架尤其适用于客户服务、人力资源和人才管理等用例。
RAG 有助于确保模型与最新、最可靠的事实相联系,并确保用户可以访问模型的来源,以便其声明能够得到验证。将 LLM 锚定在可信数据中有助于减少模型幻觉。
RAG 使用高维向量数据来丰富提示语的语义相关信息,以便通过基础模型进行上下文学习。RAG 在推理阶段也需要有效的存储和检索,而该阶段所处理的数据量也是最大的。
向量数据库擅长对这些高维向量进行高效索引、存储和检索,从而提供推荐引擎和聊天机器人等应用所需的速度、精度和规模。
AI 和 ML 工程师将嵌入模型投入运营,并管理 RAG 及其他推理工作负载的检索逻辑。他们依赖矢量数据库来实现低延迟查找和嵌入版本管理。
向量数据库使用各种索引技术来加快搜索速度。向量索引和距离计算算法(例如最近邻搜索)有助于优化在拥有数百万(甚至数十亿)数据点的大型数据集中搜索相关结果时的性能。
一个考量因素是,向量数据库提供的是近似结果。需要更高准确性的应用程序可能需要使用不同类型的数据库,但处理速度会变慢。
向量数据库,尤其是用于实施 RAG 框架的向量数据库,可以提高虚拟代理高效、准确地解析相关知识库的能力,从而有助于改善虚拟代理的交互。代理可以为用户查询提供实时的上下文答案,并提供源文件和页码以供参考。
运营和网站可靠性工程 (SRE) 团队监控性能,确保矢量查询满足延迟、吞吐量和可用性要求。
高管评估矢量数据库如何支持企业 AI 战略。他们关注成本效率、治理、风险管理以及矢量能力如何与现有运营模式集成。
组织在选择向量数据库功能时有多种选择。为了找到一个满足其数据和 AI 需求的解决方案,许多组织都在考虑:
组织可以从几种选项中进行选择,包括:
运行矢量工作负载的一个新兴选择是无服务器矢量数据库。无服务器设计消除了管理或配置基础设施的需要,使团队能够专注于嵌入生成和应用程序开发,而不是集群运维。容量可以根据查询量和数据大小自动扩展,帮助团队在不进行性能调优的情况下处理不可预测的工作负载。
无服务器矢量数据库特别适用于快速原型开发、事件驱动型 AI 应用以及将成本控制和运维简易性作为优先事项的开发环境。
例如,电子商务网站可以使用向量来表示客户偏好和产品属性。如此一来,这些站点便可根据向量相似性来推荐与过去所购商品类似的商品,从而增强用户体验并提升保留率。
这种搜索技术用于在大型集合中发现类似的项目或数据点,通常以向量表示。向量搜索可以捕捉元素之间的语义关系,支持机器学习模型和人工智能应用程序进行有效处理。
这些搜索可以采取多种形式。
设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。
watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。
通过 IBM® Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。
1 Gartner 创新洞察:向量数据库,Gartner,2023 年 9 月 4 日。
2 2024 年存储战略路线图,Gartner,2024 年 5 月 27 日。