Есть ли в Ray Tune механизм замены initial_workers (cluster.yaml)?
Я кратко опишу свой вариант использования: предполагая, что я хочу развернуть кластер с 10 рабочими на AWS: в прошлом я всегда использовал
initial_workers: 10
,
min_workers: 0
,
max_workers: 10
опции (
cluster.yaml
), чтобы сначала развернуть кластер на полную мощность, а затем использовать автоматическое масштабирование кластера в зависимости от времени простоя. Таким образом, в конце работы, когда почти все испытания были прекращены и полная мощность кластера больше не нужна, узлы автоматически удаляются. Теперь с
initial_workers
вариант пропал #12444 , мне не совсем понятно, как добиться того же уменьшения масштаба.
Я экспериментировал с программным способом запроса ресурсов (
ray.autoscaler.sdk.request_resources
) до и после
tune.run
но, похоже, это то же самое, что и установка
min_workers
поле, и я могу уменьшить масштаб кластера только после завершения всех заданий. Я также попытался установить
upscaling_speed
но по какой-то причине масштабирование происходит очень медленно и, кажется, добавляется только один узел за раз (я запрашиваю графические процессоры). Также всегда есть только одна незавершенная задача, которую я еще не совсем понимаю (к сожалению, у меня также действительно нет времени, чтобы исследовать это полностью :()
В настоящее время я использую описанный выше программный способ, который отлично работает, но в конце задания у меня остается много свободных ресурсов, которые выполняются часами, прежде чем я смогу уменьшить масштаб.
Было бы здорово, если бы кто-нибудь мог указать мне правильное направление, чтобы решить эту проблему.
Спасибо
1 ответ
С участием
ray
В версии 1.30 проблемы с автомасштабированием, которые я наблюдал, кажутся решенными, и теперь кластер масштабируется с ожидаемыми испытаниями, как и ожидалось (с использованием экземпляров AWS ec2 g4dn). Так что нет необходимости в
intial_workers
вариант больше.