efeslab/Nanoflow

Высокопроизводительная система обслуживания, ориентированная на пропускную способность, для LLM

Инференс⭐ 976Jupyter Notebook
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

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.

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.