
Как запустить LLM в облаке без покупки GPU-сервера
Подберём сервер под задачи
Ответьте на несколько вопросов — подготовим предложение
Если компании нужно проверить LLM, собрать прототип ИИ-ассистента или понять, какая видеокарта вообще подходит проекту, покупать собственный GPU-сервер сразу необязательно. Можно арендовать GPU в облаке, развернуть модель на несколько часов, измерить потребление видеопамяти и скорость, а уже после этого решать, какая постоянная инфраструктура потребуется.
В этой статье пройдём один конкретный сценарий: создадим Data Science Virtual Machine (DSVM) в Selectel, подготовим виртуальную машину с GPU на 24 ГБ и самостоятельно развернём публичную модель Qwen3-8B через vLLM. Заодно разберём, почему не стоит выбирать GPU только по числу параметров модели, как правильно прекратить тарификацию после эксперимента и какие результаты нужно сохранить, чтобы превратить облачный тест в техническое задание на рабочую станцию или GPU-сервер.
Что получим в результате
К концу инструкции у нас должна получиться такая схема:
Компьютер разработчика → защищённое SSH-соединение → DSVM Selectel → vLLM → Qwen3-8B → OpenAI-совместимый API
Мы не создаём собственную языковую модель. Qwen3-8B — публичная модель команды Qwen. Мы самостоятельно разворачиваем её выделенный экземпляр в собственном облачном окружении и контролируем GPU, программное обеспечение, параметры запуска и доступ к серверу.
Это важное отличие от обычного API стороннего поставщика.
Три способа получить LLM без собственного сервера
Перед созданием виртуальной машины определимся, нужен ли нам вообще полный контроль над инфраструктурой.
Готовая модель через API
Если задача — быстро встроить уже доступную LLM в приложение, проще воспользоваться готовым сервисом.
У Selectel для такого сценария есть Foundation Models Catalog. Модели работают как изолированные сервисы на выделенных ресурсах, а пользователь получает отдельную точку доступа, совместимую с OpenAI API, и ключ. На 25 августа 2026 года продукт находится в стадии публичного тестирования. Произвольные собственные модели загрузить в каталог нельзя.
Этот путь выбирайте, если хотите работать с моделью, а не с инфраструктурой вокруг неё.
DSVM с GPU
DSVM (Data Science Virtual Machine) — уже подготовленная виртуальная система для машинного обучения. В образ Selectel входят Ubuntu 22.04, Python 3.10, PyTorch, TensorFlow, JupyterLab, Jupyter Notebook и драйверы для GPU. GPU для такого образа обязателен.
Здесь пользователь получает полноценный сервер и может самостоятельно выбирать модель, библиотеки и способ запуска.
Именно этот вариант используем дальше.
Более сложная инфраструктура для команды
Когда появляются несколько разработчиков, разные среды, обучение и инференс одновременно, Kubernetes, общее хранилище датасетов и централизованный мониторинг, одна DSVM перестаёт быть удобной точкой управления.
Для такого сценария Selectel предлагает ML Platform на базе Managed Kubernetes с GPU, S3, Container Registry, Keycloak и мониторингом. Платформа поддерживает сценарии с ClearML и Kubeflow.
Для первого запуска LLM это избыточно, поэтому дальше ML Platform нам не понадобится.
Что будем запускать
Для примера возьмём Qwen3-8B.
Модель содержит 8,2 млрд параметров, использует BF16 и штатно поддерживает контекст до 32 768 токенов. Авторы также указывают поддержку vLLM начиная с версии 0.8.5.
Почему именно она:
- модель достаточно компактная для одной GPU;
- это уже полноценная LLM, а не игрушечная модель на миллиард параметров;
- она поддерживает русский и множество других языков;
- её можно использовать для чата, RAG, программирования и агентных экспериментов;
- авторы официально приводят пример запуска через vLLM.
Но здесь есть важная ловушка.
Почему мы не берём GPU на 16 ГБ
8,2 млрд параметров в BF16 требуют приблизительно: 8,2 млрд × 2 байта = 16,4 ГБ. И это только веса. Дополнительно видеопамять используют:
- кэш контекста;
- CUDA;
- vLLM;
- служебные буферы;
- промежуточные данные.
Поэтому фраза «8B-модель помещается в 16 ГБ» для исходной BF16-версии Qwen3-8B некорректна. Сами веса уже превышают этот объём.
Для этого гайда выбираем GPU с 24 ГБ видеопамяти и дополнительно ограничиваем максимальный контекст в первом тесте. Это не гарантирует одинаковый расход памяти при любой нагрузке, но оставляет намного более разумный запас, чем 16 ГБ.
Наша референсная конфигурация
Для первого эксперимента будем ориентироваться на эту конфигурацию для проверки:
| Компонент | Конфигурация |
|---|---|
| Образ | Data Science VM |
| ОС | Ubuntu 22.04 LTS |
| GPU | NVIDIA A5000 24 ГБ |
| vCPU | 8 |
| ОЗУ | 32 ГБ |
| Загрузочный диск | сетевой, 80 ГБ |
| Модель | Qwen/Qwen3-8B |
| Формат | BF16 |
| Сервер модели | vLLM |
| Максимальный контекст теста | 4096 токенов |
| Режим Qwen | без рассуждений |
| Максимальный ответ | 512 токенов |
A5000 — не единственная подходящая карта. В облаке Selectel также доступны другие GPU на 24 ГБ, включая A30, L4 и RTX 4090 24 ГБ; фактический список зависит от локации и пула. В текущей документации Selectel также указаны классы от 16 ГБ у T4 и A2 до 141 ГБ у H200.
Мы выбираем A5000 не потому, что она «лучшая для Qwen3», а чтобы зафиксировать один понятный сценарий.
80 ГБ диска — наша рекомендация для этого эксперимента, а не минимальное требование Selectel. Сам образ DSVM требует минимум 40 ГБ, но модели, окружению vLLM, кэшу и журналам нужен дополнительный запас.
Как выбирать GPU для других LLM
Универсальной формулы «N миллиардов параметров = X гигабайт видеопамяти» нет. Но для первоначальной оценки полезно считать хотя бы вес самой модели.
BF16
Один параметр занимает примерно 2 байта:
- 8B ≈ 16 ГБ;
- 14B ≈ 28 ГБ;
- 32B ≈ 64 ГБ;
- 70B ≈ 140 ГБ.
К этим значениям нужно добавить память для выполнения модели.
Квантованные версии
Если веса хранятся с меньшей точностью, требования заметно сокращаются. Но разные модели и форматы квантования дают разный результат.
Например, OpenAI распространяет gpt-oss-20b с квантованными MoE-весами MXFP4 и указывает возможность запуска на системах с 16 ГБ памяти. Для gpt-oss-120b компания указывает одну GPU на 80 ГБ. Это свойства конкретных моделей и формата их весов, а не универсальное правило для любых 20B и 120B.
Поэтому выбирать GPU лучше так:
| Видеопамять | Для чего рассматривать |
|---|---|
| 16 ГБ | Компактные модели и специально квантованные сборки |
| 24 ГБ | Модели класса 7–8B в BF16, часть 7–14B в квантованном виде |
| 40–48 ГБ | 14B в BF16, более крупные квантованные модели, длинный контекст или повышенная параллельность |
| 80 ГБ | Крупные модели и тяжёлый инференс |
| 141 ГБ | H200, особо крупные модели и большой контекст и запас памяти |
| Несколько GPU | Модель не помещается на одну карту или нужна высокая параллельность |
Это ориентир, а не гарантия совместимости. Требования зависят от конкретной архитектуры, формата весов, контекста, размера пакета запросов и движка инференса.
Дообучение тоже нужно считать отдельно. GPU, которой хватает для инференса, может не хватить для обучения: память дополнительно занимают градиенты, активации и состояния оптимизатора.
Пошагово создаём DSVM в Selectel
Шаг 1. Создайте сервер
В панели Selectel откройте: Продукты → AI-маркетплейс → Создать сервер.
Выберите образ Data Science VM (Ubuntu 22.04 LTS 64-bit).
Затем задайте:
- локацию;
- GPU;
- 8 vCPU;
- 32 ГБ оперативной памяти;
- сетевой загрузочный диск 80 ГБ;
- сеть;
- способ доступа.
Список GPU зависит от выбранной локации. После создания сервера локацию изменить нельзя, но тип и количество GPU можно менять.
Перед нажатием «Создать сервер» запишите или сохраните скриншотом:
- дату и время;
- локацию;
- пул;
- модель GPU;
- vCPU;
- RAM;
- тип и размер диска;
- итоговую стоимость в час.
Эти данные понадобятся для экономического расчёта.
Шаг 2. Подключитесь к серверу
После создания DSVM подключитесь по SSH:
ssh user@IP_СЕРВЕРА
Сначала зафиксируйте аппаратную и программную конфигурацию:
nvidia-smi
python3 --version
Затем проверьте PyTorch:
python3 -c "import torch; print(torch.__version__); print(torch.version.cuda); print(torch.cuda.is_available())"
Сохраните вывод команд в журнал тестирования.
Почему это важно: образ DSVM обновляется, как и библиотеки. Если через полгода понадобится повторить эксперимент, одного названия «DSVM» будет недостаточно.
Шаг 3. Создайте отдельное окружение
Не устанавливайте новые зависимости в системный Python:
python3 -m venv ~/qwen-test
source ~/qwen-test/bin/activate
python -m pip install --upgrade pip
Теперь изменения не затронут основное окружение DSVM.
Шаг 4. Установите vLLM
Авторы Qwen3 указывают поддержку Qwen3 в vLLM начиная с версии 0.8.5.
Устанавливаем vLLM:
pip install "vllm>=0.8.5"
После установки сразу запишите фактическую версию:
python -c "import vllm; print(vllm.__version__)"
Если установка меняет зависимости или заканчивается ошибкой совместимости с CUDA/PyTorch, не продолжайте наугад. Зафиксируйте версии из предыдущего шага и подберите совместимую сборку vLLM по её документации.
Важно: более новые версии vLLM могут вести себя иначе.
Шаг 5. Запустите Qwen3-8B
Для первого запуска ограничим контекст четырьмя тысячами токенов:
vllm serve Qwen/Qwen3-8B \
--host 127.0.0.1 \
--port 8000 \
--max-model-len 4096
Официальная карточка Qwen3-8B приводит vllm serve Qwen/Qwen3-8B как штатный способ развёртывания OpenAI-совместимого API. Мы добавили ограничение контекста, чтобы сделать первый эксперимент менее требовательным к видеопамяти.
Полный собственный контекст Qwen3-8B значительно больше — 32 768 токенов, — но увеличивать его стоит только после измерения реального расхода памяти.
Мы также привязываем vLLM к собственному IP-адресу системы 127.0.0.1, чтобы не публиковать сервис модели напрямую в интернет.
Шаг 6. Создайте SSH-туннель
На своём компьютере выполните:
ssh -L 8000:127.0.0.1:8000 user@IP_СЕРВЕРА
Теперь запрос на:
http://127.0.0.1:8000
на вашем компьютере будет передаваться к vLLM на облачной машине.
Шаг 7. Отправьте первый запрос
Для первого сравнимого теста отключим режим рассуждений Qwen3 и ограничим ответ 512 токенами:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-8B",
"messages": [
{
"role": "user",
"content": "Объясни простыми словами, что такое RAG."
}
],
"max_tokens": 512,
"temperature": 0.7,
"top_p": 0.8,
"chat_template_kwargs": {
"enable_thinking": false
}
}'
Первый запрос проверяет работоспособность API. Для измерения времени до первого токена используйте потоковый режим stream: true и клиент без буферизации, например curl -N. Для воспроизводимого бенчмарка лучше применять отдельный измерительный скрипт или инструменты мониторинга vLLM.
Qwen3 поддерживает отдельные режимы с рассуждением и без него. Для режима без рассуждений авторы рекомендуют температуру 0,7 и top_p 0,8. Почему мы выключили рассуждения? Не потому, что этот режим хуже. Нам нужен короткий и повторяемый первый тест. В режиме рассуждений модель способна генерировать значительно более длинный ответ, а значит результаты по времени и расходу ресурсов сравнивать сложнее.
Что стоит измерить в процессе
Вот здесь начинается часть, которая важнее самой установки. Облачный тест полезен не только потому, что модель запустилась. Он должен дать данные для решения о постоянной инфраструктуре.
1. Пиковое потребление видеопамяти
Для приблизительного наблюдения за памятью и загрузкой GPU откройте второй SSH-сеанс и запустите watch -n 1 nvidia-smi. Команда может не показать короткие пики между обновлениями. Для воспроизводимых измерений используйте метрики vLLM или систему мониторинга с записью показателей.
Запишите:
- память после загрузки модели;
- максимальную память во время ответа;
- загрузку GPU.
Если модель занимает почти всю видеопамять уже на одном коротком запросе, для увеличения контекста или параллельности нужен больший запас.
2. Время до первого токена
Это задержка между отправкой запроса и началом ответа.
Для интерактивного ассистента она важнее, чем время полного длинного ответа.
3. Скорость генерации
Запишите количество генерируемых токенов в секунду.
Одна и та же модель на разных GPU может помещаться в память одинаково хорошо, но отвечать с совершенно разной скоростью.
4. Реальный контекст
Повторите тест с тем объёмом текста, который ожидается в рабочем сценарии:
- обычный чат;
- длинный документ;
- RAG;
- программный код.
Не выбирайте оборудование по пустому запросу из одной строки, если в эксплуатации модель будет получать десятки страниц контекста.
5. Параллельные запросы
Один пользователь и двадцать сотрудников создают разные требования.
Начните с одного запроса, затем проверьте несколько одновременных обращений и посмотрите:
- как меняется задержка;
- насколько растёт расход памяти;
- когда GPU перестаёт укладываться в требования по скорости.
Таблица, которую нужно заполнить после теста
Не закрывайте виртуальную машину, пока не сохраните результаты. Ниже таблица лишь для примера на основе цифр нашего эксперимента.
| Показатель | Фактический результат |
|---|---|
| Локация и пул Selectel | заполнить после теста |
| GPU | NVIDIA A5000, 24 ГБ |
| vCPU / RAM | 8 vCPU / 32 ГБ |
| Диск | сетевой, 80 ГБ, указать тип |
| Версия драйвера | заполнить |
| Версия CUDA | заполнить |
| Версия PyTorch | заполнить |
| Версия vLLM | заполнить |
| Модель и ревизия | Qwen/Qwen3-8B, указать ревизию |
| Формат весов | BF16 |
| Контекст | 4096 токенов |
| Максимальный ответ | 512 токенов |
| VRAM после загрузки | заполнить |
| Пиковая VRAM | заполнить с указанием метода измерения |
| Время запуска модели | заполнить |
| TTFT | заполнить с указанием метода измерения |
| Скорость генерации | заполнить, токенов/с |
| Число параллельных запросов | заполнить |
| Ставка из панели | заполнить |
| Время работы | заполнить |
| Итоговые расходы | заполнить по биллингу Selectel |
Это и есть результат эксперимента. Без такой таблицы облако отвечает только на вопрос «запускается или нет». С ней же оно помогает выбрать постоянное оборудование.
Как прекратить расходы после окончания эксперимента
Здесь легко совершить дорогую ошибку: просто взять и выключить виртуальную машину недостаточно.
Selectel продолжает тарифицировать зарезервированные vCPU, RAM, GPU, диски и другие ресурсы выключенного или приостановленного сервера.
И здесь у вас есть два основных варианта.
Заморозить сервер
При заморозке Selectel перестаёт тарифицировать:
- vCPU;
- RAM;
- GPU.
При этом продолжают оплачиваться другие ресурсы, включая сетевые диски, публичные IP-адреса и публичные подсети. Заморозка доступна для сервера с загрузочным сетевым диском. Именно поэтому в нашей референсной конфигурации мы указали сетевой загрузочный диск. Перед заморозкой обязательно сохраните результаты теста.
Удалить инфраструктуру
Если эксперимент закончен окончательно:
- сохраните код;
- выгрузите нужные модели или результаты;
- сохраните журналы;
- проверьте, какие диски и сетевые ресурсы ещё нужны;
- удалите ненужные ресурсы.
После заморозки или удаления сервера откройте раздел потребления облачной платформы и убедитесь, какие ресурсы остались активными и продолжают тарифицироваться.
Важно: для повторяемых пакетных задач можно рассмотреть прерываемый сервер: он в среднем дешевле обычного примерно на 70%, но может быть остановлен провайдером и не имеет стандартного SLA. Для первого ручного запуска и отладки используем обычный сервер.
Сколько стоит такой эксперимент
Цена зависит от:
- выбранной GPU;
- локации и пула;
- количества vCPU;
- RAM;
- диска;
- сетевых ресурсов;
- даты расчёта.
На публичной странице облачных GPU Selectel на момент проверки в конце августа 2026 года указана цена от 58,90 рубля в час, но это стартовая цена сервиса, а не стоимость нашей конкретной DSVM с A5000.
Поэтому считать эксперимент лучше от ставки, которую панель показывает непосредственно перед созданием сервера.
Обозначим её как R рублей в час.
| Сценарий | Время GPU | Вычислительная часть |
|---|---|---|
| Быстрая проверка | 10 часов | 10 × R |
| Несколько рабочих дней | 40 часов | 40 × R |
| Неделя 24/7 | 168 часов | 168 × R |
| 22 дня по 8 часов | 176 часов | 176 × R |
К этой сумме нужно добавить ресурсы, которые тарифицируются отдельно: диски, IP-адреса, сеть и другие подключённые услуги.
Такой расчёт хуже выглядит в рекламной таблице, зато его можно воспроизвести для любой текущей цены Selectel.
Для пилота есть ещё один способ снизить стоимость
Selectel предлагает прерываемые облачные серверы. Их стоимость в среднем примерно на 70% ниже обычного сервера той же конфигурации, однако провайдер может прервать работу такой машины, а обычный SLA на неё не действует.
Этот вариант подходит для:
- повторяемых пакетных экспериментов;
- тестов, которые можно перезапустить;
- подготовки данных.
Для первого ручного развёртывания и отладки мы бы выбрали обычный сервер, чтобы неожиданное прерывание не смешивалось с ошибками собственной настройки.
Как результаты облачного теста превращаются в сервер DigitalRazor
Вот здесь заканчивается задача облачного провайдера и начинается задача интегратора.
После теста мы знаем, что хотим не «просто мощный сервер», а конкретные параметры:
- реальный пик видеопамяти;
- класс GPU;
- рабочую длину контекста;
- число пользователей;
- скорость, которая считается приемлемой;
- время ежедневной загрузки;
- объём данных;
- требования к работе 24/7.
Из них уже можно формировать техническое задание.
Пример логики
Если эксперимент показывает, что модель уверенно работает в пределах одной карты на 24–32 ГБ и обслуживает одного специалиста, покупать сервер на четыре GPU бессмысленно.
Для такого сценария можно рассматривать рабочую станцию Performance Pro 350R. Она поддерживает одну GPU вплоть до профессиональных графических ускорителей RTX PRO 6000.
Если одной карты уже мало или несколько пользователей создают постоянную параллельную нагрузку, следующий уровень — конфигурация с двумя GPU. Performance Pro 750R поддерживает две видеокарты и до 192 ГБ суммарной видеопамяти при установке двух RTX PRO 6000 Blackwell.
Для круглосуточного общего сервиса можно переходить к стоечному Rackstation AI, а для нескольких GPU и более высокой параллельности — к Devbox AI. Rackstation AI поддерживает до двух ускорителей, Devbox AI — до четырёх RTX 5090 или до шести профессиональных GPU.
Что именно передать инженеру
При заказе сервера интегратору вместо фразы: «Нам нужен сервер под Qwen», лучше написать инженеру: «Qwen3-8B, BF16, контекст 4096, пиковое потребление VRAM — X ГБ, N одновременных пользователей, требуемая скорость — Y токенов/с, сервис работает Z часов в сутки». Это уже технические данные, на основе которых можно проектировать систему.
DigitalRazor использует ту же логику при подборе GPU-серверов: сначала модель, объём памяти, режим работы и нагрузка, затем конкретная платформа. На нашем сайте также доступно тестирование конфигурации перед покупкой на модели или приложении заказчика.
Уже протестировали модель в облаке?
Пришлите нам модель, пиковую VRAM, скорость и число пользователей — рассчитаем постоянную конфигурацию
Когда облако лучше оставить облаком
Собственное оборудование нужно не каждому успешному пилоту. Облачный GPU остаётся логичным выбором, если:
- вычисления нужны нерегулярно;
- проект может остановиться через несколько месяцев;
- команда постоянно тестирует разные GPU;
- тяжёлое дообучение проводится несколько раз в год;
- нагрузка сильно скачет;
- покупать и обслуживать сервер пока некому.
Покупка оборудования становится интереснее, когда GPU получает стабильную ежедневную загрузку, сервис нужен круглосуточно или компания хочет прогнозируемые расходы и полный контроль над инфраструктурой.
Но эту границу нельзя назначить одной цифрой для всех.
Следующая задача — взять фактическую ставку облака, измеренное время использования и стоимость подходящей локальной конфигурации и сравнить их на одинаковом горизонте.
Этому будет посвящён наш следующий материал: «Арендовать или купить GPU-сервер: при какой загрузке своё оборудование становится выгоднее». Следите за анонсами в разделе «Медиа» на нашем сайте.
FAQ
Заключение
Облако полезно не только как альтернатива покупке сервера. Для первого ИИ-проекта оно может стать измерительным стендом.
Вместо того чтобы предполагать, сколько видеопамяти и GPU понадобится через год, команда может:
- выбрать конкретную модель;
- создать DSVM;
- арендовать подходящий GPU;
- запустить модель;
- проверить реальный рабочий контекст;
- измерить VRAM и скорость;
- протестировать параллельную нагрузку;
- сохранить расходы;
- заморозить или удалить ненужные ресурсы.
После этого вопрос «какой GPU-сервер нам нужен?» перестаёт быть гаданием на кофейной гуще. Появляются измеренные требования, по которым можно решить: оставить проект в Selectel, заказать рабочую станцию у DigitalRazor или перейти к выделенному GPU-серверу. И именно данные эксперимента, а не желание «взять H100 с запасом», должны определять следующий шаг.






























