丁磊
11月 01, 2024 11:49
RAPIDS cuML 使用 GPU 加速引入了更快、可扩展的 UMAP 实现,通过新算法解决大型数据集处理中的挑战,以提高性能。
RAPIDS cuML 的最新进展有望在统一流形近似和投影 (UMAP) 的处理速度和可扩展性方面实现重大飞跃,UMAP 是一种流行的降维算法,用于生物信息学和自然语言处理等各个领域。正如 Jinsol Park 在 NVIDIA 开发者博客上详细介绍的那样,这些增强功能利用 GPU 加速来应对大型数据集处理的挑战。
应对 UMAP 的挑战
传统上,UMAP 的性能瓶颈是构建全邻图,随着数据集大小的增长,这一过程变得越来越耗时。最初, RAPIDS cuML 使用蛮力方法来构建图形,虽然方法详尽,但可扩展性较差。随着数据集大小的扩大,此阶段所需的时间呈二次方增加,通常占据总处理时间的 99% 或更多。
此外,要求整个数据集适合 GPU 内存也带来了额外的障碍,尤其是在处理超过消费级 GPU 内存容量的数据集时。
采用 NN-Descent 的创新解决方案
RAPIDS cuML 24.10 通过新的批量近似最近邻 (ANN) 算法解决了这些挑战。这种方法利用了 RAPIDS cuVS 库中的最近邻下降( NN-descent )算法,该算法通过减少所需的距离计算次数来有效地构建全邻图,从而比传统方法提供了显着的速度提升。
批处理的引入进一步增强了可扩展性,允许分段处理大型数据集。此方法不仅可以容纳超过 GPU 内存限制的数据集,还可以保持 UMAP 嵌入的准确性。
显著的性能提升
基准测试结果证明了这些增强功能的深远影响。例如,包含 2000 万个点和 384 个维度的数据集的加速提高了 311 倍,将 GPU 处理时间从 10 小时缩短到仅 2 分钟。这种实质性改进是在不影响 UMAP 嵌入质量的情况下实现的,一致的可信度分数证明了这一点。
无需更改代码的实现
RAPIDS cuML 24.10 更新的突出特点之一是它的易用性。用户可以利用性能改进,而无需更改现有代码。UMAP 估算器现在为那些寻求对图形构建过程进行更大控制的用户提供了额外的参数,允许用户指定算法并调整设置以获得最佳性能。
总体而言, RAPIDS cuML 在 UMAP 处理方面的进步标志着数据科学领域的一个重要里程碑,使研究人员和开发人员能够在 GPU 上更高效地处理更大的数据集。
图片来源: Shutterstock