使用Apache Spark和RAPIDS加速分布式随机森林训练

新知榜官方账号

2023-09-25 01:02:17

介绍

随机森林是一种机器学习算法,以其鲁棒性、准确性和可扩展性而受到许多数据科学家的信赖。该算法通过bootstrap聚合训练出多棵决策树,然后通过集成对输出进行预测。由于其集成特征的特点,随机森林是一种可以在分布式计算环境中实现的算法。树可以在集群中跨进程和机器并行训练,结果比使用单个进程的训练时间快得多。

在本文中,我们探索了使用Apache Spark在CPU机器集群上实现分布式随机森林训练,并将其与使用NVIDIARAPIDS和Dask的GPU机器集群上的训练性能进行了比较。虽然GPU计算传统上是为深度学习应用而保留的,但RAPIDS是一个在GPU上执行数据处理和非深度学习ML工作的库,与在cpu上执行相比,它可以大大提高性能。

实验概述

我们使用公共可用的纽约出租车数据集,并训练一个随机森林回归器,该回归器可以使用与乘客接送相关的属性来预测出租车的票价金额。以2017年、2018年和2019年的出租车出行量为训练集,共计300700143个实例。

Spark在20个节点CPU集群上耗时37分钟,而RAPIDS在20个节点GPU集群上耗时1秒。GPU的速度提高了2000倍以上!

代码

Spark集群使用AmazonEMR进行管理,而Dask/RAPIDS集群则使用SaturnCloud进行管理。以下是使用Spark和RAPIDS训练随机森林的代码:

(代码已省略)

结论

Spark和RAPIDS都有各自的优点,在不同的场景下可以使用不同的框架。在进行大规模数据训练时,使用RAPIDS的GPU集群可以大大提高性能,加快模型训练时间,提高数据科学家的工作效率。

本页网址:https://www.xinzhibang.net/article_detail-13494.html

寻求报道,请 点击这里 微信扫码咨询

关键词

随机森林 机器学习 Apache Spark RAPIDS GPU 分布式计算

分享至微信: 微信扫码阅读

相关工具

相关文章