Page 137 - 《软件学报》2026年第3期
P. 137

1100                                                       软件学报  2026  年第  37  卷第  3  期


                  4.2.2    相似数据邻居数量的结果与分析
                    本节针对批量插入相似向量引发的连接稀疏化问题, 通过对比优化前后平均邻居连接数指标的变化, 验证了
                 本文方法对向量邻居关系具有较好的修复能力. 实验基于                   GIST1M、Enron  和  MSong  数据集, 表  3  为索引邻居关
                 系的分析结果 (相似数据占比为          1%–5%), 实验结果表明, 所有数据集均显著改善, 相似节点的邻居的连接密度和
                 邻居质量均有所提升, MSong       数据集提升最显著.

                                                表 3 相似向量邻居数量的变化

                                            Batch平均邻居      Opt平均邻居      Batch邻居数量较小       Opt邻居数量较小
                    数据集        索引参数
                                                数量            数量         向量的占比 (%)         向量的占比 (%)
                   GIST1M     M=24, efC=64      6.4           7.7             60               59
                    Enron     M=24, efC=64      9.0           9.7             53               48
                    MSong    M=48, efC=100      4.6           12.1           95.7              78.5

                    在  GIST1M  和  Enron  数据集上, 相似向量的平均邻居数量分别为          6.4  和  9.0, 优化方法将其提升至   7.7  和  9.7.
                 在  MSong  数据集上, Batch  场景下  HNSW  的平均连接数仅为     4.6, 而本文方法将其提升至       12.1, 同时, Batch  场景下
                 邻居数量较小向量的占比高达           95.7%, 本文方法将其降低至       78.5%, 低连接的向量数量大大降低. 因此, 本文提出
                 的双重剪枝策略, 通过剪枝优化方法和保留枢纽向量, 不仅可以提高邻居的基础数量, 而且有助于保留关键连接
                 边  (枢纽向量) 以提高邻居质量, 即使在大量相似数据积累的负载 (相似数据占比为                       5%) 下, 仍能维持较高的图连
                 通性. 这将有效地缓解图结构的拓扑稀疏化问题, 进而提升检索的召回率.
                  4.3   开销与效率评估
                    本节进一步评估了索引的构建开销和计算效率. 实验对比了                     Batch  和  Opt 两个场景下  HNSW  索引的构建时
                 间和查询时间/查询吞吐量 (QPS) 两个关键指标.
                    ● 索引构建时间. 表     4  展示了原方法与本文优化方法在索引构建时的平均耗时情况, 为精确度量构建的开销,
                 索引使用单线程方式构建. 本文方法会引入额外的计算成本, 在构建阶段会增加少量的计算时间. 实验结果表明,
                 在所有数据集中, 本文方法与原          HNSW  索引的构建时间均保持在同一水平. 例如, 在            GIST1M  数据集上, 平均构建
                 时间均为   98 s; 在高维向量   Enron (1 369  维) 上, 平均构建时间仅增加   4.2 s.

                                                     表 4 索引构建开销

                                  数据集          索引参数         Batch构建时间 (s)     Opt构建时间 (s)
                                 GIST1M      M=24, efC=64        98.4             98.5
                                  Enron      M=24, efC=64        97.8             102
                                  MSong      M=48, efC=100       78.6             80.4

                    参数  M  与  efConstruction  会显著影响索引的构建时间. 当采用更大的参数 (如         M=48, efC=200) 时, 其邻居数量
                 和搜索范围均会扩大, 其构建时间也相应地增加. 但本文方法的目标是优化邻居关系, 在高参数配置下, 索引的邻
                 居关系已经得到了改善, 因此额外计算成本也会相应地减少, 所以, 本文方法的计算开销不会因较大索引参数带来
                 的基础构建开销的增加而产生明显的增长.
                    上述观测结果符合理论预期: 本文方法的额外开销主要是对少量枢纽节点执行邻居选择策略, 在全流程中均
                 摊的计算开销较低, 最终实现以计算时间换取查询精度的显著提升.
                    ● 查询执行时长/查询吞吐量 (QPS). 在       Batch 和  Opt 场景下, 表  5 和表  6 分别展示了在不同查询参数 (efSearch
                 和  top-K) 下, 索引的检索效率. 其中, efSearch  为查询时动态候选集的大小, top-K        为结果集的数量. 表      5  和表  6  中
                 的检索时间为: 在对应场景下, 执行查询集的总检索时长, 查询集的大小为                     1k.
                    实验数据显示, 在检索       GIST1M  和  Enron  向量索引时, 本文方法的检索时长会降低, 索引的           QPS  得到了提升.
                 本文方法中的双重剪枝策略和保留枢纽向量可以改善邻居关系, 从而减少搜索步长, 达到提升召回率和搜索最优
                 邻居的目的. 本文方法在应用到          MSong  数据集时, 增加了较多的邻居数量 (如表          3  所示), 这使得查询搜索的候选
                 向量增多, 因此增加了搜索的开销.
   132   133   134   135   136   137   138   139   140   141   142