Это фундаментальный вопрос AWS Sagemaker. Когда я запускаю обучение с помощью одного из встроенных алгоритмов Sagemaker, я могу воспользоваться преимуществом огромного ускорения от распределения задания по множеству экземпляров за счет увеличения аргумента instance_count алгоритма обучения. Однако, когда я упаковываю свой собственный алгоритм, увеличение количества экземпляров, кажется, просто дублирует обучение для каждого экземпляра, что не приводит к ускорению.
Я подозреваю, что когда я упаковываю свой собственный алгоритм, мне нужно сделать что-то особенное, чтобы контролировать, как он обрабатывает обучение по-разному для конкретного экземпляра внутри моей настраиваемой функции train () (в противном случае, как он узнает, как должно выполняться задание распространяться?), но мне не удалось найти в Интернете обсуждение того, как это сделать.
Кто-нибудь знает, как с этим справиться? Заранее большое спасибо.
Конкретные примеры: => Он хорошо работает в стандартном алгоритме: я проверил, что увеличение train_instance_count в первом задокументированном примере sagemaker ускоряет работу здесь: https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-train-model-create-training-job.html
=> Это не работает в моем пользовательском алгоритме. Я попытался взять стандартный пример sklearn build-your-own-model и добавить несколько дополнительных вариантов sklearn внутри обучения, а затем распечатать результаты для сравнения. Когда я увеличиваю значение train_instance_count, которое передается объекту оценщика, он запускает одно и то же обучение для каждого экземпляра, поэтому выходные данные дублируются для каждого экземпляра (дублируются распечатки результатов) и нет ускорения. Это база примеров sklearn: . Третий аргумент объекта оценщика, который находится частично в этой записной книжке, - это то, что позволяет вам контролировать количество обучающих экземпляров.