llm-d: высокопроизводительный стек для распределённого сервинга вывода

llm-d: высокопроизводительный стек для распределённого сервинга вывода

llm-d — это высокопроизводительный стек для распределённого сервинга вывода, оптимизированный для работы на Kubernetes. Он помогает достигнуть максимальной производительности в задачах обработки больших языковых моделей на различных аппаратных ускорителях.

Проект отличается от традиционных серверов моделей, таких как vLLM и SGLang, тем что предоставляет более гибкую оркестрацию и оптимизацию в масштабных продуктивных раз deployments. llm-d ориентирован на эффективное управление трафиком и значение на реальных кейсах, с использованием интеллектуального маршрутизации и кэширования.

Созданный при поддержке таких компаний, как Red Hat, Google Cloud и NVIDIA, проект написан на Go и имеет документацию, доступную на сайте. Однако стоит учесть, что актуальная версия — 0.8 и она находится в стадии активной разработки. Добавь свой API-ключ, если это потребуется, и готовься к развертыванию на Kubernetes.

llm-d — это высокопроизводительный стек для распределённого обслуживания вывода (inference), оптимизированный для производственных развертываний в Kubernetes. Этот проект направлен на достижение лучших показателей производительности для крупных языковых моделей с открытым исходным кодом на различных аппаратных ускорителях и платформенных провайдерах.

Проект является песочницей Cloud Native Computing Foundation (CNCF) и был основан такими компаниями, как Red Hat, Google Cloud, IBM Research, CoreWeave и NVIDIA.

Что предлагает llm-d для продакшн вывода?

llm-d предоставляет усовершенствованную оркестрацию и оптимизации для обслуживания высоких нагрузок в реальном времени. Основные возможности включают:

  • Интеллектуальная маршрутизация: Максимизация производительности с помощью кэширования префиксов и балансировки нагрузки, включая экспериментальное планирование на основе предсказаной задержки для уменьшения латентности и увеличения пропускной способности.
  • Управление KV-кэшом: Увеличение эффективного размера "рабочего набора" для многопользовательских запросов с помощью многоуровневой выгрузки на CPU или диск.
  • Обслуживание крупных моделей: Оптимизация больших моделей с помощью разграничения предварительного заполнения и декодирования.
  • Операционная стабильность: Обеспечение стабильности в продакшне с помощью интеллектуального контроля потоков и автоподстройки на основе сигналов вывода в реальном времени.
  • Пакетная обработка: Эффективное управление оффлайн выводом в крупных масштабах с помощью OpenAI-совместимых API и асинхронной обработки.

Как установить и запустить?

Для начала работы с llm-d, рекомендуется обратиться к Quickstart Guide, где объясняется, как развернуть первый оптимизированный сервис вывода на Kubernetes. Там будет информация о настройках стека llm-d и проверке производительности с помощью готовых бенчмарков.

Ограничения и производительность

llm-d демонстрирует заметные приросты производительности в продакшне, такие как:

  • В три раза выше пропускная способность и в два раза более быстрая задержка первой токена с использованием кэширования префиксов по сравнению с традиционной маршрутизацией.
  • Снижение латентности и времени на токен с помощью планирования на основе предсказанной задержки.
  • Улучшение производительности с использованием широкой экспертной параллелизации.

Для получения более детальной информации о производительности рекомендуется ознакомиться с документацией и бенчмарками.

Вопросы и поддержка

Если возникают вопросы или требуется поддержка, ты можешь присоединиться к Slack каналу, где обсуждаются вопросы разработки и взаимодействия с проектом. Кроме того, документация проекта постоянно обновляется и содержит актуальную информацию о релизах и руководствах.

Открыть на GitHub: llm-d/llm-d →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте