Biblioteca Python de código abierto de Intel para comprimir modelos de deep learning mediante cuantización, sparsity y destilación en PyTorch, JAX y ONNX.
openvinotoolkit/nncf
Framework de Python para comprimir redes neuronales mediante cuantización, pruning y sparsity, y acelerar la inferencia en OpenVINO, PyTorch y ONNX.
- Estrellas
- 1,211
- Forks
- 309
- Issues abiertos
- 50
- Último commit
- anteayer
¿Qué es?
NNCF (Neural Network Compression Framework) es un paquete de Python del toolkit OpenVINO que reduce el tamaño y el costo de la inferencia de redes neuronales, procurando limitar la pérdida de precisión. Ofrece algoritmos posteriores al entrenamiento, como la cuantización postentrenamiento de 8 bits y la compresión de pesos de LLM, que solo requieren un modelo y un pequeño conjunto de datos de calibración. También incluye métodos durante el entrenamiento, como Quantization Aware Training, la cuantización de solo pesos basada en LoRA y pruning.
NNCF acepta modelos de PyTorch, TorchFX, ONNX y OpenVINO; OpenVINO es el backend recomendado para la cuantización postentrenamiento. Su API es común a todos los algoritmos y permite exportar modelos comprimidos de PyTorch a formatos ONNX o TensorFlow para usarlos con OpenVINO.
El proyecto se usa como backend de compresión en HuggingFace Optimum Intel, Ultralytics, ExecuTorch y la integración de OpenVINO de torch.compile. Además, incluye notebooks y scripts de ejemplo sobre clasificación de imágenes, detección de objetos, segmentación y LLM.
Funciones clave
- 01Cuantización postentrenamiento de 8 bits que solo requiere un pequeño conjunto de datos de calibración.
- 02Compresión de pesos para LLM, incluida la búsqueda de hiperparámetros y la estimación de escalas.
- 03Quantization-aware training y pruning para modelos de PyTorch.
- 04API común para los backends de OpenVINO, PyTorch, TorchFX y ONNX.
- 05Exportación de modelos comprimidos de PyTorch a formatos ONNX o TensorFlow.
Casos de uso
- Reducir el tamaño de un modelo de visión o NLP antes de implementarlo con OpenVINO en hardware Intel.
- Comprimir pesos de LLM a INT4 para aligerar la inferencia local.
- Recuperar precisión tras la cuantización mediante fine-tuning con quantization-aware training en PyTorch.
- Añadir cuantización a un pipeline de exportación existente de ONNX o PyTorch.
Inicio rápido
- 1
Instala NNCF desde PyPI siguiendo la guía de instalación del README
- 2
Prepara tu modelo y un conjunto de datos de calibración pequeño (unos 300 ejemplos)
- 3
Ejecuta nncf.quantize en tu modelo con el conjunto de datos de calibración, como se muestra en la sección Usage
Antes de usarlo
- Las insignias del README indican que se requiere Python 3.11 o posterior.
- La compatibilidad de TorchFX con la compresión posterior al entrenamiento y la dispersión de activaciones en PyTorch está marcada como experimental.
Temas
Preguntas frecuentes
- ¿Qué es nncf?
- Framework de Python para comprimir redes neuronales mediante cuantización, pruning y sparsity, y acelerar la inferencia en OpenVINO, PyTorch y ONNX. NNCF (Neural Network Compression Framework) es un paquete de Python del toolkit OpenVINO que reduce el tamaño y el costo de la inferencia de redes neuronales, procurando limitar la pérdida de precisión. Ofrece algoritmos posteriores al entrenamiento, como la cuantización postentrenamiento de 8 bits y la compresión de pesos de LLM, que solo requieren un modelo y un pequeño conjunto de datos de calibración. También incluye métodos durante el entrenamiento, como Quantization Aware Training, la cuantización de solo pesos basada en LoRA y pruning.
- ¿nncf es gratuito? ¿Qué licencia tiene?
- nncf es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿nncf sigue mantenido?
- Mantenimiento activo. El último commit de nncf fue el 19 oct 2026.
- ¿Para qué puedo usar nncf?
- Reducir el tamaño de un modelo de visión o NLP antes de implementarlo con OpenVINO en hardware Intel. Comprimir pesos de LLM a INT4 para aligerar la inferencia local. Recuperar precisión tras la cuantización mediante fine-tuning con quantization-aware training en PyTorch. Añadir cuantización a un pipeline de exportación existente de ONNX o PyTorch.
- ¿Cómo se instala nncf?
- Instala NNCF desde PyPI siguiendo la guía de instalación del README Prepara tu modelo y un conjunto de datos de calibración pequeño (unos 300 ejemplos) Ejecuta nncf.quantize en tu modelo con el conjunto de datos de calibración, como se muestra en la sección Usage
- ¿Dónde consigo nncf?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/openvinotoolkit/nncf
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Ultralytics YOLOv5 es un kit de herramientas de visión artificial basado en PyTorch para detectar objetos, segmentar instancias y clasificar imágenes, con funciones de entrenamiento y exportación.
Una biblioteca de optimización de deep learning que facilita y hace más eficiente el entrenamiento distribuido y la inferencia de modelos grandes.
Biblioteca de Python que ejecuta modelos de lenguaje grandes capa por capa para que los modelos de 70B puedan inferir en una sola GPU de 4 GB, sin cuantización.
Framework de inferencia de redes neuronales de alto rendimiento en C++ para ejecutar modelos de deep learning en dispositivos móviles, integrados y de escritorio.
Biblioteca nativa de PyTorch para cuantización, sparsity y entrenamiento float8, tanto para entrenar modelos como para servir inferencias.