文章预览
项目链接:https://treelite.readthedocs.io/ 项目论文:https://mlsys.org/Conferences/doc/2018/196.pdf 支持模型:XGB、LGB、SKlearn树模型 Treelite介绍 Treelite能够树模型编译优化为单独库,可以很方便的用于模型部署。经过优化后可以将XGBoost模型的预测速度提高2-6倍。 如上图,黑色曲线为XGBoost在不同batch size下的吞吐量,红色曲线为XGBoost经过TreeLite编译后的吞吐量。 Treelite支持众多的树模型,特别是随机森林和GBDT。同时Treelite可以很好的支持XGBoost, LightGBM和 scikit-learn,也可以将自定义模型根据要求完成编译。 Treelite原理 Treelite主要在两方面完成了改进。 逻辑分支 对于树模型而言,节点的分类本质使用if语句完成,而CPU在执行if语句时会等待条件逻辑的计算。 if ( [conditional expression] ) { foo(); } else { bar(); } 如果在构建树模型时候,提前计算好每个分支下面样本
………………………………