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