Проблема: Kubernetes слеп к содержимому GPU
Современная инфраструктура LLM страдает от разделения знаний. Kubernetes знает, какие Pod'ы живы, но не видит, что происходит внутри: уровень загрузки KV-кэша, глубину очереди или наличие полезных префиксов. В результате оркестратор может завершить Pod с самым горячим кэшем (95% утилизации) или распределить нагрузку по round-robin, игнорируя локальность данных. Это приводит к падению производительности и нарушению SLA.
Решение: llm-d как слой осознанности
Проект llm-d (LLM Distributed) не заменяет vLLM или Kubernetes, а объединяет их. Он построен на базе Gateway API Inference Extension и использует InferencePool — новый тип объекта Kubernetes, который группирует серверы модели и позволяет внедрить кастомные алгоритмы маршрутизации. llm-d решает, какой именно экземпляр vLLM обработает запрос, учитывая его текущее состояние.
Ключевые метрики и возможности
Система внедряет несколько критических улучшений для продакшн-развертываний:
- Scored Inference Routing: Замена round-robin на маршрутизацию, оценивающую локальность prefix-cache, нагрузку KV-кэша и соблюдение SLA.
- Disaggregated Serving: Разделение фаз prefill и decode на разные пулы GPU. Prefill (вычислительно тяжелый) и decode (I/O-ориентированный) масштабируются независимо.
- Global Cache Index: Кэш больше не заперт в VRAM одного Pod'а. Он может быть выгружен в host memory/disk или разделен между инстансами через глобальный индекс.
Технический стек и совместимость
llm-d работает как надстройка, сохраняя архитектуру «best-of-breed»:
| Компонент | Роль в стеке llm-d | Что делает llm-d |
|---|---|---|
| vLLM | Движок инференса | Не заменяется. Отвечает за batching, PagedAttention и управление памятью GPU. |
| Kubernetes | Оркестратор | Не заменяется. Управляет жизненным циклом Pod'ов, Deployments и Services. |
| llm-d | Интеллектуальный слой | Принимает решения о маршрутизации, дисагрегации и шаринге кэша на основе метрик инференса. |
Почему это важно
Для небольших кластеров llm-d может показаться избыточным. Однако для крупных продакшн-развертываний он устраняет необходимость в «костылях» в виде внешних роутеров. Проект открыт под лицензией Apache 2.0 и разработан участниками проектов Kubernetes и vLLM, что гарантирует глубокую интеграцию с экосистемой.
Источник: Towards AI pub ↗
