Buoyant выпустила Kinference для маршрутизации vLLM в Kubernetes

Buoyant выпустила Kinference для маршрутизации запросов vLLM в Kubernetes. В собственном тесте компании медианное TTFT на нагрузке с общим префиксом снизилось примерно на 95% относительно Kubernetes Service; для запросов без общего префикса заметного выигрыша не было.

Buoyant выпустила Kinference для маршрутизации vLLM в Kubernetes. Тематическая карточка Comrad404.

Buoyant выпустила Kinference — управляющий слой для маршрутизации запросов к моделям vLLM в Kubernetes. Проект добавляет политики маршрутизации, балансировку с учётом KV-кэша и метрики по арендаторам. О выпуске и результатах тестирования 7 ноября 2026 года сообщил MarkTechPost.

Как Kinference меняет маршрутизацию

Kinference размещается перед группой рабочих узлов vLLM и выбирает, куда направить запрос. Правила могут учитывать арендатора, запрошенную модель, состояние пула GPU и семантические теги. В одном управляющем слое также предусмотрены ограничения скорости по токенам и метрики по арендаторам. Политики хранятся в Kubernetes-ресурсах и, по материалу MarkTechPost, могут проверяться офлайн с помощью CLI kinfctl.

Среди описанных сценариев — отправка простых запросов на менее дорогую модель, если перекрытие KV-кэша не делает большую модель быстрее. Для всплеска нагрузки правило может пропускать рабочие узлы, в очереди которых больше двух запросов, и использовать внешнего провайдера. Запросы с тегом PII можно оставить только на локальных узлах и отклонить, если подходящего направления нет. При выборе конечной точки Kinference учитывает прогнозируемое время до первого токена, длину очереди и перекрытие кэша.

Какие результаты показала Buoyant

В опубликованном сравнении использовались три пода vLLM версии 0.31.0, каждый с одним GPU L40S, модель Qwen3.8-27B-FP8 и генератор нагрузки GuideLLM 0.8.1. Базовым вариантом была маршрутизация через Kubernetes Service.

Нагрузка Kubernetes Service Kinference Медианное TTFT
Без общего префикса 6,92 с 6,83 с Заметного выигрыша нет
Общий префикс 6,88 с 0,31 с Снижение примерно на 95%
Многоходовые запросы 1,70 с 0,59 с Снижение примерно на 65%

В тесте пропускной способности goodput — число запросов в минуту, укладывающихся в заданный SLO, — на нагрузке с общим префиксом составил 103,0 запроса в минуту против 14,0 у Kubernetes Service, примерно в 7,4 раза больше. Для многоходовых запросов показатели составили 82,7 и 23,8 запроса в минуту соответственно, примерно в 3,5 раза. Эти показатели сравнивают два варианта маршрутизации, а не долю успешных запросов от общего числа попыток.

Для каких нагрузок это может быть полезно

По приведённым Buoyant результатам наибольшая разница появилась при общем префиксе и в многоходовых запросах — сценариях, где сохранение состояния KV-кэша может влиять на задержку. На запросах без общего префикса медианное время до первого токена изменилось незначительно: 6,92 секунды у Kubernetes Service против 6,83 секунды у Kinference. Поэтому цифры не показывают одинакового ускорения для всех типов запросов.

Что ограничивает сравнение

Это самотестирование Buoyant: базовым вариантом была случайная маршрутизация через Kubernetes Service, а не другой маршрутизатор с учётом KV-кэша, например llm-d или Dynamo. Измерения проводились на трёх GPU L40S, одной модели и заданных сценариях; Buoyant отмечает, что использованные SLO в 8 и 4 секунды лучше соответствуют офлайн-агентам, чем обычному чату. В публикации проект указан как v0.1.0-alpha.7; цена и независимые подтверждения результатов не приведены. Поэтому тест описывает конкретное сравнение, но не устанавливает преимущество Kinference над специализированными альтернативами или результат для других кластеров.