nav-img
ML Space
ML Space

Выбрать ноды для задачи обучения

Выбор нод при запуске задачи обучения важен для оптимальной производительности и использования ресурсов.

Настроить ноды можно с помощью параметров include_nodes и exclude_nodes.

Доступно два способа реализации.

С помощью client-lib

  1. Обновите client-lib, выполнив следующий код и перезагрузив kernel:

    import client_lib
    client_lib.update()
  2. Получите список нод командой client_lib.get_nodes().

  3. При запуске задачи обучения добавьте параметры для включения и исключения списка нод:

    job_run_and_submit(
    base_image=f'{IMAGE_py3_10_torch2_1_2}',
    script=f'python {BASE_DIR}/test_pytorch2_torch2.py',
    region=f'{REGION}',
    instance_type=f'{INSTANCE_TYPE}',
    type="pytorch2",
    include_nodes=["srv-065"],
    exclude_nodes=["srv-012"]
    )

    Где:

    • include_nodes — список нод, на которых могут стартовать задачи;

    • exclude_nodes — список нод, которые нужно исключить из запуска задачи.

Примечание

При использовании этого метода контролируйте объем ресурсов и наличие нод в аллокации. Если указать недостаточно хостов или неверные ноды в списке хостов, то задача останется в статусе «Pending».

Рекомендуется использовать exclude_nodes, исключая ноды из запуска.

Через публичный API

  1. Получите список нод, используя метод GET /public/v2/nodes/{region}/nodes.

  2. При запуске задачи обучения используйте параметры include_nodes, exclude_nodes:

    • include_nodes — список нод, на которых могут стартовать задачи;

    • exclude_nodes — список нод, которые нужно исключить из запуска задачи.

    Поле Failed в ответе метода GET /public/v2/nodes/{region}/nodes показывает количество нод, наименование которых не подпадает под шаблон. При успешном запуске задачи обучения значение должно быть 0.