通用人工智能
现代生成式 AI 应用的向量数据库角色

对于大规模生成式 AI 应用来说,需要一个好的系统来处理大量数据。这样的一个重要系统就是向量数据库。这个数据库的特点是能够以数字/向量的形式处理多种类型的数据,如文本、声音、图片和视频。
什么是向量数据库?
向量数据库是一种专门设计的存储系统,用于高效地处理高维向量。这些向量可以被认为是多维空间中的点,通常代表更复杂数据(如图像、文本或声音)的嵌入或压缩表示。
向量数据库允许在这些向量中进行快速的相似性搜索,从而能够从大量数据集中快速检索最相似的项。
传统数据库与向量数据库
向量数据库:
- 处理高维数据: 向量数据库专门设计用于管理和存储高维空间中的数据。这对于机器学习应用尤其有用,因为数据点(如图像或文本)可以在多维空间中表示为向量。
- 优化相似性搜索: 向量数据库的一个突出特点是其能够执行相似性搜索。与根据精确匹配查询数据不同,这些数据库允许用户检索与给定查询“相似”的数据,使其在图像或文本检索等任务中变得无可替代。
- 可扩展性: 随着 AI 和机器学习应用的增长,它们处理的数据量也在增加。向量数据库的设计使其能够扩展,以确保在处理大量数据时不会损害性能。
传统数据库:
- 结构化数据存储: 传统数据库(如关系数据库)旨在存储结构化数据。这意味着数据被组织成预定义的表、行和列,以确保数据完整性和一致性。
- 优化 CRUD 操作: 传统数据库主要针对 CRUD 操作进行优化。这意味着它们旨在高效地创建、读取、更新和删除数据条目,使其适用于从 Web 服务到企业软件的广泛应用。
- 固定模式: 传统数据库的一个特征是其固定模式。一旦数据库结构被定义,修改它可能很复杂且耗时。这种刚性确保了数据一致性,但可能不如一些现代数据库的无模式或动态模式性质那么灵活。
传统数据库通常难以处理嵌入的复杂性,这是向量数据库可以轻松解决的挑战。
向量表示
向量数据库的核心概念是使用数字向量来表示多种形式的数据。让我们以图像为例。当你看到一张猫的图片时,对于我们来说它可能只是一个可爱的猫的图像,但对于机器来说,它可以被转换成一个独特的 512 维向量,如:
[0.23, 0.54, 0.32, …, 0.12, 0.45, 0.90]
使用向量数据库,生成式 AI 应用可以做更多的事情。它可以根据含义查找信息,并长时间记住事物。有趣的是,这种方法不仅限于图像。充满上下文和语义含义的文本数据也可以转换为向量形式。
生成式 AI 和向量数据库的需求
生成式 AI 通常涉及嵌入。例如,在自然语言处理(NLP)中,词嵌入。单词或句子被转换为捕捉语义含义的向量。当生成类似人类的文本时,模型需要快速比较和检索相关嵌入,以确保生成的文本保持上下文含义。
同样,在图像或声音生成中,嵌入在编码模式和特征方面起着至关重要的作用。为了使这些模型能够最佳地运行,它们需要一个允许瞬间检索相似向量的数据库,使向量数据库成为生成式 AI 之谜的必备组件。
通常,自然语言的嵌入是使用预训练模型创建的,例如:
- GPT-3 和 GPT-4: OpenAI 的 GPT-3(生成式预训练变换器 3)在 NLP 社区中是一个里程碑式的模型,拥有 175 亿参数。其后继者 GPT-4 拥有更多参数,继续推动生成高质量嵌入的边界。这些模型是在多样化的数据集上训练的,使其能够创建捕捉广泛语言细微差别的嵌入。
- BERT 和其变体: BERT(来自变换器的双向编码器表示)是谷歌的一个重要模型,已经有多个更新和变体,如 RoBERTa 和 DistillBERT。BERT 的双向训练方式,既从左到右又从右到左读取文本,特别擅长理解单词周围的上下文。
- ELECTRA: 一个最近的模型,效率高,性能与更大的模型如 GPT-3 和 BERT 相当,同时需要更少的计算资源。 ELECTRA 在预训练期间区分真实和虚假数据,有助于生成更精细的嵌入。
理解上述过程:
首先,使用嵌入模型将所需内容转换为向量嵌入。一旦生成,这些嵌入就会存储在向量数据库中。为了方便跟踪和相关性,这些存储的嵌入保持了与它们派生的原始内容的链接或引用。
稍后,当用户或系统向应用程序提出问题时,相同的嵌入模型会立即采取行动。它将此查询转换为相应的嵌入。然后,这些新形成的嵌入会搜索向量数据库,寻找相似的向量表示。被识别为匹配的嵌入与其原始内容直接关联,确保用户的查询以相关且准确的结果作出回应。
向量数据库新秀的增长资金
随着 AI 的日益流行,许多公司正在向向量数据库投入更多资金,以使其算法更好、更快。这可以从最近对向量数据库初创公司如 Pinecone、Chroma DB 和 Weviate 的投资中看出。
像 Microsoft 这样的大公司也拥有自己的工具。例如,Azure 认知搜索 允许企业使用向量数据库创建 AI 工具。
Oracle 最近宣布了其 Database 23c 的新功能,引入了集成向量数据库。名为“AI 向量搜索”,它将具有用于存储和搜索数据(如文档和图像)使用向量的新数据类型、索引和搜索工具。它支持 检索增强生成(RAG),它将大型语言模型与业务数据结合起来,以对语言问题提供更好的答案,而无需共享私有数据。
向量数据库的主要考虑因素
距离度量
相似性搜索的有效性取决于所选择的距离度量。常见的度量包括 欧几里得距离 和 余弦相似度,每种度量都适用于不同类型的向量分布。
索引
鉴于向量的高维性,传统的索引方法不适用。向量数据库使用诸如 分层导航小世界(HNSW) 图或 Annoy 树 之类的技术,允许高效地分割向量空间并进行快速的最近邻搜索。

Annoy 树(来源)
Annoy 是一种使用二叉搜索树的方法。它多次分割我们的数据空间,并且只查看其中的一部分来找到最近的邻居。

分层导航小世界(HNSW)图(来源)
另一方面,HNSW 图类似于网络。它们以特殊的方式连接数据点,以加快搜索速度。这些图有助于快速找到数据中的邻近点。
可扩展性
随着数据集的增长,维持快速检索时间的挑战也随之增长。分布式系统、GPU 加速和优化的内存管理是向量数据库解决可扩展性的几种方法。
向量数据库的角色:影响和机会
1. 切割边缘生成式 AI 模型的训练数据: 生成式 AI 模型(如 DALL-E 和 GPT-3)使用大量数据进行训练。这些数据通常由从各种来源(包括图像、文本、代码和其他领域)提取的向量组成。向量数据库精心策划和管理这些数据集,使 AI 模型能够通过识别这些向量中的模式和关系来吸收和分析世界的知识。
2. 推进少样本学习: 少样本学习是一种 AI 训练技术,模型使用有限的数据进行训练。向量数据库通过维护强大的向量索引来扩展这种方法。当模型仅暴露于少量向量(例如几张鸟的图片)时,它可以迅速推断出更广泛的概念(例如鸟),方法是识别这些向量之间的相似性和关系。
3. 提高推荐系统: 推荐系统使用向量数据库来建议与用户偏好密切相关的内容。通过分析用户的行为、个人资料和查询,提取出反映其兴趣的向量。然后系统扫描向量数据库以找到与这些兴趣向量密切相似的内容向量,从而确保推荐的准确性。
4. 语义信息检索: 传统的搜索方法依赖于精确的关键词匹配。然而,向量数据库使系统能够根据语义相似性理解和检索内容。这意味着搜索变得更加直观,专注于查询的底层含义,而不仅仅是匹配词语。例如,当用户输入查询时,相应的向量将与数据库中的向量进行比较,以找到与查询意图(而不仅仅是其措辞)相符的内容。
5. 多模态搜索: 多模态搜索 是一种整合多个来源的数据(如文本、图像、音频和视频)的新兴技术。向量数据库作为这种方法的骨干,允许对不同模态的向量进行综合分析。结果是整体的搜索体验,用户可以根据单个查询从多个来源检索信息,获得更丰富的见解和更全面的结果。
结论
AI 世界正在迅速变化。它影响了许多行业,带来了好处和新问题。生成式 AI 的快速进步凸显了向量数据库在管理和分析多维数据方面的重要作用。
这些专门的存储系统,擅长处理来自多种数据形式的高维向量,成为现代 AI 应用(尤其是在相似性搜索方面)高效运行的关键。
它们的重要性日益增长,这一点从流向该行业的投资中可以看出,像 Pinecone 这样的初创公司和像 Microsoft 这样的巨头都在积极为向量数据库的进步做出贡献。



