IST-DASLab/sparsegpt
Код к статье ICML 2023 "SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot".
LLM⭐ 895Python
Что это за инструмент
SparseGPT — это инструмент для однократного (one-shot) прунинга больших языковых моделей, позволяющий значительно сократить их размер без потери точности.
Зачем нужен
Инструмент решает задачу эффективного сжатия LLM (таких как OPT, BLOOM, LLaMA) путем удаления избыточных весов, что снижает требования к памяти и вычислительным ресурсам. Он полезен для развертывания моделей в условиях ограниченных ресурсов, так как обеспечивает высокую точность даже при сильном разрежении (sparsity) и квантовании.
Что можно реализовать
- Получение разреженных моделей (unstructured sparsity) с заданной долей нулевых весов (например, 50%)
- Применение структурированного прунинга формата n:m (например, 2:4) для совместимости с аппаратным ускорением
- Комбинирование прунинга с квантованием (например, 50% sparsity + 4-bit weights) для максимального сжатия
- Быстрое развертывание пруненных моделей через Colab-демо без сложной настройки окружения
Ключевые возможности
- Однократный прунинг (one-shot) на основе реальных данных (WikiText2, PTB, C4) без необходимости дообучения
- Поддержка различных моделей: OPT, BLOOM и LLaMA с единым интерфейсом командной строки
- Гибкая настройка: поддержка как равномерного, так и структурированного (n:m) разрежения
- Интеграция с W&B для логирования результатов оценки перплексии (perplexity)
- Возможность сохранения пруненных чекпоинтов для последующего использования
👤 Кому подойдёт: Исследователи в области NLP, ML-инженеры, оптимизирующие развертывание LLM, разработчики, работающие с ограниченным GPU-памятью
Релизы
Релизы ещё не отслежены — появятся после ближайшего опроса.