GPRat:基于异步任务的高斯过程回归
机器学习
2025-05-02 v1 人工智能
分布式、并行与集群计算
摘要
Python 是人工智能软件开发的事实标准语言。常用的库,如 PyTorch 和 TensorFlow,依赖其 BLAS 后端内置的并行化来实现 CPU 上的加速。然而,仅在低级后端中应用并行化可能导致性能和扩展性降级。在本工作中,我们提出了一种新颖的方法,通过 pybind11 将基于异步运行时模型 HPX 的任务级 C++ 代码绑定到高级 Python API。我们开发了一个并行高斯过程 (GP) 库作为实际应用。最终得到的 Python 库 GPRat 将常用 GP 库的易用性与异步运行时系统的性能和可扩展性相结合。我们在一个来自控制论标准基准——质量-弹簧-阻尼系统上进行评估,测试不同特征数量 (regressor) 的情况。结果表明,使用 pybind11 绑定异步 HPX 代码几乎没有绑定开销。相较于 GPyTorch 和 GPflow,GPRat 在 AMD EPYC 7742 CPU 上最多 64 核上表现出优异的扩展性。此外,我们的库在预测方面相较于 GPyTorch 快 7.63 倍,相较于 GPflow 快 25.25 倍。当特征数量从 8 增加到 128 时,分别实现了 29.62 和 21.19 倍的加速。这些结果展示了在 Python 基于 AI 应用中使用异步任务的潜力。
引用
@article{arxiv.2505.00136,
title = {GPRat: Gaussian Process Regression with Asynchronous Tasks},
author = {Maksim Helmann and Alexander Strack and Dirk Pflüger},
journal= {arXiv preprint arXiv:2505.00136},
year = {2025}
}
备注
13 pages, 7 figures