XGBoostは、以前のモデルの残差をモデル化する追加トレーニングの方法を使用します。XGBoostはどのように並列計算を行うのですか?
これは順次ですが、どのように並列コンピューティングに移行しますか?
XGBoostは、以前のモデルの残差をモデル化する追加トレーニングの方法を使用します。XGBoostはどのように並列計算を行うのですか?
これは順次ですが、どのように並列コンピューティングに移行しますか?
Xgboostは、注意したように複数のツリーを並行して実行しないため、各ツリーの後にグラデーションを更新する必要があります。
むしろOpenMPを使用して独立してブランチを作成することは、1つのツリー内で並列化を行います。
これを観察するには、巨大なデータセットを作成し、n_rounds = 1で実行します。あなたはすべてのコアが1つのツリーで発射されるのを見るでしょう。このため、それは非常に高速に設計されています。
詳細については、http://zhanpengfang.github.io/418home.htmlを参照してください。 –
@T。シャーフしかし、これは複数のノード、つまり複数のコアを持つ1台のコンピューターではなく、複数のコンピューターでどのように機能しますか?ツリー内でツリーを同期させるための通信量は非常に大きいでしょう – AbdealiJK
この事実を回避することはできません。@AbdealiJKしかし、あなたのデータが非常に大きい場合、これを配布する必要があります。これはあなたが支払う価格です –
質問ありがとうございました - 私は同じ質問がありました。 – nkhuyu
パラレルとXGboostをカバーする[ここ](http://www.parallelr.com/parallel-computation-with-r-and-xgboost/)の素晴らしいブログ。 – Patric