NanoFlow - это универсальный фреймворк для LLM, ориентированный на повышение пропускной способности. Он комбинирует в себе набор техник: параллелизм внутри устройства, асинхронное планирование CPU и выгрузка KV-кеша готовых запросов на SSD.
В результате NanoFlow имеет пропускную способность выше, чем другие фреймворки - vLLM, Deepspeed-FastGen и TensorRT-LLM.
Архитектура NanoFlow основана на методе, который позволяет одновременно выполнять операции вычисления, памяти и сети. Параллелизм операций возможен из-за применения логики "микропакетов" для планирования операций и выделения ресурсов.
NanoFlow использует асинхронный поток управления, который запускает следующую итерацию без ожидания окончания предыдущей, тем самым ощутимо повышается утилизация ресурсов и снижается задержка в пайплайне модели.
Для оценки производительности NanoFlow были проведены эксперименты на различных моделях LLM: Llama2-70B, Qwen2-72B, DeepSeek-67B, Mixtral-8x7B и LLaMA3-8B на узле на узле DGX 8xA100 80 ГБ.
Результаты показали, что NanoFlow демонстрирует 1,91-кратное увеличение пропускной способности по сравнению с TensorRT-LLM.
# Clone repo & crate venv
git clone https://github.com/efeslab/Nanoflow.git
cd Nanoflow
chmod +x ./installAnaconda.sh
./installAnaconda.sh
# Install dependencies
yes | ./setup.sh
# Download model
./modelDownload.sh
# Serving datasets
./serve.sh
@ai_machinelearning_big_data
#AI #Framework #MLTool #NanoFlow #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍12❤5