Обзор развертывания Pytorch на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Debian или Ubuntu.
-
Права доступа: Права суперпользователя (root) для выполнения установки системных пакетов и драйверов.
-
Необходимые инструменты:
curl,wget,sudo. -
Аппаратное обеспечение: Наличие видеокарты NVIDIA (в частности, поддержка моделей серии H100 через пакеты
linux-generic-hwe-22.04) для использования аппаратного ускорения CUDA.
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение | | Префикс | pytorch | | Домен | hostkey.in | | Полный шаблон | pytorch{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя комплексную настройку операционной системы, установку драйверов NVIDIA и подготовку среды Python для работы с нейросетями.
-
Обновление системы: Выполняется обновление всех системных пакетов до последних версий, удаляются неиспользуемые зависимости.
-
Установка базовых утилит: Устанавливаются
curl,wgetиsudo. -
Настройка драйверов NVIDIA:
-
Система определяет рекомендуемый драйвер через
ubuntu-drivers devices. -
Устанавливается пакет
ubuntu-drivers-common. -
Если обнаружена видеокарта серии H100, устанавливается соответствующее ядро
linux-generic-hwe-22.04. -
Установка CUDA:
-
Добавляется официальный репозиторий NVIDIA (
cuda-keyring). -
Устанавливается пакет
cudaи компиляторgcc. -
Настройка пользователя:
-
Создается системный пользователь
userс домашним каталогом/home/user. -
Генерируется случайный пароль (8 символов), который сохраняется в файле
/root/user_credentials. -
Пользователю предоставляются права
sudo. -
Подготовка среды Python:
-
Устанавливаются пакеты
python3.10,pipиvenv. -
Устанавливается библиотека
libnvinfer5-dev. -
Развертывание виртуального окружения:
-
В домашней директории пользователя создается виртуальное окружение
venv. -
Устанавливаются библиотеки
torch,torchvisionиtorchaudio. -
Настраиваются переменные окружения
PATHиLD_LIBRARY_PATHдля корректной работы CUDA.
Права доступа и безопасность¶
-
Пользователь: Для выполнения основных операций с PyTorch используется выделенный пользователь
user. -
Безопасность: Пароль пользователя генерируется случайным образом через
opensslи хранится локально в файле/root/user_credentials. -
Доступ: Пользователю предоставлены права администратора (
sudo) для выполнения необходимых системных команд.
Базы данных¶
В данной конфигурации базы данных не используются.
Контейнеры Docker и их запуск¶
Приложение развертывается непосредственно в операционной системе (bare metal) без использования контейнеров Docker. Все компоненты работают как нативные процессы системы или внутри виртуального окружения Python.
Кастомные скрипты и дополнительные настройки¶
В процессе установки выполняются следующие автоматизированные действия:
-
Установочный скрипт (
/root/install_script.sh): Отвечает за установку драйверов, CUDA, создание пользователя и настройку переменных окружения в.bashrc. -
Скрипт настройки PyTorch (
/home/user/pytorch_install.sh): Выполняет создание виртуального окруженияvenv, установку библиотек машинного обучения и проводит тестовый запуск кода для проверки доступности CUDA. -
Скрипт активации (
/home/user/pytorch.sh): Удобный скрипт для быстрого входа в рабочую среду виртуального окружения.
Инструкция по обновлению приложения¶
Для обновления библиотек PyTorch и зависимостей необходимо выполнить следующие действия:
-
Переключиться на пользователя
user. -
Активировать виртуальное окружение:
-
Обновить пакеты через pip:
Расположение конфигурационных файлов и данных¶
-
Ключи доступа пользователя:
/root/user_credentials -
Виртуальное окружение Python:
/home/user/venv -
Скрипт активации среды:
/home/user/pytorch.sh -
Конфигурация окружения (пути CUDA):
/home/user/.bashrc
Доступные порты для подключения¶
Стандартные сетевые порты не открываются, так как приложение работает в режиме вычислений на сервере. Для удаленного доступа к среде используется SSH.