Я пытаюсь использовать lightGBM для регрессии с параллельным обучением на кластере блоков данных.
На основе https://lightgbm.readthedocs.io/en/latest/Parameters.html он поддерживает параллельное обучение на нескольких машинах.
num_machines ?︎, default = 1, type = int, aliases: num_machine, constraints: num_machines > 0
the number of machines for parallel learning application
this parameter is needed to be set in both socket and mpi versions
Я установил
num_mahcines = 2
gbm_regressor = lgb.LGBMRegressor(task=params['task'],
objective=params['objective'],
bagging_fraction=params['bagging_fraction'],
bagging_freq=params['bagging_freq'],
boosting_type=params['boosting_type'],
is_training_metric=params['is_training_metric'],
max_bin=params['max_bin'],
n_estimators=params['n_estimators'],
device='cpu',
num_machines = 2,
silent = False)
Но, когда я проверил метрики кластера в реальном времени в ганглиях блоков данных, есть одна машина, которая занята работой над этим.
Другой компьютер находится в режиме ожидания.
Мой AWS кластер имеет 1 драйвер и 1 работника, и только компьютер драйвера занят.
Как я могу провести обучение параллельно на всех машинах моего кластера?
спасибо