Перейти к содержанию

Обзор развертывания PyTorch на сервере

Предварительные требования и основные условия

Среда развертывания требует следующих системных спецификаций и прав доступа:

  • Операционная система: Ubuntu 22.04 LTS (подразумевается наличие linux-generic-hwe-22.04 и логикой определения версии релиза).

  • Привилегии: Для начальной конфигурации системы, создания пользователей и установки пакетов требуются права root. В процессе создается учетная запись не-рутового пользователя с именем user.

  • Оборудование: Графический процессор NVIDIA с поддержкой CUDA toolkit. Сценарий установки специфически проверяет наличие модели NVIDIA H100 (PCI ID 10de:2330) для установки соответствующего пакета ядра (linux-generic-hwe-22.04).

  • Пакеты: Система устанавливает curl, wget, sudo, gcc, ubuntu-drivers-common и libnvinfer5-dev.

  • Порты: Сценарии развертывания не настраивают и не открывают внешние сетевые порты. Приложение работает локально на сервере.

FQDN конечной панели

На основе предоставленных переменных конфигурации Полное доменное имя (FQDN) для хоста следующее:

  • Зона: hostkey.in

  • Префикс: pytorch

  • Формат: pytorch<Server ID>.hostkey.in:<port>

Примечание: Конкретный <Server ID> не определен в предоставленных файлах конфигурации. Развертывание не настраивает веб-панель или внешний сервис, слушающий определенный порт, доступный через этот FQDN. Настройка предназначена строго для локальной среды разработки PyTorch.

Структура файлов и каталогов

Файлы приложения и конфигурации организованы в домашней директории учетной записи user:

  • Домашняя директория пользователя: /home/user

  • Виртуальная среда: /home/user/venv

  • Сценарий установки: /home/user/pytorch_install.sh

  • Сценарий активации: /home/user/pytorch.sh

  • Установка CUDA для всей системы: /usr/local/cuda

  • Учетные данные пользователя: /root/user_credentials (содержит автоматически сгенерированный пароль для учетной записи user).

  • Системные пакеты: Установлены через apt в стандартные системные расположения.

Процесс установки приложения

Установка выполняется с помощью последовательности скриптов оболочки (shell scripts), выполняемых на сервере. Процесс не использует контейнеризацию для самого времени выполнения (runtime) PyTorch.

  1. Подготовка системы:

    • Все системные пакеты обновляются до последних версий.

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

    • Если обнаружен GPU H100, устанавливается пакет ядра linux-generic-hwe-22.04.

  2. Установка CUDA Toolkit:

    • Определяется версия релиза Ubuntu.

    • Загружается и устанавливается кольцо ключей CUDA (keyring).

    • Пакет cuda устанавливается через apt.

  3. Создание учетной записи пользователя:

    • Создается пользователь с именем user со случайно сгенерированным 8-значным паролем.

    • Пароль сохраняется в /root/user_credentials.

    • Пользователь добавляется в группы sudo и users.

  4. Настройка среды Python:

    • Python 3.10, pip и venv устанавливаются для всей системы.

    • Устанавливается пакет libnvinfer5-dev.

  5. Установка PyTorch:

    • Сценарий pytorch_install.sh выполняется от имени учетной записи user.

    • Этот скрипт создает виртуальную среду Python в /home/user/venv.

    • PyTorch (torch, torchvision, torchaudio) устанавливается внутри этой виртуальной среды с помощью pip.

    • Переменные среды для CUDA (PATH и LD_LIBRARY_PATH) добавляются в ~/.bashrc.

Права доступа и безопасность

  • Учетная запись пользователя: Приложение настроено для использования под учетной записью user.

  • Доступ Sudo: Учетная запись user добавлена в группу sudo, что позволяет повышать привилегии при необходимости.

  • Учетные данные: Пароль для учетной записи user хранится в файле /root/user_credentials в виде строки открытого текста. Доступ к этому файлу имеет только пользователь root.

  • Межсетевой экран (Firewall): Предоставленные скрипты не настраивают никаких правил межсетевого экрана (например, ufw или iptables). Предполагается, что сервер находится за внешним уровнем безопасности или управляется через политики безопасности на уровне хоста.

Базы данных

Руководство по развертыванию и файлы конфигурации не включают установку или настройку каких-либо служб баз данных (таких как MySQL, PostgreSQL или MongoDB). Среда PyTorch представляет собой автономную вычислительную и среду разработки.

Контейнеры Docker и их развертывание

Процесс развертывания, описанный в исходных файлах, не использует Docker, Docker Compose или любые технологии контейнеризации. PyTorch устанавливается непосредственно в операционную систему хоста внутри виртуальной среды Python.

Прокси-серверы

В предоставленных скриптах не настроены прокси-серверы (Nginx, Traefik, Apache). Развертывание не включает SSL-сертификаты, пользовательские домены или конфигурации веб-серверов.

Настройки разрешений

Разрешения на файлы и директории устанавливаются следующим образом в ходе установки:

  • Системные скрипты: Скрипт install_script.sh создается в /root/install_script.sh с правами u=rwx,g=r,o=r (744) и принадлежит пользователю root.

  • Скрипты пользователя:

    • pytorch_install.sh создается в /home/user с правами на выполнение (chmod +x).

    • pytorch.sh создается в /home/user с правами на выполнение (chmod +x).

  • Домашняя директория: Директория /home/user создается со стандартными правами собственности для учетной записи user.

Расположение файлов конфигурации и данных

  • Конфигурация пользователя: ~/.bashrc модифицируется для включения переменных среды CUDA.

  • Виртуальная среда: /home/user/venv содержит установленные пакеты Python.

  • Хранилище учетных данных: /root/user_credentials содержит пароль для учетной записи user.

  • Конфигурация CUDA: /usr/local/cuda содержит toolkit CUDA и библиотеки.

Доступные порты для подключения

Скрипты развертывания не настраивают никаких сетевых служб прослушивания. Следовательно, ни один порт явно не открывается и не доступен для внешнего подключения в рамках этой установки PyTorch. Среда предназначена для локального выполнения скриптов Python на сервере.

Запуск, остановка и обновление

Для PyTorch не создаются служб systemd или фоновых демонов. Приложение запускается и управляется пользователем вручную.

  • Активация среды: Запустите скрипт активации для входа в виртуальную среду:

    source /home/user/pytorch.sh
    
    Или вручную:
    source /home/user/venv/bin/activate
    

  • Запуск PyTorch: После активации виртуальной среды выполните скрипты Python напрямую:

    python3 -c "import torch; print(torch.__version__)"
    

  • Деактивация среды: Выйдите из виртуальной среды:

    deactivate
    

  • Обновление: Для обновления PyTorch активируйте виртуальную среду и используйте pip:

    source /home/user/venv/bin/activate
    pip install --upgrade torch torchvision torchaudio
    deactivate
    

  • Обновления системы: Системные пакеты (CUDA, драйверы) можно обновлять с помощью стандартных команд apt от имени root:

    sudo apt update
    sudo apt upgrade
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×