Инструменты31 июля 2026 г., 21:00 МСК🤖 Auto

Together AI: Автомасштабирование LLM-инференса через метрики TTFT и GPU

Together AI представила систему автомасштабирования для выделенных моделей, позволяющую управлять затратами и задержками через 8 специфичных метрик, от in-flight запросов до утилизации GPU.

Баннер новости 4829

Проблема классического autoscaling для LLM

Традиционные подходы к масштабированию, основанные на CPU-метриках, не работают для LLM-инференса. GPU может показывать 60% утилизации, в то время как очередь запросов уже переполнена, так как метрика отражает арифметическую интенсивность, а не давление на систему. Кроме того, холодный старт новой реплики (загрузка весов в VRAM) занимает несколько минут, что делает невозможным реакцию на внезапные пики трафика.

Together AI предлагает баланс между перепрограммированием (оплата простаивающих GPU) и недопрограммированием (резкий рост TTFT с 200 мс до 15 секунд). Система использует пропорциональный контроллер: количество желаемых реплик рассчитывается как ceil(N × observed/target), с добавлением окон сглаживания для предотвращения колебаний.

8 метрик для точного контроля

Платформа позволяет выбирать метрики, разделенные на три категории: Concurrency-driven (опережающие), SLO-driven (отложенные/latency-based) и Efficiency-driven (стоимостные). Выбор метрики критичен: например, метрики скорости декодирования работают только при потоковой передаче данных (streaming).

Метрика Что измеряет Тип Когда использовать
inflight_requests Количество одновременных запросов на реплику AVERAGE_VALUE Базовый вариант. Надежный, опережающий индикатор.
ttft (p95) Время до первого токена VALUE • percentile Когда есть SLO на скорость отклика (например, < 1 сек).
e2e_latency Полная задержка запроса VALUE • percentile SLO на время полного завершения генерации.
gpu_utilization Процент занятости GPU UTILIZATION (0–100) Оптимизация затрат, где допустима вариативность задержек.
token_utilization Использование токеном-емкости UTILIZATION Пакетная обработка и работа на пределе возможностей движка.
throughput_per_replica Токенов/сек на реплику AVERAGE_VALUE Пайплайны с длительной генерацией.
decoding_speed Токенов/сек на запрос VALUE Защита скорости генерации для каждого пользователя.
cache_hit_rate Эффективность префикс-кэша UTILIZATION Специфичные сценарии с высокой нагрузкой на кэш.

Настройка окон масштабирования

Ключевая особенность системы — асимметричные окна масштабирования, которые нужно настраивать под распределение трафика:

  • scale_up_window (рекомендуется коротким, например, 60с): определяет, как быстро система добавляет реплики. Ошибка здесь стоит денег (лишние минуты работы GPU), но промедление стоит пользователям высокой задержки.
  • scale_down_window (по умолчанию 5 минут): определяет, как долго система ждет спада трафика перед удалением реплик. Ошибка здесь стоит денег (холодный старт при следующем пике) и времени.

Пример конфигурации

Для настройки политики используется команда PATCH. Ниже пример, где система масштабируется по метрике TTFT (p95 < 500 мс), с диапазоном от 1 до 6 реплик:

tg beta endpoints update $DEPLOYMENT_ID \
  --min-replicas 1 --max-replicas 6 \
  --scale-up-window 60s --scale-down-window 300s \
  --scaling-metric ttft --scaling-target 500 --scaling-percentile p95

Важно: масштабирование до нуля (scale-to-zero) не поддерживается в автоматическом режиме. Установка min=0, max=0 полностью останавливает деплоймент и прекращает биллинг, но для запуска требуется явное действие.

Источник: Together AI ↗