- tocdepth
2
Вопросы по задачам обучения
Можно ли настраивать количество ядер, выделяемых на одну видеокарту?
Как я могу сохранять промежуточные результаты в процессе обучения моделей?
Как я могу узнать количество виртуальной памяти в экземпляре на видеокарте?
Есть ли возможность добавлять Git-репозитории в различные регионы?
Есть ли возможность подключиться к контейнерам по SSH для отладки?
Есть ли доступ к интернету из контейнера при запуске задачи обучения?
Как быстро сообщить о проблеме с задачей обучения в техническую поддержку?
Что делать, если при запуске распределенного обучения возникает ошибка?
Какие особенности запуска задачи обучения в регионе Cloud.Region.HP?
Как определить объем используемой памяти в регионах, где отключен мониторинг задач?
Какие хранилища используются для обучения моделей?
Для обучения моделей необходимо:
Разместить пользовательские данные на S3 — объектное хранилище в рамках модуля Data Catalog.
Перенести данные из S3 в «горячее» хранилище NFS (см. Работа с данными).
Подробнее об использовании данных для обучения моделей см. Работа с данными.
Как отследить падение задачи?
При разработке скрипта распределенного обучения с использованием низкоуровневых библиотек (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 (см. Подключиться по SSH к Jupyter Server).
Есть ли доступ к интернету из контейнера при запуске задачи обучения?
Для отправки запросов из 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