Открытая Python-библиотека Intel для сжатия моделей глубокого обучения с помощью квантования, разреживания и дистилляции в PyTorch, JAX и ONNX.
openvinotoolkit/nncf
Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX.
- Звёзды
- 1,211
- Форки
- 309
- Открытые issues
- 50
- Последний коммит
- позавчера
Что это?
NNCF (Neural Network Compression Framework) — Python-пакет из набора инструментов OpenVINO, который уменьшает размер и стоимость инференса нейросетей, стремясь свести к минимуму потерю точности. Он предлагает алгоритмы посттренировочной обработки, например 8-битное посттренировочное квантование и сжатие весов LLM, для которых нужны только модель и небольшой калибровочный набор данных, а также методы, применяемые во время обучения: квантование с учётом обучения, квантование только весов на основе LoRA и прореживание.
NNCF поддерживает модели из PyTorch, TorchFX, ONNX и OpenVINO; для посттренировочного квантования предпочтительным бэкендом служит OpenVINO. API единообразен для разных алгоритмов, а сжатые модели PyTorch можно экспортировать в форматы ONNX или TensorFlow для использования с OpenVINO.
Проект используется как бэкенд для сжатия в HuggingFace Optimum Intel, Ultralytics, ExecuTorch и интеграции OpenVINO в torch.compile. В комплект входят ноутбуки и примеры скриптов для классификации изображений, обнаружения объектов, сегментации и работы с LLM.
Ключевые возможности
- 01Посттренировочное 8-битное квантование, для которого нужен только небольшой калибровочный набор данных.
- 02Сжатие весов LLM, включая поиск гиперпараметров и оценку масштабных коэффициентов.
- 03Квантование с учётом обучения и прореживание моделей PyTorch.
- 04Единый API для бэкендов OpenVINO, PyTorch, TorchFX и ONNX.
- 05Экспорт сжатых моделей PyTorch в форматы ONNX или TensorFlow.
Сценарии использования
- Уменьшение модели для компьютерного зрения или NLP перед развёртыванием с OpenVINO на оборудовании Intel.
- Сжатие весов LLM до INT4 для более лёгкого локального инференса.
- Восстановление точности после квантования с помощью дообучения с учётом квантования в PyTorch.
- Добавление квантования в существующий конвейер экспорта ONNX или PyTorch.
Быстрый старт
- 1
Установите NNCF из PyPI, следуя руководству по установке в README
- 2
Подготовьте модель и небольшой калибровочный набор данных (около 300 примеров)
- 3
Запустите nncf.quantize для модели с калибровочным набором данных, как показано в разделе Usage
Что важно знать
- На бейджах README указана необходимая версия Python 3.11 или новее.
- Поддержка TorchFX для посттренировочного сжатия и разреженности активаций в PyTorch отмечена как экспериментальная.
Темы
Частые вопросы
- Что такое nncf?
- Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX. NNCF (Neural Network Compression Framework) — Python-пакет из набора инструментов OpenVINO, который уменьшает размер и стоимость инференса нейросетей, стремясь свести к минимуму потерю точности. Он предлагает алгоритмы посттренировочной обработки, например 8-битное посттренировочное квантование и сжатие весов LLM, для которых нужны только модель и небольшой калибровочный набор данных, а также методы, применяемые во время обучения: квантование с учётом обучения, квантование только весов на основе LoRA и прореживание.
- nncf можно использовать бесплатно? Какая у него лицензия?
- nncf распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- nncf всё ещё поддерживается?
- Активно поддерживается. Последний коммит в nncf — 19 окт. 2026 г..
- Для чего можно использовать nncf?
- Уменьшение модели для компьютерного зрения или NLP перед развёртыванием с OpenVINO на оборудовании Intel. Сжатие весов LLM до INT4 для более лёгкого локального инференса. Восстановление точности после квантования с помощью дообучения с учётом квантования в PyTorch. Добавление квантования в существующий конвейер экспорта ONNX или PyTorch.
- Как установить nncf?
- Установите NNCF из PyPI, следуя руководству по установке в README Подготовьте модель и небольшой калибровочный набор данных (около 300 примеров) Запустите nncf.quantize для модели с калибровочным набором данных, как показано в разделе Usage
- Где скачать nncf?
- Исходный код и инструкции по установке — на GitHub: https://github.com/openvinotoolkit/nncf
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Ultralytics YOLOv5 — библиотека компьютерного зрения на базе PyTorch для детекции объектов, сегментации экземпляров и классификации изображений, с обучением и экспортом моделей.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах.
Библиотека на базе PyTorch для квантования, разреженных моделей и обучения в формате float8 — для обучения моделей и инференса.