SqueezeAILab/SqueezeLLM

[ICML 2024] SqueezeLLM: плотная и разреженная квантовизация

Инференс⭐ 723Python
Открыть на GitHub ↗Сайт проекта ↗

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

SqueezeLLM — это фреймворк постобучающей квантования (post-training quantization), использующий метод Dense-and-Sparse для эффективного обслуживания больших языковых моделей (LLM).

Зачем нужен

Инструмент решает проблему высокого потребления памяти при развертывании LLM, позволяя запускать модели с меньшим footprint и той же задержкой (latency), но с более высокой точностью по сравнению с обычным квантованием. Он разделяет весовые матрицы на плотную и разреженную части, сохраняя чувствительные данные и позволяя сильно квантовать остальные веса.

Что можно реализовать

  • Развертывание LLaMA и LLaMA-2 моделей (7B, 13B, 30B, 65B) на GPU с ограниченной памятью (например, 6 GB для Vicuna).
  • Интеграция квантованных моделей в официальный фреймворк vLLM для ускорения инференса.
  • Кастомное квантование пользовательских моделей LLM с выбором уровня разреженности (0%, 0.05%, 0.45%).
  • Снижение требований к оборудованию для обслуживания моделей 3-bit и 4-bit без потери качества (MMLU).

Ключевые возможности

  • Метод Dense-and-Sparse Quantization: разделение весов на плотную (сильно квантуемую) и разреженную (сохраняющую аномалии) компоненты.
  • Поддержка популярных архитектур: LLaMA, LLaMA-2, Vicuna, XGen, OPT, Mistral.
  • Готовые веса для скачивания с Hugging Face с различными конфигурациями битности и спарсности.
  • Прямая поддержка в vLLM для production-сервинга.
  • Возможность квантования моделей с нуля (from-scratch quantization) для пользовательских весов.

👤 Кому подойдёт: ML-инженеры, разработчики LLM-приложений и исследователи, занимающиеся оптимизацией инференса и развертыванием больших моделей на ресурсоемких GPU.

Релизы

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