Accelerating a random forest classifier: multi-core, GP-GPU, or FPGA?

被引:106
作者
Van Essen, Brian [1 ]
Macaraeg, Chris [1 ]
Gokhale, Maya [1 ]
Prenger, Ryan [1 ]
机构
[1] Lawrence Livermore Natl Lab, Livermore, CA 94550 USA
来源
2012 IEEE 20TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM) | 2012年
关键词
FPGA; GP-GPU; OpenMP; Machine learning;
D O I
10.1109/FCCM.2012.47
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Random forest classification is a well known machine learning technique that generates classifiers in the form of an ensemble ("forest") of decision trees. The classification of an input sample is determined by the majority classification by the ensemble. Traditional random forest classifiers can be highly effective, but classification using a random forest is memory bound and not typically suitable for acceleration using FPGAs or GP-GPUs due to the need to traverse large, possibly irregular decision trees. Recent work at Lawrence Livermore National Laboratory has developed several variants of random forest classifiers, including the Compact Random Forest (CRF), that can generate decision trees more suitable for acceleration than traditional decision trees. Our paper compares and contrasts the effectiveness of FPGAs, GP-GPUs, and multi-core CPUs for accelerating classification using models generated by compact random forest machine learning classifiers. Taking advantage of training algorithms that can produce compact random forests composed of many, small trees rather than fewer, deep trees, we are able to regularize the forest such that the classification of any sample takes a deterministic amount of time. This optimization then allows us to execute the classifier in a pipelined or single-instruction multiple thread (SIMT) fashion. We show that FPGAs provide the highest performance solution, but require a multi-chip / multi-board system to execute even modest sized forests. GP-GPUs offer a more flexible solution with reasonably high performance that scales with forest size. Finally, multi-threading via OpenMP on a shared memory system was the simplest solution and provided near linear performance that scaled with core count, but was still significantly slower than the GP-GPU and FPGA.
引用
收藏
页码:232 / 239
页数:8
相关论文
共 10 条
[1]  
[Anonymous], FAST MAP SE IN PRESS
[2]  
[Anonymous], 2011, COMP VIS LOW POW REC
[3]  
[Anonymous], 2009, P 26 ANN INT C MACH, DOI DOI 10.1145/1553374.1553462
[4]  
Breiman L., 2001, Learn, V45, P5
[5]   Random forests for classification in ecology [J].
Cutler, D. Richard ;
Edwards, Thomas C., Jr. ;
Beard, Karen H. ;
Cutler, Adele ;
Hess, Kyle T. .
ECOLOGY, 2007, 88 (11) :2783-2792
[6]  
Frank A., 2010, UCI machine learning repository, V213
[7]   Application of the random forest classification algorithm to a SELDI-TOF proteomics study in the setting of a cancer prevention trial [J].
Izmirlian, G .
APPLICATIONS OF BIOINFORMATICS IN CANCER DETECTION, 2004, 1020 :154-174
[8]  
Jiang W., 2009, FPGA, P219
[9]  
Narayanan R, 2007, DES AUT TEST EUROPE, P189
[10]  
Sharp T, 2008, LECT NOTES COMPUT SC, V5305, P595, DOI 10.1007/978-3-540-88693-8_44