XGBoost使用加法训练的方法,其中模拟先前模型的残差.
这是顺序的,然后如何并行计算呢?
Xgboost并不像你指出的那样并行运行多个树,你需要在每棵树之后进行预测以更新渐变.
相反,它使用openMP在单个树中进行并行化,以独立创建分支.
要观察这一点,请构建一个巨大的数据集并使用n_rounds = 1运行.您将看到所有核心在一棵树上触发.这就是它如此快速精心设计的原因.