当前位置: 首页> 房产> 家装 > 百度给做网站收费多少_电子商务简介_线上商城的推广方案_青岛网络优化哪家专业

百度给做网站收费多少_电子商务简介_线上商城的推广方案_青岛网络优化哪家专业

时间:2025/7/12 4:41:03来源:https://blog.csdn.net/wangyuqi1973/article/details/147552190 浏览次数:0次
百度给做网站收费多少_电子商务简介_线上商城的推广方案_青岛网络优化哪家专业

通过向量索引加速超大规模数据的相似度搜索

如果没有向量索引,许多现代AI应用将会变得极其缓慢。接下来将探讨索引如何显著加速向量相似度搜索,不同的索引类型,以及如何为您的机器学习应用选择合适的索引。

向量索引如何加速相似度搜索和机器学习?

相似度搜索引擎通过将输入与数据库进行比较来找到与输入最相似的对象。

索引是高效组织数据的过程,它通过显著加快大型数据集上的耗时查询,在使相似度搜索变得实用方面发挥着重要作用。

在对大规模向量数据集建立索引后,查询可以被路由到最有可能包含与输入查询相似向量的集群或数据子集。在实践中,这意味着牺牲一定程度的准确性来加速超大规模向量数据的查询。

这可以类比于字典,其中单词按字母顺序排序。在查找单词时,可以快速导航到仅包含具有相同首字母的单词的部分 - 大大加快了查找输入单词定义的过程。

ANNS

在处理高维数据时,最近邻搜索(NNS, Nearest Neighbor Search)是一个常见且重要的任务。
随着数据规模的增大,精确的最近邻检索通常会变得非常耗时和资源密集。因此,近似最近邻搜索(ANNS, Approximate Nearest Neighbor Search)应运而生。
在这里插入图片描述

不同类型的IVF索引及其适用场景

针对高维向量相似度搜索,有许多种索引设计,每种索引在性能、准确性和存储需求方面都有权衡。本文介绍几种常见的IVF索引类型,它们的优势和劣势,以及每种索引类型的性能测试结果。

FLAT索引

  • 核心原理:
    • 采用暴力搜索(brute-force),对每个查询向量与数据库中所有向量逐一计算距离,保证100%精确度。
  • 适用于:当需要100%召回率时搜索相对较小的数据集(百万级)
  • 特点:
    • 不压缩向量
    • 唯一可以保证精确搜索结果的索引
    • 采用穷举搜索方法
    • 速度最慢

IVF_FLAT索引

IVF_FLAT 是一种基于倒排的索引方法,广泛用于在大规模数据集上实现高效的近似最近邻搜索。它适用于在精度和查询速度之间寻求平衡的场景
在这里插入图片描述

  • 核心原理:

    1. 聚类原理
    • 采用 k-means 聚类算法将高维向量空间划分为多个子空间(簇)
    • 每个簇包含一组相似的向量
    • 每个簇都有一个代表向量(中心点)
    • 中心点通常是该簇内所有向量的平均值
    2. 倒排索引构建
    • 为每个簇建立倒排表索引
    • 每个向量被映射到其所属的簇
    • 建立向量到其所在簇的映射关系
    • 通过倒排索引可以快速定位向量所在的簇
    3. 查询处理流程
    1. 初始定位

      • 首先将查询向量分配到距离最近的簇中心
      • 快速确定最可能包含相似向量的子空间
    2. 精确搜索

      • 在定位到的簇内执行精确的线性搜索
      • 查找与查询向量最相似的向量
    3. 参数优化

      • 使用 nprobe 参数控制搜索的簇数量
      • nprobe 越大:
        • 搜索范围更广
        • 结果更精确
        • 查询时间更长
      • nprobe 越小:
        • 搜索范围更小
        • 查询速度更快
        • 可能损失部分精度
  • 特点:

    • 通过牺牲准确性来提高速度(反之亦然)
    • 使用ANN(近似最近邻)搜索
    • 将向量数据分为多个集群单元(nlist)
    • 可以通过调整nprobe来平衡准确性和速度
    • 不压缩向量数据

IVF_SQ8索引

在这里插入图片描述

1. 基本概念
  • IVF_SQ8 是 IVF_FLAT 的改进版本
  • 在 IVF_FLAT 基础上增加了标量量化(Scalar Quantization)
  • 通过量化技术显著降低存储和计算资源消耗(降低70%-75%)
2. 核心机制
  1. 标量量化

    • 将每个维度的 4 字节浮点数压缩为 1 字节整数
    • 示例:将 [0.0, 1.0] 范围的浮点数映射为 uint8 类型
    • 实现存储空间的显著节省
  2. 向量处理

    • 使用整数(如 uint8)表示量化后的向量
    • 大幅减少存储空间和计算量
    • 保持原始数据的分布特征
  3. 搜索流程

    • 继承 IVF_FLAT 的聚类方法(k-means)
    • 将向量空间分为多个簇
    • 使用量化后的向量进行存储和搜索
    • 查询时先定位簇,再在簇内快速搜索
3. 主要优势
  • 存储效率:比 IVF_FLAT 节省70%-75%的资源
  • 查询性能:计算量显著降低
  • 适用场景:适合大规模数据集的相似度搜索

IVF_PQ索引

倒排文件:

倒排文件是一种高效的索引结构,用于存储和检索向量。在IVF_PQ中,数据集中的每个向量被分配到一个或多个倒排表中,每个表包含了对应向量的标识符。查询时,我们首先在倒排文件中找到候选的向量集合,从而大大减少了搜索空间。倒排文件特别适合于高维空间,因为它允许我们仅搜索与查询向量相似的部分数据,而不是遍历整个数据集。

乘积量化(PQ):

在这里插入图片描述

乘积量化是一种将高维向量压缩为低维表示的技术。它通过将向量划分为多个子空间,并对每个子空间进行独立的量化,生成一个代码本(codebook)。这样,原始的高维向量可以由多个子空间的量化表示组合而成,从而降低存储需求并加速检索。

在IVF_PQ中,乘积量化应用于IVF的聚类过程。每个簇的中心点会被进一步量化,原始的查询向量和数据向量在计算距离时,不是直接与每个簇中心进行计算,而是与每个子空间的量化中心进行计算。这种方法不仅降低了存储开销,还减少了计算距离时的运算量。

核心原理:
  • 结合IVF聚类和乘积量化(Product Quantization),将向量分块后分别量化编码,极大压缩存储空间,适合超大规模数据集。
  • 特点:
    • 结合了IVF和乘积量化(Product Quantization)
    • 比IVF_SQ8提供更高的压缩率
    • 内存占用非常小
    • 搜索速度快
    • 准确率会有一定损失
    • 适合超大规模数据集
    • 参数:
      • nlist: 聚类单元数量
      • m: 向量被切分的子向量数量
      • nbits: 每个子向量的编码位数

HNSW索引

在这里插入图片描述

  • 核心原理:
    • 构建分层小世界图(Hierarchical Navigable Small World),每层为不同粒度的近邻图。查询时自顶向下逐层跳转,底层做局部最优搜索,极大提升高维检索效率。
  • 特点:
    • 基于图的索引方法
    • 搜索速度非常快
    • 构建索引时间较长
    • 内存占用较大
    • 适合需要高速搜索的在线服务
    • 参数:
      • M: 图中每个节点的最大边数
      • efConstruction: 构建索引时的搜索宽度
      • ef: 搜索时的候选集大小
        在这里插入图片描述

DISKANN索引

  • 核心原理:
    • 基于磁盘的高性能近邻图索引,将轻量级索引结构放在内存,原始数据和图结构存储在磁盘,兼顾高召回率、低延迟和极低内存消耗。
  • 特点:
    • 基于磁盘的图索引
    • 适合超大规模数据集
    • 内存占用极小
    • 支持SSD存储
    • 查询延迟稳定
    • 适合需要低内存消耗的场景

索引选择决策流程

怎么选择合适的索引,可以按照下面的流程进行选择:
可以参考:
在这里插入图片描述

1. 按数据规模选择

数据规模向量数量推荐索引说明
小规模<100万FLAT保证100%精确度,适合对精确度要求高的场景
小规模<100万HNSW高性能,适合需要快速响应的在线服务
中等规模100万-1亿IVF_FLAT平衡精度和性能,资源占用适中
中等规模100万-1亿IVF_SQ8较好的压缩率,适合资源受限场景
中等规模100万-1亿ANNOY构建快速,内存占用小,适合频繁更新的场景
大规模>1亿IVF_PQ超高压缩率,适合超大规模数据集
大规模>1亿DISKANN基于磁盘存储,适合内存受限的大规模场景

2. 按性能需求选择

性能需求推荐索引性能特点代价
100%精确FLAT保证精确结果速度最慢,资源消耗大
极低延迟HNSW查询速度极快建索引慢,内存占用大
高压缩率IVF_PQ超高压缩比精度损失较大
稀疏向量SPARSE_INVERTED_INDEX专门优化稀疏数据仅适用于稀疏向量
平衡性能IVF_FLAT精度和速度均衡资源占用中等

3. 按应用场景选择

应用场景推荐索引适用原因典型应用
在线服务HNSW查询延迟低,性能稳定实时搜索、推荐系统
在线服务IVF_FLAT精度好,延迟可控图像检索、相似度匹配
离线批处理IVF_SQ8资源消耗适中,吞吐量大数据分析、批量处理
离线批处理IVF_PQ处理超大规模数据集大规模数据挖掘
文本检索SPARSE_INVERTED_INDEX优化文本特征文本搜索、关键词匹配
混合搜索SPARSE_INVERTED_INDEX + 其他索引结合稠密和稀疏特征多模态搜索、复杂查询
关键字:百度给做网站收费多少_电子商务简介_线上商城的推广方案_青岛网络优化哪家专业

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: