- tocdepth
2
Вопросы по задачам обучения
Можно ли настраивать количество ядер, выделяемых на одну видеокарту?
Как я могу сохранять промежуточные результаты в процессе обучения моделей?
Как я могу узнать количество виртуальной памяти в экземпляре на видеокарте?
Есть ли возможность добавлять Git-репозитории в различные регионы?
Есть ли возможность подключиться к контейнерам по SSH для отладки?
Есть ли доступ к интернету из контейнера при запуске задачи обучения?
Как быстро сообщить о проблеме с задачей обучения в техническую поддержку?
Что делать, если при запуске распределенного обучения возникает ошибка?
Какие особенности запуска задачи обучения в регионе Cloud.Region.HP?
Как определить объем используемой памяти в регионах, где отключен мониторинг задач?
Какие хранилища используются для обучения моделей?
Для обучения моделей необходимо:
Разместить пользовательские данные на S3 — объектное хранилище в рамках модуля Data Catalog.
Перенести данные из S3 в «горячее» хранилище NFS (см. Управление данными на платформе ML Space).
Подробнее об использовании данных для обучения моделей см. Управление данными на платформе ML Space.
Как отследить падение задачи?
При разработке скрипта распределенного обучения с использованием низкоуровневых библиотек (mpi, torch.distributed и т.д.) стоит обратить внимание на то, что процессы работают независимо друг от друга. Не забудьте поставить флаги коммуникации между процессами (barrier, all_reduce и пр.), чтобы распределенный процесс обучения шел корректно.
Нет root-доступа. Как установить требуемые зависимости?
В Jupyter Server нет root-доступа, apt-get, sudo отключены.
Примечание
Не рекомендуется менять версию базовых пакетов — Horovod, TensorFlow, Apex, MXNet, TensorBoard, KServe, PyTorch.
Рекомендуем выбрать подходящий образ из имеющихся на платформе ML Space или собрать кастомный образ по инструкции.
Как отследить ход выполнения задачи обучения в регионе?
Можно узнать статус выполнения задачи или вывести ее логи, используя стандартные средства функции client_lib.
Можно ли обучать на большом количестве GPU?
ML Space позволяет обучать модели распределенно на базе суперкомпьютеров Christofari.V100 и Christofari.A100.
Количество GPU и количество рабочих узлов региона задаются с помощью параметров n_ gpus
и n_ workers
соответственно.
Обратите внимание: чем больше GPU требуется для обучения модели, тем выше вероятность того, что вычислительных ресурсов может не хватить.
Особенности запуска таких задач см. в разделе Обучение моделей на большом количестве GPU.
Можно ли обучать на CPU?
Можно.
Для запуска задачи обучения только на CPU используйте регион Cloud.Region.HP1.
Подробнее в разделе задачи обучения (Job).
Что делать, если моя задача долго находится в очереди?
Скорее всего, для выполнения задачи сейчас нет ресурсов.
Можно ли настраивать количество ядер, выделяемых на одну видеокарту?
Изменить количество ядер нельзя, они выделяются пропорционально количеству GPU. В регионе Christofari.V100 выделяется три ядра на один GPU, в регионе Christofari.A100 выделяется 16 ядер на один GPU.
Как я могу сохранять промежуточные результаты в процессе обучения моделей?
Бывают случаи, когда процесс обучения нужно остановить, чтобы затем продолжить обучение с того же места и не потерять результаты работы. Решение — фиксировать состояние модели с некоторой разумной периодичностью, например, в конце каждой эпохи или после окончания итерации по небольшим блокам обучения. См. более подробно в разделе Сохранить промежуточные результаты обучения (чекпоинты).
Как я могу узнать количество виртуальной памяти в экземпляре на видеокарте?
Для этого откройте терминал в Jupyter Server и выполните команду:
free -h
Есть ли возможность добавлять Git-репозитории в различные регионы?
Да, такая возможность есть. Для этого откройте терминал в Jupyter Server и выполните команду:
git clone <your_repo_url>
Репозиторий будет склонирован в рабочий каталог /home/jovyan
на NFS.
После этого можно импортировать из репозитория библиотеки, необходимые для работы.
Примечание
Некоторые библиотеки требуют компиляции. Например, чтобы собрать библиотеку torch-blocksparse
из репозитория, необходимо выполнить команду
sudo apt-get install llvm-9-dev
Исполнение этой команды требует прав администратора на NFS. На данный момент для использования sudo и работы c такими библиотеками необходимо написать письмо в support@cloud.ru.
Есть ли возможность подключиться к контейнерам по SSH для отладки?
В стандартных и пользовательских окружениях есть возможность подключения к контейнерам по SSH (см. Подключиться к Jupyter Server по SSH из локальной IDE или терминала).
Есть ли доступ к интернету из контейнера при запуске задачи обучения?
Для отправки запросов из Jupyter Server в интернет используйте следующие номера TCP-портов: 80, 443, 8000–8999.
Использование Jupyter Server из интернета невозможно без интерфейса ML Space или SSH-соединения с Jupyter Server.
Как быстро сообщить о проблеме с задачей обучения в техническую поддержку?
Перейдите в список задач
.Рядом с нужной задачей нажмите и выберите Сообщить о проблеме.
Выберите суть проблемы и опишите подробности, если необходимо.
Будет создана заявка в техническую поддержку. Отслеживать статус можно в личном кабинете в разделе Поддержка.
Что делать, если при попытке подключиться по SSH к задаче обучения, использующей образы версии 0.0.82-1, возникает ошибка?
Подключитесь к задаче альтернативным способом, последовательно выполнив в терминале Jupyter Notebook следующие команды:
export name=lm-mpi-job-b88a8c2d-489f-4021-b706-7c439de8975d # job-name
export host=lm-mpi-job-b88a8c2d-489f-4021-b706-7c439de8975d-mpimaster-0 # job-name-pod-name
ssh user@${host}.${name} -p 2222 # connection command with your host and name
Что делать, если при запуске распределенного обучения возникает ошибка?
Для того чтобы проверить корректность работы скрипта и исправить ошибки в нем, запустите скрипт распределенно из Jupyter Server с несколькими GPU командой:
python -m torch.distributed.launch --nproc_per_node $GPUS_PER_NODE --nnodes 1 <myscript.py>
Какие особенности запуска задачи обучения в регионе Cloud.Region.HP?
При запуске задачи обучения в регионе Cloud.Region.HP используйте:
Как определить объем используемой памяти в регионах, где отключен мониторинг задач?
Чтобы посмотреть объем использованной памяти в каждом воркере задачи обучения:
В терминале выполните команду:
cat /sys/fs/cgroup/memory.current
После выполнения команды вернется значение используемой памяти в байтах:
cat /sys/fs/cgroup/memory.current 1020788117504
для Dev & Test