Суть предложения: та же инфраструктура, половина цены
Together AI представила функцию preemptible compute для своих GPU-кластеров на базе Kubernetes. Ключевое отличие от стандартных узлов (on-demand) заключается в механизме возврата ресурсов: прерываемые узлы используют свободную мощность дата-центров и могут быть отозваны в любой момент. Взамен пользователи получают фиксированную скидку 50% от базовой ставки, независимо от колебаний рынка (в отличие от Spot-инстансов AWS или GCP, где цены плавают).
Биллинг происходит с точностью до минуты (каждые 1-2 минуты), что делает экономичным запуск даже коротких экспериментов.
Механика прерывания: 5 минут на спасение данных
Когда Together AI решает забрать узел обратно, запускается процесс graceful drain. У пользователя есть строгий лимит времени для сохранения состояния (checkpoint) и корректного завершения работы:
| Этап | Действие системы | Действия пользователя |
|---|---|---|
| T+0 | Узел помечается как cordoned, генерируется событие TogetherPreempted, поды получают сигнал SIGTERM. |
Запустить процесс сохранения чекпоинтов. |
| T+0 до T+5:00 | Запускается таймер grace period (максимум 5 минут). | Настроить terminationGracePeriodSeconds на 300 секунд. Дописать данные в параллельную файловую систему. |
| T+5:00 | Узел принудительно удаляется из кластера. | Поды завершают работу. Кластер автоматически начнет восполнять целевое количество preemptible-узлов при появлении свободных ресурсов. |
Для каких задач это идеально подходит
Главный критерий использования — способность задачи к восстановлению (checkpointing/retry). Together AI рекомендует использовать прерываемые узлы для:
- Коротких экспериментов: абляции, поиск гиперпараметров, быстрое дообучение (fine-tuning), оценка моделей (evals) и дистилляция.
- Батч-инференса: обработка больших объемов данных, где прерванный запрос можно просто перезапустить.
- Всплесков нагрузки: временное увеличение мощности для внутренних задач без риска для критичного пользовательского трафика.
Для сравнения: сохранение чекпоинта модели GLM5.3 Flash (321B параметров, ~3.5 ТБ) занимает от 22 секунд до 4 минут даже на деградированной ФС, что укладывается в лимит 5 минут.
Технические ограничения и настройки
Прерываемые узлы не являются отдельным типом кластера — они добавляются в существующий через лейбл together.ai/compute-class=preemptible. Это позволяет разделять критичные компоненты (координаторы, login-поды, продакшн-реплики) на стандартных узлах, а воркеры — на дешевых прерываемых.
Важные нюансы:
- В кластере должен быть хотя бы один стандартный узел.
- Нет минимального времени жизни узла (в превью-версии).
- Конвертация узлов из стандартных в прерываемые «на лету» невозможна.
- Фактическое количество выделенных GPU (
allocated_preemptible_gpus) может быть меньше запрошенного (desired_preemptible_gpus), если в дата-центре нет свободной мощности.
Как начать использовать
Создание кластера с прерываемыми узлами осуществляется через CLI или API. Пример команды для создания нового кластера с 8 стандартными и 8 прерываемыми GPU:
tg beta clusters create \
--name my-cluster --region us-central-2 --gpu-type RTX_6000_PCI \
--cluster-type KUBERNETES --num-gpus 8 --billing-type ON_DEMAND \
--num-preemptible-gpus 8 \
--project-id
Для существующих кластеров можно динамически масштабировать количество прерываемых узлов командой tg beta clusters update --num-preemptible-gpus 16. Поддержка Slurm и региональная экспансия запланированы на будущее.
Источник: Together AI ↗
