Accelerating the XGBoost algorithm using GPU computing

Accelerating the XGBoost algorithm using GPU computing
复制标题

DOI:
10.7717/peerj-cs.127
复制
发表时间:
2017-07-24
影响因子:
3.8
通讯作者:
Frank, Eibe
Frank, Eibe
中科院分区:
计算机科学4区
文献类型:
--
作者:
Mitchell, Rory;Frank, Eibe

文献摘要

被引文献

相似文献

我们在梯度增强库XGBoost中提出了一种基于cuda的决策树构建算法的实现。树形构造算法完全在图形处理单元(GPU)上执行,并且在各种数据集和设置(包括稀疏输入矩阵)下显示出高性能。单独的提升迭代是并行的,结合了两种方法。对于浅树,使用交错方法,对于深度较大的树,切换到更传统的基于基数排序的方法。我们展示了与4核i7 CPU相比,Titan x的速度提高了3到6倍,与2核Xeon CPU(24核)相比,Titan x的速度提高了1.2倍。我们表明,完全在GPU内存中处理希格斯数据集(1000万个实例,28个特征)是可能的。该算法作为XGBoost库中的插件提供,并完全支持所有XGBoost功能,包括分类、回归和排序任务。
We present a CUDA-based implementation of a decision tree construction algorithm within the gradient boosting library XGBoost. The tree construction algorithm is executed entirely on the graphics processing unit (GPU) and shows high performance with a variety of datasets and settings, including sparse input matrices. Individual boosting iterations are parallelised, combining two approaches. An interleaved approach is used for shallow trees, switching to a more conventional radix sort-based approach for larger depths. We show speedups of between 3 x and 6 x using a Titan X compared to a 4 core i7 CPU, and 1.2 x using a Titan X compared to 2 x Xeon CPUs (24 cores). We show that it is possible to process the Higgs dataset (10 million instances, 28 features) entirely within GPU memory. The algorithm is made available as a plug-in within the XGBoost library and fully supports all XGBoost features including classification, regression and ranking tasks.