Skip to main content
QUICK REVIEW

[论文解读] Breadth-first, Depth-next Training of Random Forests

Andreea Anghel, Nikolas Ioannou|arXiv (Cornell University)|Oct 15, 2019
Machine Learning and Data Classification参考文献 16被引用 4
一句话总结

本文提出了一种针对现代多核CPU的随机森林(Random Forests)优化混合广度优先搜索与深度优先搜索(BFS-DFS)树构建算法。通过根据运行时条件动态切换BFS与DFS模式,并应用低层级系统优化(如缓存友好的内存布局、显式预取和减少堆内存分配),该算法在最先进RF求解器(scikit-learn、H2O、xgboost)基础上实现了平均7.8倍的加速,某些工作负载下最高可达100倍加速。

ABSTRACT

In this paper we analyze, evaluate, and improve the performance of training Random Forest (RF) models on modern CPU architectures. An exact, state-of-the-art binary decision tree building algorithm is used as the basis of this study. Firstly, we investigate the trade-offs between using different tree building algorithms, namely breadth-first-search (BFS) and depth-search-first (DFS). We design a novel, dynamic, hybrid BFS-DFS algorithm and demonstrate that it performs better than both BFS and DFS, and is more robust in the presence of workloads with different characteristics. Secondly, we identify CPU performance bottlenecks when generating trees using this approach, and propose optimizations to alleviate them. The proposed hybrid tree building algorithm for RF is implemented in the Snap Machine Learning framework, and speeds up the training of RFs by 7.8x on average when compared to state-of-the-art RF solvers (sklearn, H2O, and xgboost) on a range of datasets, RF configurations, and multi-core CPU architectures.

研究动机与目标

  • 通过分析和优化树构建算法,提升现代多核CPU架构上随机森林训练的性能。
  • 研究广度优先搜索(BFS)与深度优先搜索(DFS)树构建在内存访问模式与缓存效率方面的权衡。
  • 设计一种混合树构建算法,能够根据工作负载和硬件特性动态选择BFS或DFS模式。
  • 识别并解决RF训练中的系统级性能瓶颈,包括内存访问模式和动态内存分配开销。
  • 在Snap机器学习框架中实现并评估所提出的优化,以获得真实世界性能提升。

提出的方法

  • 设计一种动态混合BFS-DFS算法,根据运行时工作负载特征和性能启发式规则,在广度优先与深度优先遍历之间切换。
  • 在共享内存中实现一个单一的只读预排序矩阵,供森林中所有树复用,以分摊排序成本。
  • 通过重新组织数据结构和提升空间局部性,优化内存访问模式,使其更符合CPU缓存特性。
  • 采用显式硬件预取技术,隐藏内存延迟并提升指令级并行性。
  • 通过重用内存池并最小化树构建过程中的堆内存分配,减少动态内存分配开销。
  • 将优化后的树构建流水线集成到Snap机器学习框架中,实现端到端评估。

实验结果

研究问题

  • RQ1在现代多核CPU上,BFS与DFS树构建策略在性能和缓存效率方面有何差异?
  • RQ2混合BFS-DFS算法能否根据工作负载动态自适应,并优于纯BFS与DFS策略?
  • RQ3哪些系统级瓶颈限制了现代CPU上高性能随机森林训练?
  • RQ4低层级优化(如缓存感知内存布局和预取)能在多大程度上提升训练吞吐量?
  • RQ5与最先进求解器相比,所提出的混合算法在多样化数据集、随机森林配置和CPU架构下的表现如何?

主要发现

  • 混合BFS-DFS算法通过动态适应工作负载特征,优于纯BFS与DFS策略,展现出更优的鲁棒性与性能。
  • 在多个数据集和CPU架构上,所提实现相较scikit-learn、H2O和xgboost平均实现7.8倍加速。
  • 在IBM Power9系统上,某些配置下加速比最高达100倍,尤其在100棵树的大型集成中表现显著。
  • 当树的数量为100时,在Power9系统上相较H2O实现33.3倍加速,在x86系统上实现15.2倍加速,表明性能随集成规模增强而显著提升。
  • 系统级优化——包括缓存友好的内存布局、显式预取和减少堆分配——共同对性能提升有显著贡献。
  • 所有框架的测试准确率保持一致,证实性能提升未损害模型泛化能力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。