Towards Efficient and Scalable Acceleration of Online Decision Tree Learning on FPGA

Decision trees are machine learning models commonly used in various application scenarios. In the era of big data, traditional decision tree induction algorithms are not suitable for learning large-scale datasets due to their stringent data storage requirement. Online decision tree learning algorithms have been devised to tackle this problem by concurrently training with incoming samples and providing inference results. However, even the most up-to-date online tree learning algorithms still suffer from either high memory usage or high computational intensity with dependency and long latency, making them challenging to implement in hardware. To overcome these difficulties, we introduce a new quantile-based algorithm to improve the induction of the Hoeffding tree, one of the state-of-the-art online learning models. The proposed algorithm is light-weight in terms of both memory and computational demand, while still maintaining high generalization ability. A series of optimization techniques dedicated to the proposed algorithm have been investigated from the hardware perspective, including coarse-grained and fine-grained parallelism, dynamic and memory-based resource sharing, pipelining with data forwarding. We further present a high-performance, hardware-efficient and scalable online decision tree learning system on a field-programmable gate array (FPGA) with system-level optimization techniques. Experimental results show that our proposed algorithm outperforms the state-of-the-art Hoeffding tree learning method, leading to 0.05% to 12.3% improvement in inference accuracy. Real implementation of the complete learning system on the FPGA demonstrates a 384x to 1581x speedup in execution time over the state-of-the-art design.

[1]  Luigi Carro,et al.  Employing Classification-based Algorithms for General-Purpose Approximate Computing , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[2]  Simon Fong,et al.  An experimental comparison of decision trees in traditional data mining and data stream mining , 2010, 2010 6th International Conference on Advanced Information Management and Service (IMS).

[3]  James J. Little,et al.  Learning Online Smooth Predictors for Realtime Camera Planning Using Recurrent Decision Trees , 2016, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[4]  Christos-Savvas Bouganis,et al.  Memory optimisation for hardware induction of axis-parallel decision tree , 2014, 2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14).

[5]  Gustavo Alonso,et al.  Scalable inference of decision tree ensembles: Flexible design for CPU-FPGA platforms , 2017, 2017 27th International Conference on Field Programmable Logic and Applications (FPL).

[6]  Feng Wu,et al.  Online Multi-Instance Multi-Label learning for protein function prediction , 2016, 2016 IEEE International Conference on Bioinformatics and Biomedicine (BIBM).

[7]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

[8]  Warrren B Powell,et al.  QUANTILE OPTIMIZATION FOR HEAVY-TAILED DISTRIBUTIONS USING ASYMMETRIC SIGNUM FUNCTIONS , 2011 .

[9]  Wei Fan,et al.  Extremely Fast Decision Tree Mining for Evolving Data Streams , 2017, KDD.

[10]  Geoff Hulten,et al.  Mining high-speed data streams , 2000, KDD '00.

[11]  Geoff Holmes,et al.  Handling Numeric Attributes in Hoeffding Trees , 2008, PAKDD.

[12]  A. Asuncion,et al.  UCI Machine Learning Repository, University of California, Irvine, School of Information and Computer Sciences , 2007 .

[13]  Kunio Kashino,et al.  Generative Adversarial Image Synthesis with Decision Tree Latent Controller , 2018, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.

[14]  Gianmarco De Francisci Morales,et al.  BoostVHT: Boosting Distributed Streaming Decision Trees , 2017, CIKM.

[15]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[16]  Geoff Hulten,et al.  Mining time-changing data streams , 2001, KDD '01.

[17]  Gianmarco De Francisci Morales,et al.  VHT: Vertical hoeffding tree , 2016, 2016 IEEE International Conference on Big Data (Big Data).

[18]  Sanjeev Khanna,et al.  Space-efficient online computation of quantile summaries , 2001, SIGMOD '01.

[19]  Ryan Kastner,et al.  An architecture for learning stream distributions with application to RNG testing , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[20]  Marios S. Pattichis,et al.  Pipelined Decision Tree Classification Accelerator Implementation in FPGA (DT-CAIF) , 2015, IEEE Transactions on Computers.

[21]  João Gama,et al.  Decision trees for mining data streams , 2006, Intell. Data Anal..

[22]  Chuan Cheng Random forest training on reconfigurable hardware , 2015 .

[23]  Tianqi Chen,et al.  XGBoost: A Scalable Tree Boosting System , 2016, KDD.

[24]  Viktor K. Prasanna,et al.  Accelerating Decision Tree Based Traffic Classification on FPGA and Multicore Platforms , 2017, IEEE Transactions on Parallel and Distributed Systems.

[25]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[26]  Maya Gokhale,et al.  Accelerating a Random Forest Classifier: Multi-Core, GP-GPU, or FPGA? , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[27]  Christos-Savvas Bouganis,et al.  Accelerating Random Forest training process using FPGA , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[28]  Andreas Holzinger,et al.  Data Mining with Decision Trees: Theory and Applications , 2015, Online Inf. Rev..

[29]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[30]  Bernard Zenko,et al.  Speeding-Up Hoeffding-Based Regression Trees With Options , 2011, ICML.

[31]  Daniel T. Larose,et al.  Discovering Knowledge in Data: An Introduction to Data Mining , 2005 .

[32]  Jean Paul Barddal,et al.  SFNClassifier: a scale-free social network method to handle concept drift , 2014, SAC.

[33]  John R. Williams,et al.  Data-Stream-Based Intrusion Detection System for Advanced Metering Infrastructure in Smart Grid: A Feasibility Study , 2015, IEEE Systems Journal.

[34]  Virgilio Centeno,et al.  A PMU-based voltage security assessment framework using hoeffding-tree-based learning , 2017, 2017 19th International Conference on Intelligent System Application to Power Systems (ISAP).

[35]  Ji Feng,et al.  Deep Forest: Towards An Alternative to Deep Neural Networks , 2017, IJCAI.

[36]  Viktor K. Prasanna,et al.  Scalable and dynamically updatable lookup engine for decision-trees on FPGA , 2014, 2014 IEEE High Performance Extreme Computing Conference (HPEC).

[37]  Alok Choudhary,et al.  Interactive presentation: An FPGA implementation of decision tree classification , 2007 .

[38]  Rob J Hyndman,et al.  Sample Quantiles in Statistical Packages , 1996 .