VPS под AI/ML задачи: PyTorch, Jupyter, FastAPI

ГлавнаяVPS под AI/ML задачи: PyTorch, Jupyter, FastAPI

Содержание

Когда я только начинала разбираться с машинным обучением, мне казалось, что для запуска моделей нужны серверные фермы или сложные облачные платформы с бесконечным количеством кнопок. Но на практике оказалось, что всё можно уместить в одну виртуалку. В этой статье расскажу, как развернуть полноценную среду под ML на обычном VPS: с PyTorch, Jupyter и FastAPI. Всё просто, если знаешь, за что хвататься.


Подбираем VPS для ML задач

Если вы планируете обучать модели, обращайте внимание на конфигурацию:

  • Минимум 2 CPU и 4–8 GB RAM — иначе Jupyter будет подвисать.
  • SSD-диск от 20 ГБ — под датасеты и модели.
  • Ubuntu 22.04 — стабильная и поддерживаемая версия, с которой дружат почти все ML-библиотеки.

Клиенты CloudVPS часто используют такие конфигурации как недорогой ml-сервис — просто и удобно.


Установка Python и PyTorch

После подключения к VPS (через SSH) первым делом обновим систему:

sudo apt update && sudo apt upgrade -y

Устанавливаем Python и pip:

sudo apt install python3 python3-pip -y

Создаём виртуальное окружение:

python3 -m venv venv source venv/bin/activate

Ставим PyTorch:

pip install torch torchvision torchaudio

Готово! Можно импортировать

torch
и начать писать первую модель.


Настройка Jupyter Notebook

Jupyter — это, грубо говоря, ваш рабочий стол для ML.

Устанавливаем:

pip install notebook

Создаём конфиг:

jupyter notebook --generate-config

Устанавливаем пароль:

from notebook.auth import passwd passwd()

Добавьте сгенерированный хеш в

~/.jupyter/jupyter_notebook_config.py
:

c.NotebookApp.password = 'sha1:...' c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888

Запускаем:

jupyter notebook

Теперь блокнот доступен по IP:8888. Обязательно настройте брандмауэр или reverse proxy для безопасности.


Быстрый API на FastAPI

FastAPI — идеальный выбор, если вы хотите обернуть модель в API. Он быстрый, лаконичный и поддерживает async.

Установка:

pip install fastapi uvicorn

Простой пример:

from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "ML-сервер готов!"} # Запуск # uvicorn main:app --host 0.0.0.0 --port 8000

В проде лучше запускать с помощью systemd или docker.


Пример кейса: запуск ML-проекта на VPS

Недавно я разворачивала проект по классификации изображений. На VPS с 4 ядрами и 8 ГБ памяти разместились PyTorch, Jupyter и FastAPI. Обучение шло 3 часа, API разворачивался за 5 минут. Такая связка — находка для pet-проектов, демонстраций и MVP.


Разворачивать ML-инфраструктуру на VPS — это не боль, а скорее приятная рутина. С правильным подходом и чёткими шагами можно за пару часов получить рабочее окружение. Не нужен дорогой ml сервис — достаточно VPS от CloudVPS и желания экспериментировать.