Содержание
  1. Карточка задачи до выбора платформы
  2. Что именно переделывается на каждой платформе
  3. Cost sheet: что складывать по каждой платформе
  4. Unknown: что нельзя подставлять нулём
  5. Правила решения по типу нагрузки
  6. Lifecycle: stop, terminate и постоянные диски
  7. Проверка результата перед удалением
  8. Частые вопросы
Подборки и сравнения

Аналоги RunPod для запуска моделей на GPU

31 октября 2026 · 8 минут чтения

Аналоги RunPod для запуска моделей на GPU — это Runpod Pods, Modal и Vast. Выбор строится не на часовой ставке, а на карточке вашей задачи: контрольная сумма входного файла, известный runtime и его digest, требования к GPU и VRAM, путь результата и путь checkpoints, которые должны сохраниться. Ниже — готовая карточка, cost sheet и правила решения.

Карточка задачи до выбора платформы

Начните с job card. В неё входят: контрольная сумма входного файла, известный runtime или образ и его digest, требования к GPU и VRAM из вашей задачи, а также ответ на вопрос, нужен ли живой endpoint между обращениями. Снимите эти данные с уже работающей задачи до выбора провайдера.

Второй блок карточки — ожидаемый результат. Запишите путь готового результата и его контрольную сумму. Отдельной строкой — путь checkpoints и weights, которые должны сохраниться после остановки compute. Разделение важно: результат и промежуточные веса живут в разных местах и по-разному переживают stop и terminate.

Третья строка — переносимость. Гарантии переноса без изменений нет: на Runpod переделывается template или pod, на Modal — app, function, image и volume, на Vast — template и instance. Изменения упаковки фиксируйте в отдельной графе карточки, чтобы не потерять их при следующем запуске.

Что именно переделывается на каждой платформе

В документации Runpod описаны два пути деплоя Pod: через консоль и через CLI. В консоли вы выбираете шаблон с образом контейнера, при необходимости открываете Set overrides для переменных окружения, портов и стартовых команд, задаёте регион, GPU и хранилище. Через CLI Pod создаётся командой runpodctl pod create с именем, идентификатором GPU и образом.

В документации Modal единица работы — Function внутри App. Образ собирается через modal.Image, GPU задаётся аргументом gpu у декоратора function, а постоянные данные живут в Volume. Пример из документации: image = modal.Image.debian_slim().pip_install(«torch», «numpy»), затем app = modal.App(image=image) и декоратор @app.function(gpu=»A100″). Поддерживаются значения от T4 и L4 до B300, а также списки предпочтений вида [«H100», «A100-40GB:2»].

В документации Vast работа идёт через шаблоны и инстансы. Вы выбираете готовый шаблон (PyTorch, TensorFlow, ComfyUI) или создаёте свой, фильтруете машины по типу GPU, объёму RAM, CPU, скорости сети и цене, затем нажимаете Rent. Размер диска задаётся при создании инстанса и позже не меняется.

Платформа Единица работы Что переносится заново
Runpod Pods Pod, шаблон, сетевой том template, pod, переменные окружения
Modal App, Function, Image, Volume app, function, image, volume
Vast Шаблон, инстанс, локальный том template, instance, привязка к машине

Cost sheet: что складывать по каждой платформе

Часовая ставка не описывает счёт целиком. В документации Runpod указано: Pods тарифицируются посекундно за compute и storage, платы за ingress и egress нет. Хранилище делится по типам: container disk — $0.10/GB в месяц и стирается при остановке Pod, volume disk — $0.10/GB в месяц на работающем Pod и $0.20/GB в месяц на остановленном, network volume — $0.07/GB в месяц до 1 ТБ и $0.05/GB в месяц свыше. Остановленный Pod продолжает тарифицироваться за storage.

В документации Modal счёт складывается из GPU, CPU и памяти за оплачиваемое время исполнения, загрузки и простоя, плюс storage и egress. Ставки указаны посекундно: например, Nvidia A100 80 GB — $0.000694 в секунду, Nvidia L4 — $0.000222 в секунду, CPU — $0.0000131 за ядро в секунду, память — $0.00000222 за GiB в секунду. Volumes — $0.09 за GiB в месяц; бесплатно включён 1 TiB. Сетевой egress — $0.04 за GiB.

В документации Vast стоимость собирается из трёх частей: host compute quote, выделенный диск, умноженный на время, и трафик. Передача данных тарифицируется по хосту и включает как upload, так и download. Ставки устанавливают хосты маркетплейса, поэтому их проверяют в дашборде, через CLI или API.

Платформа Включается в счёт Что уточнить отдельно
Runpod Pods GPU compute + storage live quote из консоли деплоя с датой
Modal GPU + CPU + memory за execution, загрузку и idle + storage + egress параметры actual function и measured load/idle
Vast host compute quote + диск × время + upload + download текущие host-set ставки и условия машины

Unknown: что нельзя подставлять нулём

Расчёт не подставляет отсутствующие ставки из чужих подборок. Для Runpod неизвестной остаётся живая цена compute из консоли деплоя — её фиксируют с датой. Для Modal неизвестны фактические параметры function и контейнера, а также измеренные load и idle вашей задачи. Для Vast неизвестны текущие ставки маркетплейса и условия конкретной машины.

Формула счёта выглядит так: C_total = C_compute + C_CPU_RAM_if_separate + C_load_idle_if_billed + C_storage + C_upload_download_if_billed. Известное отсутствие платы вводится явно, unknown не заменяется нулём. Load и idle у Modal входят в оплачиваемое время GPU, CPU и памяти. Если они уже учтены в billable execution, повторно прибавлять их нельзя.

Правила решения по типу нагрузки

Если нужна постоянно работающая арендованная среда, сопоставляйте pod и instance Runpod и Vast по требованиям задачи и сохранности данных. Modal в этом случае рассматривается через его function workflow. Если обращения нерегулярны, вычислите billed load и idle в Modal и сравните с полным временем аренды pod или instance, включая промежутки между запросами.

Если ставка, единица измерения или путь сохранения неизвестны, ценового победителя нет. Остановитесь до получения quote и настройки backup. Это не отказ от выбора, а порядок действий: сначала закрываются неизвестные, потом сравниваются суммы.

Lifecycle: stop, terminate и постоянные диски

На Runpod остановка и удаление Pod — разные операции. При остановке container disk стирается, а volume disk сохраняется и тарифицируется по $0.20 за GB в месяц. Network volume оплачивается отдельно: $0.07 за GB в месяц до 1 ТБ и $0.05 за GB в месяц свыше. При terminate volume disk удаляется. Network volume существует независимо от Pod и привязан к одному дата-центру.

На Modal Volume требует явных commit и reload. Изменения внутри контейнера становятся видны снаружи после commit, а контейнер, стартовавший раньше, увидит их только после reload. В документации по Volumes отмечено: при удалении данных тарификация storage может продолжаться до четырёх дней.

На Vast локальный volume привязан к физической машине и не мигрирует между разными машинами. Зафиксируйте host и volume, а результат экспортируйте до смены инстанса. Container storage удаляется вместе с инстансом, а тарификация storage продолжается и на остановленном инстансе.

Проверка результата перед удалением

Перед stop или delete экспортируйте контрольный результат и проверьте путь постоянного хранения. Остановка compute не означает удаление storage и не прекращает все платежи. Порядок такой: посчитать контрольную сумму результата, убедиться, что она совпадает с ожидаемой из карточки, проверить наличие checkpoints и weights по записанному пути, и только потом останавливать или удалять ресурс.

Отдельно проверьте, где именно лежит файл. В документации Modal приведён пример: запись в /xyz.txt вместо /data/xyz.txt сохранит файл на локальный диск Function, и в Volume его не будет. Похожая логика на Vast: container storage исчезает вместе с инстансом, а volume живёт до удаления.

Частые вопросы

Чем заменить RunPod для запуска моделей на GPU?
Runpod Pods, Modal и Vast закрывают эту задачу разными моделями работы: Pod и instance — арендованная среда, Function — serverless-исполнение. Выбор зависит от того, нужен ли живой endpoint между обращениями и как часто вы запускаете задачу. Сравните полную стоимость выполнения своей карточки задачи с учётом времени и хранения.

Что дешевле: Runpod, Modal или Vast?
Единого ответа нет, пока неизвестны live quote Runpod, параметры вашей function в Modal и текущие host-set ставки Vast. Соберите cost sheet по трём платформам, отметьте unknown явно и сравните суммы. При нерегулярных обращениях считайте billed load и idle в Modal и сравнивайте с полным временем аренды.

Сохранятся ли данные при остановке Pod?
Container disk стирается при остановке Pod. Volume disk сохраняется и на остановленном Pod стоит $0.20 за GB в месяц. Network volume сохраняется и оплачивается отдельно по ставкам $0.07 за GB в месяц до 1 ТБ и $0.05 свыше. При terminate volume disk удаляется, а network volume существует независимо от Pod.

Как перенести volume между платформами?
Автоматического переноса нет. На Modal Volume требует commit и reload, на Vast локальный volume привязан к физической машине. Выгружайте данные через CLI или SDK и загружайте заново на новой платформе, сверяя контрольные суммы.

Нужен ли живой endpoint между обращениями?
Это вопрос из карточки задачи. Если endpoint нужен постоянно, сопоставляйте pod и instance Runpod и Vast. Если обращения редкие, считайте оплачиваемое время Modal, включая загрузку и простой, и сравнивайте с полной арендой.

Читайте также

3 материала