Evaluating boosted decision trees for billions of users
Mar 27, 2017Aleksandar Ilic, Oleksandr Kuvshynov

Summary
This post details optimizations for gradient-boosted decision trees (GBDTs) to improve their evaluation efficiency for real-time ranking systems serving billions of users. It compares naive flat tree implementations with compiled C++ versions, introducing techniques like LIKELY/UNLIKELY annotations for branch prediction, range-based evaluation to improve CPU cache utilization, and optimizations for common and categorical features. Computational results show up to a 5x improvement over the flat tree implementation, enabling the ranking of more examples or larger models with the same resources. These techniques have been applied to notifications filtering, feed ranking, and suggestions at Facebook.
More from the AI Research and Development trail
- An Organizational Second Brain: Building an AI That Learns From Experts
- From User Sequences to Scaling Laws: A Multi-Stage Architecture for Meta’s Ads Ranking
- GEM Training: How Meta Doubled the Efficiency of Its LLM-Scale Ads Foundation Model
- Exploring Hierarchical Interest Representation For Meta Ads Deep Funnel Optimization
- Meta’s AI Storage Blueprint at Scale