UMAP不再等全部算完:GPUMAP在消费级GPU上边插入边出图,百万点数据可提前查看
核心概要
GPUMAP把UMAP的降维流程拆成插入、更新、嵌入三类可交错执行的操作,在消费级GPU上边算边给出中间投影,使百万点规模的数据不必等全部计算结束才能查看。在HIGGS的500万点数据上,顺序执行的RAPIDS UMAP要到50.4秒才给出第一张投影,GPUMAP在8.42秒就产出可检查的中间结果并持续细化;代价是总运行时间约为顺序执行的1.6倍。
深度剖析
降维工具UMAP现在可以在计算尚未结束时先给出可查看的投影,并随着新数据点插入不断细化,而不必等邻接图和嵌入优化全部完成。 此前的UMAP实现要么在全部计算完成后才输出投影,要么虽用GPU加速但仍保持顺序执行;已有的渐进式降维方法主要在数万点规模、CPU实现上验证,百万点规模的可扩展性未被考察。 在HIGGS的500万点数据上,顺序执行的RAPIDS UMAP在50.4秒完成全部计算后才给出第一张投影,GPUMAP在8.42秒即产出中间投影并持续更新。
渐进执行把UMAP拆成插入、更新、嵌入三类原子操作,分别由CPU上的队列管理,并按批交给GPU并行执行。 插入操作只从最近插入的点池和已插入点中各取一半候选来初始化邻居,避免早期点主导图结构;更新操作只对邻居表发生变化的点做局部连接,跳过已比较过的旧-旧点对。 在EMNIST Digits(28万点)上,GPUMAP在数十秒内把归一化保真度和最终召回率提升到接近参考水平,而CPU实现的Progressive UMAP在长得多的累计运行时间后仍明显更低。
启示与展望
演示范围是单GPU、消费级硬件上的UMAP渐进执行,数据集从数十万到数百万点,涵盖图像、表格、基因组和文本数据;实验不计入客户端渲染与数据传输开销。
时间预算与总运行时间之间没有观察到明确关系,5秒预算在LAION上使中间投影保真度波动更大;偏置插入顺序下早期投影会出现短暂的簇分裂,随后才逐步收敛。
