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

Обзор развертывания 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 для работы с нейросетями.

  1. Обновление системы: Выполняется обновление всех системных пакетов до последних версий, удаляются неиспользуемые зависимости.

  2. Установка базовых утилит: Устанавливаются curl, wget и sudo.

  3. Настройка драйверов NVIDIA:

  4. Система определяет рекомендуемый драйвер через ubuntu-drivers devices.

  5. Устанавливается пакет ubuntu-drivers-common.

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

  7. Установка CUDA:

  8. Добавляется официальный репозиторий NVIDIA (cuda-keyring).

  9. Устанавливается пакет cuda и компилятор gcc.

  10. Настройка пользователя:

  11. Создается системный пользователь user с домашним каталогом /home/user.

  12. Генерируется случайный пароль (8 символов), который сохраняется в файле /root/user_credentials.

  13. Пользователю предоставляются права sudo.

  14. Подготовка среды Python:

  15. Устанавливаются пакеты python3.10, pip и venv.

  16. Устанавливается библиотека libnvinfer5-dev.

  17. Развертывание виртуального окружения:

  18. В домашней директории пользователя создается виртуальное окружение venv.

  19. Устанавливаются библиотеки torch, torchvision и torchaudio.

  20. Настраиваются переменные окружения 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 и зависимостей необходимо выполнить следующие действия:

  1. Переключиться на пользователя user.

  2. Активировать виртуальное окружение:

    source ~/pytorch.sh
    

  3. Обновить пакеты через pip:

    pip install --upgrade torch torchvision torchaudio
    

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

  • Ключи доступа пользователя: /root/user_credentials

  • Виртуальное окружение Python: /home/user/venv

  • Скрипт активации среды: /home/user/pytorch.sh

  • Конфигурация окружения (пути CUDA): /home/user/.bashrc

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

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

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