IST-DASLab/marlin
Ядро вывода LLM в форматах FP16xINT4, обеспечивающее ускорение почти в 4 раза при средних батч-размерах 16-32 токена.
Что это за инструмент
Marlin — это высокооптимизированный CUDA-ядро для инференса LLM с весовой квантованием FP16xINT4, обеспечивающее почти идеальное ускорение в 4 раза по сравнению с FP16.
Зачем нужен
Инструмент решает проблему падения производительности при увеличении размера батча, сохраняя максимальное ускорение (3.87x) для батчей до 16-32 токенов, в отличие от других ядер, которые эффективны только при батче 1-2 токена. Это позволяет эффективно использовать ресурсы GPU для масштабного обслуживания моделей и сложных схем инференса.
Что можно реализовать
- Масштабированный инференс LLM (serving) с умеренными размерами батчей
- Спекулятивный декодинг (speculative decoding) больших моделей
- Продвинутые многопоточные схемы инференса, такие как CoT-Majority
- Запуск открытых LLM-моделей с весовой квантованием на GPU Ampere/Ada
Ключевые возможности
- Сохранение почти идеального ускорения в 4x при батчах 16-32 токена
- Асинхронная загрузка весов и двойная буферизация для скрытия задержек памяти
- Оптимизированное использование L2-кэша и тензорных ядер без конфликтов
- Поддержка NVIDIA GPU с вычислительной способностью >= 8.0 (Ampere, Ada)
- Интеграция через PyTorch (torch>=2.0.0) и установка через pip
👤 Кому подойдёт: Разработчики ML-инфраструктуры, инженеры по оптимизации инференса LLM, исследователи, работающие с квантованием моделей и специкулятивным декодингом