Treebeard: An Optimizing Compiler for Decision Tree Based ML Inference
Ashwin Prasad, Sampath Rajendra, Kaushik Rajan, R. Govindarajan, Uday Bondhugula
Abstract
Decision tree ensembles are among the most commonly used machine learning models. These models are used in a wide range of applications and are deployed at scale. Decision tree ensemble inference is usually performed with libraries such as XGBoost, LightGBM, and Sklearn. These libraries incorporate a fixed set of optimizations for the hardware targets they support. However, maintaining these optimizations is prohibitively expensive with the evolution of hardware. Further, they do not specialize the inference code to the model being used, leaving significant performance on the table. This paper presents TREEBEARD, an optimizing compiler that progressively lowers the inference computation to optimized CPU code through multiple intermediate abstractions. By applying model-specific optimizations at the higher levels, tree walk optimizations at the middle level, and machine-specific optimizations lower down, TREEBEARD can specialize inference code for each model on each supported CPU target. TREEBEARD combines several novel optimizations at various abstraction levels to mitigate architectural bottlenecks and enable SIMD vectorization of tree walks. We implement TREEBEARD using the MLIR compiler infrastructure and demonstrate its utility by evaluating it on a diverse set of benchmarks. TREEBEARD is significantly faster than state-of-the-art systems, XGBoost, Treelite and Hummingbird, by 2.6×, 4.7× and 5.4× respectively in a single-core execution setting, and by 2.3×, 2.7× and 14× respectively in multi-core settings.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get e91e1aa3-268b-474a-9616-dd47bdc1bea6Cited by top-tier papers1
Ask how each one uses itRelated papers
- A Tensor Compiler for Unified Machine Learning Prediction ServingSupun Nakandala, Karla Saur, Gyeong-In Yu, Konstantinos Karanasos et al.OSDI 2020 · 60 citations
- Flexible Modeling and Multitask Learning using Differentiable Tree EnsemblesShibal Ibrahim, Hussein Hazimeh, Rahul MazumderKDD 2022 · 3 citations
- Tahoe: tree structure-aware high performance inference engine for decision tree ensemble on GPUZhen Xie, Wenqian Dong, Jiawen Liu, Hang Liu et al.EuroSys 2021 · 23 citations
- TensorIR: An Abstraction for Automatic Tensorized Program OptimizationSiyuan Feng, Bohan Hou, Hongyi Jin, Wuwei Lin et al.ASPLOS 2023 · 80 citations
- Distributed Task-Based Training of Tree ModelsDa Yan, Md Mashiur Rahman Chowdhury, Guimu Guo, Jalal Khalil et al.ICDE 2022 · 2 citations
