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 →
RepoRadar