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

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

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

Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu 22.04. Система должна быть оснащена видеокартой NVIDIA модели H100 (идентификатор 10de:2330), если требуется поддержка аппаратного ускорения.

Требуемые права доступа: - Полный доступ к системе (права root или sudo) для установки пакетов и конфигурации системы. - Доступ к интернету для загрузки пакетов CUDA, драйверов и компонентов PyTorch.

Необходимые системные компоненты: - Компилятор gcc. - Пакеты curl, wget, sudo. - Поддержка ядра Linux версии linux-generic-hwe-22.04 для видеокарт H100.

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

Конечная структура системы после развертывания включает следующие элементы:

  • /root/user_credentials — файл, содержащий сгенерированный пароль для учетной записи пользователя.
  • /home/user — домашняя директория пользователя user.
  • /home/user/venv — виртуальное окружение Python.
  • /home/user/pytorch_install.sh — скрипт для установки и проверки PyTorch.
  • /home/user/pytorch.sh — скрипт для активации виртуального окружения.
  • /usr/local/cuda — директория с установленным пакетом CUDA.
  • /usr/local/cuda-12.2/lib64 — библиотека CUDA версии 12.2.

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

Установка выполняется в несколько этапов, включая обновление системы, установку драйверов и настройку среды разработки.

  1. Обновление всех пакетов системы до последней версии и удаление неиспользуемых пакетов.
  2. Установка базовых утилит: curl, wget, sudo.
  3. Проверка наличия видеокарты NVIDIA H100. При обнаружении устанавливается пакет ядра linux-generic-hwe-22.04.
  4. Установка общих драйверов Ubuntu и рекомендуемого драйвера NVIDIA через утилиту ubuntu-drivers.
  5. Установка компилятора gcc.
  6. Установка пакета CUDA:
  7. Скачивание и установка ключа репозитория cuda-keyring_1.1-1_all.deb.
  8. Обновление списка пакетов и установка пакета cuda.
  9. Создание учетной записи пользователя user с автоматической генерацией пароля. Пароль сохраняется в файле /root/user_credentials.
  10. Добавление пользователя в группу sudo.
  11. Установка библиотеки libnvinfer5-dev.
  12. Установка интерпретатора Python 3.10, менеджера пакетов pip и модуля venv.
  13. Настройка переменных окружения для CUDA в файле ~/.bashrc пользователя user:
    • Добавление пути /usr/local/cuda/bin в переменную PATH.
    • Добавление пути /usr/local/cuda-12.2/lib64 в переменную LD_LIBRARY_PATH.
  14. Создание и выполнение скрипта pytorch_install.sh, который:
    • Создает виртуальное окружение venv.
    • Активирует окружение.
    • Устанавливает пакеты torch, torchvision, torchaudio.
    • Выполняет тестовый скрипт для проверки установки.
  15. Перезагрузка сервера после завершения установки.

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

  • Пользователь user имеет права на выполнение команд от имени суперпользователя через группу sudo.
  • Скрипт установки install_script.sh имеет права на выполнение для владельца (u=rwx) и чтение для остальных (g=r,o=r).
  • Скрипт pytorch_install.sh в домашней директории пользователя имеет права на выполнение.
  • Пароль пользователя генерируется случайно и хранится в защищенном файле /root/user_credentials.

Настройки прав

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

  • /root/install_script.sh: владелец root, права u=rwx,g=r,o=r.
  • /home/user/pytorch_install.sh: права на выполнение (chmod +x).
  • /home/user/pytorch.sh: права на выполнение (chmod +x).
  • Директория /home/user/venv: создается с правами по умолчанию для пользователя user.

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

Для работы с установленным окружением PyTorch используются следующие команды:

  1. Активация виртуального окружения:

    cd /home/user
    ./pytorch.sh
    

  2. Проверка установки PyTorch и доступности CUDA:

    python3 -c "import torch; print('PyTorch installed with CUDA' if torch.cuda.is_available() else 'No CUDA device available')"
    

  3. Запуск тестового скрипта внутри виртуального окружения:

    python3 -c "import torch; x = torch.rand(5, 3); print(x)"
    

  4. Деактивация виртуального окружения:

    deactivate
    

Обновление компонентов системы или пересборка окружения требует повторного выполнения скрипта pytorch_install.sh после обновления пакетов через apt.

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