Выбрать узлы для задачи обучения
В интерфейсе запуска обучения моделей можно настроить вычислительные ресурсы. Кроме стандартных настроек доступна возможность включения или исключения конкретных узлов кластера.
Это дает возможность исключать нестабильные или занятые ресурсы, а также эффективно использовать инфраструктуру для экспериментов и приоритизации загрузки кластера.
Настроить выбор узлов для задач обучения можно только при работе в аллокации. При использовании этого метода контролируйте объем ресурсов и наличие узлов в аллокации. Если указать недостаточно узлов или неверные узлы в параметрах, то задача останется в статусе «Pending». Рекомендуется использовать exclude_nodes, чтобы исключить конкретные узлы из запуска.
Настроить выбор узлов можно с помощью параметров include_nodes и exclude_nodes.
Доступно два способа реализации: с помощью client-lib и через публичный API.
Данный способ доступен для версии client-lib 0.33 и выше.
Проверить версию можно с помощью команды:
import client_libfrom importlib.metadata import versionclient_lib_version = version('client_lib')print(client_lib_version)
Обновить версию можно с помощью команды:
import client_libclient_lib.update()
Для выбора узлов:
Получите список узлов с помощью команды:
client_lib.get_nodes()При запуске задачи обучения добавьте параметры для включения и исключения списка узлов:
job = client_lib.Job(base_image='cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.2.2:0.0.40',script='/home/jovyan/quick-start/job_launch_pt/train_distributed_example-torch2.py',n_workers=1,instance_type='a100.1gpu.80vG.12C.96G',type ='pytorch2',region='SR002-MT',include_nodes=["srv-065"],exclude_nodes=["srv-012"])job.submit()Где:
include_nodes — список узлов, на которых могут запускаться задачи.
exclude_nodes — список узлов, которые нужно исключить из запуска задачи.