Сергей Нотевский
Инференс
English version

Инференс-рантайм

Как думать про production-инференс для LLM, STT, embeddings и rerankers.

Глубокий разбор
v0.1
Обновлено 23 мая 2026 г.
Руководители ИИ-платформ
ML Platform-инженеры
MLOps-инженеры
inference
vllm
gpu
развёртывание
Хранится только в этом браузере.

Проблема

Запустить модель - не то же самое, что построить инференс как возможность платформы.

Симптомы

  • Пропускная способность хорошая в бенчмарке, но TTFT плохой в продукте.
  • Загрузка GPU высокая, но стоимость успешной задачи хуже, чем на MaaS.
  • Новые модели запускаются копированием флагов из истории чата.

Ментальная модель

Инференс-рантайм - это связка модели, железа, планировщика, batching, памяти, кеша, маршрутизации и формы нагрузки.

Архитектура

Слой рантайма включает OpenAI-compatible API, воркеры моделей, batching, KV-cache, prefix cache, квантование, speculative decoding, multi-GPU запуск, autoscaling, планирование мощности и не только LLM: STT, embeddings, rerankers.

Метрики

Отслеживай TTFT, TPOT, общую задержку, токены в секунду, время в очереди, размер batch, долю попаданий в кеш, память GPU, загрузку, ошибки, cold start и стоимость принятого результата.

Мощность - это не сумма GPU

Кластер может выглядеть достаточным по пропускной способности, но проваливаться по p99, если разные профили запросов живут в одном пуле.

SLO-сегментация

fast

Быстрый чат

Стабильный TTFT и короткий контекст.

long

Длинный контекст

Отдельный prefill, память KV-cache и контроль качества.

batch

Пакетная обработка

Очередь, backlog и стоимость важнее интерактивности.

critical

TTFT-critical

Выделенный пул, лимиты очереди и свой SLO.

Общий пул часто оптимизирует среднюю загрузку, но ломает p99 и TTFT для сценариев, где первая задержка критична.

Выделенный пул дороже в инфраструктуре, но дешевле, чем лечить p99 общими настройками, которые конфликтуют с другими профилями нагрузки.

Context window - не рабочий контекст

Заявленный max context отвечает только на вопрос "сколько токенов модель может принять". В production важнее другое: сколько контекста влезает на выбранном железе, сколько prefill latency это создаёт и сохраняется ли качество на длинном окне.

1M токенов в спецификации не означает 1M полезного контекста в сценарии. Для длинных окон нужен отдельный eval: качество по длинам, задержка prefill, память под KV-cache и стоимость принятого результата. См. публичный разбор: Почему миллион токенов не решает проблему контекста.

Компромиссы

Более высокая пропускная способность может увеличить задержку. Квантование снижает потребление памяти и стоимость, но может ухудшить качество. Больший контекст уменьшает обрезание, но увеличивает prefill и давление на кеш.

Анти-паттерны

  • Считать флаги vLLM фольклором вместо версионированных рецептов.
  • Выбирать железо по спорам о брендах, а не по профилю нагрузки.
  • Запускать LLM и игнорировать embeddings, STT и rerankers как полноценные платформенные компоненты.

Чеклист

  • Каждый рецепт запуска версионирован и воспроизводим.
  • Запуск модели включает железо, флаги, ожидаемую пропускную способность и задержку.
  • Планирование мощности использует реальную форму трафика сценария.
  • Бюджет кеша рассчитан на рабочий набор, а не только на максимальный контекст.
  • Есть отдельные профили для short-context, long-context и agentic workload.
  • Latency-critical сценарии не смешиваются с batch-heavy и long-context нагрузкой без явного решения.
  • Максимальный context window не используется как дефолтный путь.
  • Планирование мощности учитывает prefill, KV-cache и ожидаемое повторное использование префикса.
  • Выкатка имеет резервный маршрут и сравнение качества с предыдущим алиасом.

Пример

Рецепт vLLM должен фиксировать модель, tensor parallelism, максимальный контекст, лимиты batching, флаги парсера инструментов, ожидаемую VRAM и заметки про пропускную способность против задержки, чтобы следующий запуск не собирался по памяти.

Шаблон решения

Запиши модель, железо, рантайм, флаги запуска, нагрузку, SLO по задержке, контроль качества, поведение кеша, границы мощности и путь отката.

Связанные главы

On this page