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

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


                 challenges  in  time  efficiency  and  scalability.  To  address  these  issues,  this  study  proposes  a  GPU-accelerated  clustering  algorithm  for  high-
                 dimensional  vector  data,  introducing  the  K-nearest  neighbor  (KNN)  graph  index  to  accelerate  DBSCAN.  First,  a  GPU-accelerated  parallel
                 KNN  graph  construction  algorithm  is  developed,  significantly  reducing  the  index  construction  overhead.  Furthermore,  to  enhance  the
                 pipeline  of  DBSCAN  and  achieve  highly  concurrent  vector  clustering,  a  K-means  tree  partitioning  algorithm  with  inter-layer  parallelism
                 and  a  parallel  clustering  algorithm  based  on  breadth-first  search  and  a  core  KNN  graph  are  designed.  Finally,  extensive  experiments  are
                 conducted  on  real-world  datasets,  and  the  proposed  method  is  compared  against  existing  approaches.  Experimental  results  show  that  the
                 proposed algorithm improves the efficiency of large-scale vector clustering by 5.7–2 822.5 times while maintaining clustering accuracy.
                 Key words:  density-based clustering; high-dimensional vector; GPU acceleration; parallel computing; K-nearest neighbor (KNN) graph

                    高维向量聚类是大规模向量数据分析的关键技术之一, 其通过将具有相似特征的向量划分至同一类别来揭示
                 数据分布的内在规律, 为异常检测、群体偏好识别和个性化推荐等数据分析任务提供技术支撑                                [1] . 基于密度的空
                                                                              [2]
                 间聚类算法    DBSCAN (density-based spatial clustering of applications with noise) 因其无须预先设定聚类数量、可
                 识别复杂簇结构及噪声点的优势, 已在自然语言处理                 [3,4] 、图像处理  [5,6] 、音频分析  [7] 、生物数据分析  [8,9] 等领域获
                 得广泛应用. 随着人工智能与大数据技术的迅速发展, 文本、图像等数据向量化后的维度普遍达到数百维                                   [10] . 同
                 时, 向量数据集的数据规模亦普遍达到百万以上               [11] . 然而, DBSCAN  作为基于密度的聚类算法, 在面临大规模高维
                 向量时存在计算效率低下的问题, 难以满足实际应用场景中的高效聚类需求                         [12] . 因此, 提高  DBSCAN  算法在面对
                 大规模高维向量时的计算效率成为亟待解决的重要课题.
                    DBSCAN  算法的计算开销主要来源于对每个数据对象的邻域计算                    [13,14] . 为了降低计算代价, 现有的方法多采
                 用基于树或网格的索引加速          DBSCAN  的邻域计算     [15–18] . 然而, 基于树或网格的索引结构在处理高维向量数据时
                 易受维度灾难的影响, 导致近邻查询性能显著下降                 [19,20] . 为了克服维度灾难带来的性能退化问题, 将近邻图结构
                    ε  近邻图  [21] 、K  近邻 (K-nearest neighbor, KNN) 图  [22] 、HNSW (hierarchical navigable small world graph,
                 (如
                 HNSW) [20] 等) 作为  DBSCAN  计算的索引结构已成为主流解决方案. 然而, 现有研究普遍基于                CPU  架构进行近邻
                 图构建以及    DBSCAN  聚类. 由于  CPU  少量核心导致的有限并行计算能力以及图索引构建较高的计算复杂度                       [20–22] ,
                 使其难以满足大规模高维向量的高效聚类需求                [23] .
                    为了提升大规模向量数据的聚类效率, 研究者们开始利用                   GPU  的强大并行能力加速       DBSCAN  算法  [24–27] . 将
                 数据点的邻域计算限定在子区域内部, 并行计算各数据点的近邻距离                       [28,29] , 从而避免了各数据点相对于数据集内
                                                      2
                 所有数据点的距离计算, 将时间复杂度降低至              O(n ) 以下. 然而, 在子区域划分过程中, 已有的基于         GPU  的  DBSCAN
                 算法受到高维空间维度灾难的影响. 此外, 现有的基于                GPU  的  DBSCAN  算法并不支持基于图的索引结构, 对高维
                 向量数据的聚类效率低下.
                    因此, 为了突破     GPU  加速的高维向量聚类的技术瓶颈, 需要解决以下              3  个核心挑战.
                    (1) 如何高效构建近邻图索引. 引入近邻图索引可显著减小                 DBSCAN  算法中的邻域计算代价, 且其对高维数
                 据的查询可保持较高的精度. 然而近邻图的构建需处理大规模距离计算与邻居列表的动态频繁更新. 现有的基于
                 CPU  的方法计算效率低, 而现有的基于          GPU  的方法仅将距离计算等操作转移至           GPU  设备, 邻居列表更新仍依赖
                 CPU  处理, 导致频繁的    PCIe 数据传输与同步开销.
                    (2) 如何高效划分大规模高维向量数据. K-means 树由于其简洁而高效的实现及不受维度灾难影响的特性而
                 成为对高维数据分区的流行方法            [30,31] . 然而, 随着分区粒度细化, 参与并行计算的数据点数量呈指数衰减, 致使
                 GPU  资源利用率降低, 造成资源利用与计算效率的双重恶化.
                    (3) 如何实现大规模高维向量的并行聚类. 在各分区的局部聚类阶段, 需设计基于                        K  近邻图的高效并行遍历
                 策略, 以实现局部簇计算. 此外, 在局部簇合并阶段, 现有方法依赖于重叠分区检测并涉及大量串行操作, 严重制约
                 了  GPU  的并行吞吐量, 产生较高的合并开销.
                    为了解决上述挑战, 本文针对高维向量提出了一种基于                 GPU  架构和  K  近邻图索引加速的     DBSCAN  算法  (KNN
                 graph-based and GPU-accelerated DBSCAN, KG-DBSCAN). 该算法首先利用  GPU  加速  K  近邻图索引的构建, 将
                 K  近邻图构建的全流程转移至         GPU, 并设计了偏好采样策略以加速近邻节点更新, 同时利用                  GPU  加速高维向量
   70   71   72   73   74   75   76   77   78   79   80