Вопросы и ответы про Environments

Вопросы в этом разделе

Не получается развернуть бесплатный Jupyter Server

На платформе ML Space есть ограничение в три бесплатных Jupyter Server для одного региона размещения ресурсов. При создании четвертого будет возникать ошибка

В Регионе Cloud.Region.CPU (CPU) бесплатных нет.

Подробнее см. Регионы размещения ресурсов.

Какие хранилища используются для обучения моделей?

Для обучения моделей необходимо:

  1. Разместить пользовательские данные на S3 — объектное хранилище в рамках модуля Data Catalog.

  2. Перенести данные из S3 в «горячее» хранилище NFS (см. Управление данными).

Подробнее об использовании данных для обучения моделей см. Управление данными

Не могу создать Jupyter Server с GPU. В чем может быть причина?

Такая ситуация может возникать в следующих случаях:

  • Закончился баланс.

  • Не выставлен лимит на Департамент.

При нулевом балансе не получится:

  • создать Jupyter Server с выделенными GPU,

  • запустить обучение путем отправки задач в регион,

  • собрать образ с моделями для последующего их развертывания на сервисе Deployments

Актуальный баланс можно посмотреть в профиле пользователя. См. Профиль.

Лимиты на департамент можно задавать в личном кабинете пользователя. Подробнее см. в Документации.

Как приостановить Jupyter Server?

Для приостановки Jupyter Server:

  1. Выберите сервер, который необходимо приостановить.

  2. Нажмите на иконку паузы в соответствующей строке списка.

  3. Jupyter Server изменит статус «На паузе».

Доступны ли логи Jupyter Server после приостановки?

После приостановки просмотр логов не доступен. Для просмотра логов возобновите работу Jupyter Server.

Будет ли тарифицироваться Jupyter Server в статусе «На паузе»?

Если Jupyter Server приостановлен, то тарификация не осуществляется.

Будет ли тарифицироваться Jupyter Server в статусе «Ошибка» или «Предупреждение»?

При использовании неподходящего образа после запуска Jupyter Server может принимать статус «Ошибка» или «Предупреждение», в таких случаях будет осуществляться тарификация за используемые ресурсы.

Как запустить ячейку Jupyter Server во время сборки образа и завершить ее после сборки?

Если возникает потребность выполнения ячейки после сборки образа, добавьте код:

def wait_image_build_job(job):
    response = job.submit()
    if "created" not in response:
        return response
    job.logs()
    return "Done"


job = ImageBuildJob(...........)
wait_for_image_build_job(job)

Как отследить падение задачи?

При разработке скрипта распределенного обучения с использованием низкоуровневых библиотек (mpi, torch.distributed и т.д.), стоит обратить внимание на то, что процессы работают независимо друг от друга, и не забывать ставить флаги коммуникации между процессами (barrier, all_reduce и пр.), во избежании некорректной работы всего распределенного процесса обучения.

В логах ошибка “Permission denied, please try again” при запуске задачи, как устранить?

Вероятно, при запуске задачи взят образ для Jupyter Server (имеют префикс “jupyter-” в названии).

Пример:

  • cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-pt1.3.0-gpu:0.0.80 — с этим образом будет возникать ошибка,

  • cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.0-tf1.15.0-pt1.3.0:0.0.27 — этот образ будет корректно работать в регионе V100.

Не видно образ из Docker registry при создании Jupyter Server, что делать?

Если не видно образ, загруженный в Docker registry при создании Jupyter Server, то могут помочь следующие рекомендации:

  • Проверьте название образа. Для использования образа в сервисе Environments у него должен быть префикс «jupyter-».

    Предупреждение

    Префикс обязательно должен начинаться с маленькой буквы, например «jupyter-», «deploy-», «job-». В сервисе Environments образ с именем test-custom-image:1.0 не будет отображаться с списке доступных. Образ с именем jupyter-custom-image:1.0 будет отображаться.

Почему у меня не разворачивается Jupyter Server c GPU?

Проблема может возникать, если под Jupyter Server нет свободных ресурсов на одном DGX (выделение ресурсов на нескольких DGX невозможно). Рекомендуется создавать Jupyter Server с количеством выделенных GPU не более 8. Обучение, которое требует большее количество ресурсов, лучше запускать как задачу в регионе методом client_lib.Job().

Что делать, чтобы столбец ipynb_checkpoints не появлялся в метриках?

Использовать файлы MLFlow средствами MLFlow и файлов Jupyter Lab/Notebook средствами Jupyter Lab/Notebook. Это позволит избежать непредвиденных артефактов в виде .ipynb_checkpoints столбца в разделе Metrics.

Папка mlflow — машиночитаемая (предусмотрено читать через api mlflow), при необходимости открывать файлы можно по ssh через cyberduck/терминал.

ipynb_checkpoints папки появляются не везде, а только в том каталоге, где находится запущенный ноутбук. Поэтому наиболее простым решением проблемы с MLFlow было бы отделить одно от другого и явно определять каталог, в котором будет находиться вся информация, имеющая отношение к MLFlow-эксперименту.

Делается это следующим образом: mlflow.set_tracking_uri('file:/home/jovyan/mlruns')

Подробнее об этой команде можно прочитать здесь

Проверить текущий каталог можно командой mlflow.get_tracking_uri().

Подробнее можно прочитать здесь.

Как создать Jupyter Server с нужной версией Python?

Для создания окружения с Python версии 3.8, последовательно выполните в терминале Jupyter Notebook следующие команды:

conda create -n test_env python=3.8
conda init bash
/bin/bash
conda activate test_env
conda install -c anaconda ipykernel -y
python -m ipykernel install --user --name=Test_env

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

Для переключения в созданное окружение test_env:

В Jupyter

В JupyterLab

Нажмите Kernel → Change kernel и выберите требуемое окружение.

Нажмите Python 3 (ipykernel) и выберите требуемое окружение.

Что делать, если возникает ошибка No space left on device при работе с Jupyter Server?

Чтобы устранить ошибку, расширьте NFS.

Для самостоятельного расширения дискового пространства на требуемом NFS:

  1. Перейдите в профиль, нажав на иконку Кнопка профиля.

  2. Расширить дисковое пространство NFS можно двумя способами:

    • Нажмите Кнопка с тремя вертикальными точками, возле требуемого workspace выберите команду Квоты NFS.

    • Нажмите Статистика и выберите команду Квоты NFS.

  3. Установите квоты для требуемого региона.

  4. Нажмите Сохранить.

Важно

Установка квот доступна для регионов Christofari.V100, Christofari.A100 и Cloud.Region.A100 (GPU Tesla A100). Верхний предел квоты ограничен объемом NFS для разных регионов:

  • Christofari.V100 — 1 ТБ;

  • Christofari.A100 — 10 ТБ;

  • Cloud.Region.A100 (GPU Tesla A100) — 5 ТБ.

Для добавления объема больше квоты обратитесь в техническую поддержку.

Что делать, если возникает ошибка при запуске MLflow?

  1. Переименовать каталог mlruns из Jupyter Server, в котором не запущен mlflow.

  2. Запустить Jupyter Server и проверить, что MLflow работает.

Если эти действия не помогли, обратитесь в техническую поддержку.