Выбрать ноды для задачи обучения
Выбор нод при запуске задачи обучения важен для оптимальной производительности и использования ресурсов.
Настроить ноды можно с помощью параметров include_nodes и exclude_nodes.
Доступно два способа реализации.
С помощью client-lib
Обновите client-lib, выполнив следующий код и перезагрузив kernel:
import client_libclient_lib.update()Получите список нод командой client_lib.get_nodes().
При запуске задачи обучения добавьте параметры для включения и исключения списка нод:
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
Получите список нод, используя метод GET /public/v2/nodes/{region}/nodes.
При запуске задачи обучения используйте параметры include_nodes, exclude_nodes:
include_nodes — список нод, на которых могут стартовать задачи;
exclude_nodes — список нод, которые нужно исключить из запуска задачи.
Поле Failed в ответе метода GET /public/v2/nodes/{region}/nodes показывает количество нод, наименование которых не подпадает под шаблон. При успешном запуске задачи обучения значение должно быть 0.
- С помощью client-lib
- Через публичный API