TreeWalker 针对树集成模型推理中普遍存在的“分组共享特征”场景提出优化方案。此类场景包括离散时间生存模型将每位患者展开为多个时间步、点击率模型对同一搜索会话内所有条目打分,以及仅变动少量输入的情景分析等。传统推理逐行独立处理,导致共享计算被重复执行 G 次。TreeWalker 引入部分求值思想,将组内常量特征视为静态、变化特征视为动态,对每棵树在每组内仅遍历一次,并利用位掩码在动态分裂处划分行、跳过空子树,且无需改动训练流程,可直接读取 LightGBM 与 XGBoost 模型。作者证明了结构性工作分解,并给出每行工作量随 G 增大趋近于 (d_v+1)/(d+1) 的理论结果。实验显示,在 Intel 平台上其速度较逐行遍历提升 2.5 至 3.2 倍,G=128 时在生存数据集上提升 6.8 至 7.8 倍,Arm 平台收益更大,情景分析基准的全部 16 种配置均更快;数值精度方面,f64 模型输出与 treelite GTIL 在求和顺序范围内一致,f32 模型采用 f64 累加在 99.98% 的行上更接近 Kahan 补偿参考值。该工作为分组推理提供了可证明的加速框架,对生存分析、推荐与情景分析等实际负载具有直接应用价值。
| TreeWalker | 一种针对分组树集成推理的部分求值方法,通过利用组内共享特征值来减少重复计算。 |
| 部分求值 (Partial Evaluation) | 一种程序优化技术,在编译或运行时将部分输入视为常量,从而特化计算过程。 |
| 树集成 (Tree Ensemble) | 由多棵决策树组成的模型,通过聚合各树的预测结果来进行推理,如 LightGBM 和 XGBoost。 |
| 分组推理 (Grouped Inference) | 对具有共享特征值的行组进行批量推理,而非独立处理每一行。 |
| Kahan 补偿求和 | 一种减少浮点求和舍入误差的算法,通过补偿项提高数值精度。 |
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅