Jupyter Server позволяет создавать Jupyter Notebook, чтобы работать над кодом для обучения моделей. Отличие Jupyter Notebooks от традиционной среды разработки в том, что код можно разбить на ячейки и выполнять их в произвольном порядке.
В этой статье описаны только особенности работы Jupyter Server. Начать работу с ним в сервисе Distributed Train можно с помощью пошаговых инструкций по Jupyter Server.
В Distributed Train можно создать Jupyter Server трех типов:
Совместный — доступен для работы всем пользователям воркспейса.
Индивидуальный — доступен только пользователю, создавшему его.
Мультидоступ — доступен выделенной группе пользователей.
Доступны по умолчанию только в воркспейсах, созданных после 1 ноября 2024. Чтобы работать с индивидуальными серверами в воркспейсе, созданном раньше, обновите воркспейс.
Индивидуальный Jupyter Server доступен только для одного пользователя — своего создателя. Дать к нему доступ другим пользователям не получится. Только администратор видит все индивидуальные Jupyter Server в проекте, но не имеет доступа к их содержимому.
Индивидуальные Jupyter Server можно создать только с базовыми образами Distributed Train.
Используется NFS-хранилище региона, в котором был создан индивидуальный Jupyter Server. В NFS выделен приватный каталог, который доступен только пользователю, создавшему Jupyter Server.
Чтобы поделиться файлами из индивидуального Jupyter Server, используйте каталог /workspace. Этот каталог доступен всем пользователям воркспейса, где был создан Jupyter Server.
conda-окружения расходуют inodes воркспейса.
В каждый Jupyter Server монтируется приватная папка пользователя. Папка располагается в каталоге /home/jovyan созданного Jupyter Server того воркспейса и региона, где был создан индивидуальный Jupyter Server.
Ниже представлена схема монтирования NFS-хранилищ к Jupyter Server.
Для каждого пользователя создаются свой Linux-пользователь, своя домашняя директория и независимое программное окружение.
Jupyter Server с мультидоступом доступен в версии воркспейса v3.
Jupyter Server с мультидоступом создается только на основе образа jupyter-multiuser. Использование других образов Distributed Train не поддерживается.
Мультидоступ доступен только выделенной группе пользователей, которых добавляет владелец Jupyter Server.
Для управления списоком приглашенных пользователей доступна вкладка Пользователи.
Добавлять и удалять пользователей из списка приглашенных можно только после остановки Jupyter Server.
Все пользователи Jupyter Server используют общие вычислительные ресурсы сервера.
Используется NFS-хранилище региона, в котором был создан Jupyter Server. В NFS для каждого пользователя используется тот же каталог, что и в индивидуальном Jupyter Server.
Конфликты пользователей при одновременной работе с одним сервером не возникают — каждый пользователь работает в собственном экземпляре Jupyter Server.
Администратор воркспейса видит все Jupyter Server с мультидоступом в проекте, но не имеет прямого доступа к содержимому сервера.
Jupyter Server с мультидоступом рекомендуется для командного использования, максимальное количество пользователей не ограничено.
Удаление пользователя из списка доступа немедленно отключает его от Jupyter Server с сохранением всех текущих сессий и данных в общем хранилище.
Когда Jupyter Server останавливается, завершаются все пользовательские процессы в окружении и высвобождаются ресурсы. При возобновлении запустится идентичный Jupyter Server с тем же образом, набором библиотек и на тех же ресурсах.
Созданное conda-окружение не удаляется в случае удаления или остановки Jupyter Server. Рекомендуем удалять старые conda-окружения после повторного создания Jupyter Server, чтобы избежать ошибок.
При выключении Jupyter Server окружение по умолчанию сохраняется в home/jovyan. Дополнительные библиотеки, установленные пользователем внутри Jupyter Notebook в базовом окружении base или глобально, минуя conda, будут утеряны.
Если они нужны для дальнейшей работы, создайте новое окружение.
После удаления сервера все данные пользователя останутся на NFS и будут видны из любого Jupyter Server в соответствующем регионе. Настройки удаленного сервера сохранятся в /home/jovyan/.local.