web-dev-qa-db-fra.com

Comment XGBoost fait-il le calcul parallèle?

XGBoost utilise la méthode d'entraînement additif dans laquelle il modélise le résidu du modèle précédent.

C'est séquentiel cependant, comment cela se fait-il avec le calcul parallèle?

28
Cedric Oeldorf

Xgboost ne lance pas plusieurs arbres en parallèle comme vous l'avez noté, vous avez besoin de prédictions après chaque arbre pour mettre à jour les gradients.

Il fait plutôt la parallélisation DANS une seule arborescence en utilisant openMP pour créer des branches indépendamment.

Pour observer cela, créez un jeu de données géant et exécutez avec n_rounds = 1. Vous verrez tous vos noyaux tirer sur un seul arbre. C'est pourquoi il est si rapide et bien conçu.

31
T. Scharf