Образы, используемые на платформе ML Space

Важно

Стабильная работа образов предназначенных для Christofari.V100 не гарантируется на Christofari.A100.

Библиотеки в образах Jupyter Server

Ниже представлены образы Jupyter Server, которые используются в рамках сервиса. Они собраны на базе соответствующих образов для задач обучения. В образах Jupyter Server доступны все библиотеки, которые предустановлены в базовых образах соответствующих версий. См. Библиотеки в образах Jupyter Server.

В документации используются сокращения tf и pt.

Образ

CUDA

TF

PyTorch

Для какого кластера предназначен

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-pt1.3.0-gpu:0.0.80

10.0

1.15.0

1.3.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.1-tf2.2.0-pt1.5.0-gpu:0.0.80

10.1

2.2.0

1.5.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.1-tf2.3.0-pt1.6.0-gpu:0.0.80

10.1

2.3.0

1.6.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.0-tf2.4.0-pt1.7.1-gpu:0.0.80

11.0

2.4.0

1.7.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.0-tf2.4.0-pt1.7.1-gpu-a100:0.0.80

11.0

2.4.0

1.7.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.1-pt1.8.1-gpu:0.0.80

11.1

1.8.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.1-pt1.8.1-gpu-a100:0.0.80

11.1

1.8.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.1-pt1.9.1-gpu:0.0.80

11.1

1.9.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.1-pt1.9.1-gpu-a100:0.0.80

11.1

1.9.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.2-tf2.5.0-gpu:0.0.80

11.2

2.5.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.2-tf2.5.0-gpu-a100:0.0.80

11.2

2.5.0

Christofari.A100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.2-tf2.6.0-gpu:0.0.80

11.2

2.6.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda11.2-tf2.6.0-gpu-a100:0.0.80

11.2

2.6.0

Christofari.A100

Образы для бесплатного ноутбука без GPU (для кластера Christofari.V100, Christofari.A100)

  • cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-pt1.3.0-gpu-mlspace:0.0.80

  • cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.1-tf2.3.0-pt1.6.0-mlspace:0.0.80

  • cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.1-tf2.3.0-pt1.6.0-automl:0.0.80

Образы для Spark

  • Образ Jupyter Server: registry.aicloud.sbcp/jupyter-cuda10.1-tf2.3.0-mlspace

  • Образ Spark-кластера (driver + executor): registry.aicloud.sbcp/spark-3.0.1

Образы для AutoML

  • jupyter-cuda10.1-tf.2.3.0-pt1.6.0-automl:0.0.80

  • jupyter-cuda10.1-tf.2.3.0-pt1.6.0-gpu-automl:0.0.80

Образы для openvino и enot

  • jupyter-openvino:0.0.2

  • jupyter-enot:0.0.1

Также по запросу в поддержку пользователям предоставляется образ на базе jupyter-cuda10.1-tf2.3.0-gpu:0.0.67 с CV-библиотекой darknet.

Библиотеки в базовых образах

Полный список библиотек, установленных в базовых образах, приведен на странице.

Базовый образ

Horovod

TF

PyTorch

Для какого кластера предназначен

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.0-tf1.15.0-pt1.3.0:0.0.28

0.22.1

1.15.0

1.3.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.1-tf2.2.0-pt1.5.0:0.0.28

0.22.1

2.2.0

1.5.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.1-tf2.3.0-pt1.6.0:0.0.28

0.22.1

2.3.0

1.6.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.2:0.0.28

0.22.1

1.8.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.0-tf2.4.0-pt1.7.1:0.0.28

0.23.0

2.4.0

1.7.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.0-tf2.4.0-pt1.7.1-a100:0.0.28

0.23.0

2.4.0

1.7.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.1-pt1.8.1:0.0.28

0.23.0

1.8.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.1-pt1.9.1:0.0.28

0.23.0

1.9.1

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.1-pt1.8.1-a100:0.0.28

0.23.0

1.8.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.1-pt1.9.1-a100:0.0.28

0.23.0

1.9.1

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.2-tf2.5.0:0.0.28

0.23.0

2.5.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.2-tf2.6.0:0.0.28

0.23.0

2.6.0

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.2-tf2.5.0-a100:0.0.28

0.23.0

2.5.0

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.2-tf2.6.0-a100:0.0.28

0.23.0

2.6.0

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/cuda10.0:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda10.1:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda10.2:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.0:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.1:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.2:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.3:0.0.28

Christofari.V100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.0-a100:0.0.28

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.1-a100:0.0.28

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.2-a100:0.0.28

Christofari.A100

cr.msk.sbercloud.ru/aicloud-base-images/cuda11.3-a100:0.0.28

Christofari.A100

Изменение предустановленного набора библиотек

В каждом образе Jupyter Server и базовом образе для задач обучения есть предустановленный набор библиотек (см. Библиотеки в образах Jupyter Server, Библиотеки в базовых образах).

Пользователь может:

  • Узнать список установленных библиотек.

  • Установить дополнительные библиотеки.

  • Обновить версии существующих библиотек.

Получение списка библиотек, установленных в образе Jupyter Server

Чтобы увидеть список библиотек, установленных в образе Jupyter Server:

  1. Откройте Jupyter Notebook. См. Действия над Jupyter Server, Подключение к существующему Jupyter Server.

  2. В ячейке ноутбука выполните следующую команду

    pip list
    

    Результатом выполнения команды станет список установленных библиотек.

Получение списка библиотек, установленных в базовом образе

Чтобы увидеть список библиотек, установленных в базовых образах, выполните последовательность действий, как описано в разделе Актуализация списка библиотек в базовых образах.

Установка дополнительных библиотек в Jupyter Server

Для установки дополнительных библиотек в ячейке ноутбука выполните команду

pip install <package_name> == <version>

Где package_name — наименование библиотеки, которую предполагается установить, а version — версия данной библиотеки.

После установки библиотеки выполните следующую команду для проверки

pip list |grep <package_name>

Важно

При работе с Jupyter Server есть каталоги, в которых хранятся служебные и пользовательские файлы:

  • /home/user — каталог, уникальный для каждого Jupyter Server.

  • /home/jovyan — каталог, общий для всех Jupyter Server, созданных в рамках одного workspace. Если устанавливать библиотеки с помощью команды pip install, то требуемые зависимости будут установлены в каталог /home/jovyan/.img-xxxxx. При постановке Jupyter Server на паузу этот каталог остается, при остановке (удалении) каталог удаляется.

    Пример:

    Jupyter Server называется test-img-dir, в нем командой pip install glances установили библиотеку. Установленная бибилотека с требуемыми зависимостями будет находиться в директории /home/jovyan/.imgenv-test-img-dir-0/lib/python3.7/site-packages.

При удалении Jupyter Server все библиотеки, которые установлены с помощью команды pip install удаляются вместе с каталогом /home/user.

Для использования требуемого набора библиотек можно создать и использовать кастомный Docker-образ. Подробнее см. Сборка кастомного образа с необходимыми библиотеками.

Обратите внимание на то, что в образ Jupyter Server jupyter-cuda10.1-tf2.3.0-gpu можно дополнительно установить библиотеку DeepSpeed. Для этого:

  1. Откройте Jupyter Notebook. См. Действия над Jupyter Server, Подключение к существующему Jupyter Server.

  2. Запустите командную строку (New → Terminal).

  3. Выполните команду ниже. Библиотека установится в соответствующий каталог.

cd /tmp && git clone https://github.com/microsoft/DeepSpeed.git && cd DeepSpeed && \
        pip install cpufeature && \
        DS_BUILD_SPARSE_ATTN=1 DS_BUILD_CPU_ADAM=1 /tmp/DeepSpeed/install.sh

Установка дополнительных библиотек в базовый образ

Пользователи могут установить дополнительные библиотеки в базовые образы. Для сборки таких кастомных образов используются средства библиотеки client_lib. Подробнее см. Сборка кастомного образа с необходимыми библиотеками.

Обновление версий библиотек в Jupyter Server

Для обновления версии установленной библиотеки выполните команду

pip install <package_name> --upgrade

Ранее установленная версия библиотеки будет обновлена.

Пример переустановки версии torch приведен ниже (по умолчанию в образе установлена версия 1.3.0)

pip install --no-cache-dir torch===1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

Важно

Не рекомендуется менять версию базовых пакетов — horovod, tensorflow, apex, mxnet, tensorboard, kfserving, pytorch.

Обновление версий библиотек в базовых образах

Для обновления версий библиотек, установленных в базовом образе, внесите модули и их версии в файл requirements.txt и соберите кастомный образ с использованием этого файла. Подробнее см. Сборка кастомного образа с необходимыми библиотеками.

Актуализация списка библиотек в базовых образах

Список базовых образов и версий предустановленных библиотек в данных образах может периодически обновляться (См. Образы, используемые на платформе ML Space). Пользователи могут получить перечень актуальных версий библиотек. Для этого необходимо выполнить последовательность действий, описанную ниже.

  1. Создайте новый Jupyter Server (см. Действия над Jupyter Server) или подключитесь к уже существующему (см. Подключение к существующему Jupyter Server).

  2. Выберите подключение к Jupyter Notebook или JupyterLab. Рабочий каталог, из которого будут запускаться файлы, — /home/jovyan/.

  3. Создайте в рабочем каталоге файл test.py следующего содержания:

    import subprocess
    
    if __name__ == '__main__':
    cmd = 'pip freeze'
    subprocess.run(cmd, shell=True)
    
  4. Далее в ячейках Jupyter Notebook последовательно выполните следующие команды:

    import client_lib
    
    job = client_lib.Job(base_image='your base image',
    script = '/home/jovyan/test.py', n_workers=1, n_gpus=1,
    processes_per_worker=1
    )
    
    job.submit()
    
    import time
    
    while True:
      job.logs()
      time.sleep(5)
    
  5. Список актуальных версий библиотек будет отображаться в логах задачи.