efeslab/Nanoflow
Высокопроизводительная система обслуживания, ориентированная на пропускную способность, для LLM
Что это за инструмент
NanoFlow — это высокопроизводительный фреймворк для обслуживания LLM, ориентированный на максимизацию пропускной способности (throughput). Он превосходит такие решения, как vLLM, Deepspeed-FastGen и TensorRT-LLM, за счет уникальных методов распараллеливания.
Зачем нужен
Инструмент решает проблему неэффективного использования ресурсов GPU и CPU при последовательном выполнении операций в традиционных системах. Он полезен для развертывания LLM в условиях высокой нагрузки, где критична максимальная скорость обработки запросов и утилизация аппаратных ресурсов.
Что можно реализовать
- Развертывание крупных моделей (Llama2/3 70B, Qwen2 72B) на кластерах из нескольких GPU (например, 8xA100) с целью максимизации throughput.
- Обработка реальных рабочих нагрузок (traces) с переменным количеством токенов, где важно поддерживать высокую скорость генерации.
- Сценарии с высокой частотой входящих запросов (online latency), требующие минимальных задержек при одновременном обслуживании множества пользователей.
- Исследование и сравнение производительности различных serving-фреймворков на одинаковых аппаратных конфигурациях.
Ключевые возможности
- Intra-device parallelism: использование nano-batching для одновременного выполнения операций, ограниченных вычислениями, памятью или сетью, внутри одного устройства.
- Асинхронное планирование на CPU: опережающее формирование батчей и управление KV-cache до завершения текущей итерации GPU, что снижает накладные расходы.
- Эффективное управление KV-cache: асинхронная выгрузка завершенных запросов на SSD для повторного использования контекста в многошаговых диалогах.
- Высокая производительность: до 1.91x прирост пропускной способности по сравнению с TensorRT-LLM в бенчмарках.
- Интеграция с оптимизированными библиотеками: использование CUTLASS для GEMM, FlashInfer для Attention и MSCCL++ для сети.
👤 Кому подойдёт: Инженеры по машинному обучению (MLE), разработчики систем машинного обучения (MLOps), исследователи производительности LLM и архитекторы высоконагруженных сервисов на базе LLM.