# A Comparison of Decision Forest Inference Platforms from A Database Perspective

arXiv: https://arxiv.org/abs/2302.04430 · HTML: https://mlsanity.com/paper/2302.04430/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- Builds on 17 of its 62 references that are in the map.
- First posted on arXiv 9 Feb 2023.

## Builds on (most cited first, 17 of 17)

- [PyTorch: An Imperative Style, High-Performance Deep Learning Library](https://mlsanity.com/paper/1912.01703/) (2019)
- [XGBoost: A Scalable Tree Boosting System](https://mlsanity.com/paper/1603.02754/) (2016)
- [TabNet: Attentive Interpretable Tabular Learning](https://mlsanity.com/paper/1908.07442/) (2019)
- [Clipper: A Low-Latency Online Prediction Serving System](https://mlsanity.com/paper/1612.03079/) (2016)
- [TVM: An Automated End-to-End Optimizing Compiler for Deep Learning](https://mlsanity.com/paper/1802.04799/) (2018)
- [A Tensor Compiler for Unified Machine Learning Prediction Serving](https://mlsanity.com/paper/2010.04804/) (2020)
- [Extending Relational Query Processing with ML Inference](https://mlsanity.com/paper/1911.00231/) (2019)
- [Serving Deep Learning Models with Deduplication from Relational Databases](https://mlsanity.com/paper/2201.10442/) (2022)
- [Characterizing Driving Styles with Deep Learning](https://mlsanity.com/paper/1607.03611/) (2016)
- [Yggdrasil Decision Forests: A Fast and Extensible Decision Forests Library](https://mlsanity.com/paper/2212.02934/) (2022)
- [Declarative Recursive Computation on an RDBMS, or, Why You Should Use a Database For Distributed Machine Learning](https://mlsanity.com/paper/1904.11121/) (2019)
- [Deep Embedding Forest: Forest-based Serving with Deep Embedding Features](https://mlsanity.com/paper/1703.05291/) (2017)
- [PlinyCompute: A Platform for High-Performance, Distributed, Data-Intensive Tool Development](https://mlsanity.com/paper/1711.05573/) (2017)
- [Optimization of Imperative Programs in a Relational Database](https://mlsanity.com/paper/1712.00498/) (2017)
- [Forest Packing: Fast, Parallel Decision Forests](https://mlsanity.com/paper/1806.07300/) (2018)
- [Pangea: Monolithic Distributed Storage for Data Analytics](https://mlsanity.com/paper/1808.06094/) (2018)
- [Why every GBDT speed benchmark is wrong](https://mlsanity.com/paper/1810.10380/) (2018)

## Built on by (most cited first, 3 of 3)

- [Serving Deep Learning Model in Relational Databases](https://mlsanity.com/paper/2310.04696/) (2023)
- [Auto-Differentiation of Relational Computations for Very Large Scale Machine Learning](https://mlsanity.com/paper/2306.00088/) (2023)
- [ONNXExplainer: an ONNX Based Generic Framework to Explain Neural Networks Using Shapley Values](https://mlsanity.com/paper/2309.16916/) (2023)

## Abstract (arXiv)

Decision forest, including RandomForest, XGBoost, and LightGBM, is one of the most popular machine learning techniques used in many industrial scenarios, such as credit card fraud detection, ranking, and business intelligence. Because the inference process is usually performance-critical, a number of frameworks were developed and dedicated for decision forest inference, such as ONNX, TreeLite from Amazon, TensorFlow Decision Forest from Google, HummingBird from Microsoft, Nvidia FIL, and lleaves. However, these frameworks are all decoupled with data management frameworks. It is unclear whether in-database inference will improve the overall performance. In addition, these frameworks used different algorithms, optimization techniques, and parallelism models. It is unclear how these implementations will affect the overall performance and how to make design decisions for an in-database inference framework. In this work, we investigated the above questions by comprehensively comparing the end-to-end performance of the aforementioned inference frameworks and netsDB, an in-database inference framework we implemented. Through this study, we identified that netsDB is best suited for handling small-scale models on large-scale datasets and all-scale models on small-scale datasets, for which it achieved up to hundreds of times of speedup. In addition, the relation-centric representation we proposed significantly improved netsDB's performance in handling large-scale models, while the model reuse optimization we proposed further improved netsDB's performance in handling small-scale datasets.
