XGBoostは、前のモデルの残差をモデル化する加算トレーニングの方法を使用します。
これは順次ですが、それでは並列計算にどのようにしていくのでしょうか?
Xgboostは、前述のように複数のツリーを並行して実行しません。勾配を更新するには、各ツリーの後に予測が必要です。
むしろ、openMPを使用してブランチを個別に作成して、単一のツリー内で並列化を行います。
これを観察するには、巨大なデータセットを構築し、n_rounds = 1で実行します。すべてのコアが1つのツリーで発火しているのがわかります。これが、それが非常に高速でよく設計されている理由です。