Как XGBoost выполняет параллельные вычисления?

XGBoost использует метод аддитивного обучения, в котором он моделирует остатки предыдущей модели.

Это последовательное, хотя, как это делается для параллельных вычислений?

Ответ 1

Xgboost не запускает несколько деревьев параллельно, как вы отметили, вам нужно предсказания после каждого дерева для обновления градиентов.

Скорее, он распараллеливает в одном дереве мое использование openMP для создания ветвей независимо.

Чтобы наблюдать это, создайте гигантский набор данных и запустите с n_rounds = 1. Вы увидите все ваши ядра, стреляющие по одному дереву. Вот почему он так быстро-хорошо спроектирован.