2016-10-18 5 views
1

У меня есть две версии модели, обучаемые в Google Cloud ML, одна из которых состоит из двух рабочих и одна только с главными узлами. Однако после тренировки в распределенном режиме происходит значительное снижение отзыва. Я следовал примеры образцов, предусмотренных около 2000 шагов (рабочих и мастера и способствовать шагам)Google Cloud ML Loss in Recall: Распределенное обучение

Только Мастер

RECALL metrics: 0.352357320099 
Accuracy over the validation set: 0.737576772753 

Мастер и 2 Рабочие

RECALL metrics: 0.0223325062035 
Accuracy over the validation set: 0.770519262982 

ответ

2

Основная идея держать в ум заключается в том, что по мере увеличения числа рабочих вы также увеличиваете свой эффективный размер партии (каждый рабочий обрабатывает N примеров за шаг).

Для этого вам нужно будет отрегулировать другие гиперпараметры. Попытайтесь выбрать меньшую скорость обучения, чтобы уменьшить количество изменений за шаг. Следовательно, вам также может потребоваться увеличить количество шагов на определенный коэффициент, в зависимости от вашей модели и данных, чтобы достичь такой же конвергенции.

+0

Итак, есть ли «потеря», когда агрегированные параметры графика сохраняются обратно? – vin

+1

Не во время сохранения, а с добавленным шумом в ходе обучения. –

+0

Я нашел это очень тревожным. Это означает, что набор параметров обучения зависит от базового кластера. У меня есть вопрос: как насчет уменьшения размера пакета в зависимости от количества рабочих (т.е. batch_size = batch_size/n_workers), чтобы сделать параметр независимым от конфигурации обучения? – MathiasOrtner