Repolode
openvinotoolkit

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. 1

    Установите NNCF из PyPI, следуя руководству по установке в README

  2. 2

    Подготовьте модель и небольшой калибровочный набор данных (около 300 примеров)

  3. 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 для детекции объектов, сегментации экземпляров и классификации изображений, с обучением и экспортом моделей.

58,2 тыс.17,5 тыс.PythonAGPL-3.0Обновлён 3 дня назад