Biblioteca Python open source da Intel para comprimir modelos de deep learning com quantização, esparsidade e destilação em PyTorch, JAX e ONNX.
openvinotoolkit/nncf
Framework Python para comprimir redes neurais com quantização, pruning e esparsidade, acelerando a inferência no OpenVINO, PyTorch e ONNX.
- Estrelas
- 1,211
- Forks
- 309
- Issues abertas
- 50
- Último commit
- anteontem
O que é?
NNCF (Neural Network Compression Framework) é um pacote Python do toolkit OpenVINO que reduz o tamanho e o custo da inferência de redes neurais, buscando manter pequena a perda de acurácia. Ele oferece algoritmos pós-treinamento, como quantização pós-treinamento de 8 bits e compressão de pesos de LLMs, que precisam apenas de um modelo e de um pequeno conjunto de dados para calibração, além de métodos aplicados durante o treinamento, como Quantization Aware Training, quantização de pesos sem ativação baseada em LoRA e pruning.
O NNCF aceita modelos de PyTorch, TorchFX, ONNX e OpenVINO, sendo o OpenVINO o backend preferencial para quantização pós-treinamento. Sua API é compartilhada entre os algoritmos, e ele pode exportar modelos PyTorch comprimidos para os formatos ONNX ou TensorFlow, para uso com OpenVINO.
O projeto é usado como backend de compressão pelo HuggingFace Optimum Intel, Ultralytics, ExecuTorch e pela integração do OpenVINO com torch.compile. Também inclui notebooks e scripts de exemplo que abrangem classificação de imagens, detecção de objetos, segmentação e LLMs.
Recursos principais
- 01Quantização pós-treinamento de 8 bits que requer apenas um pequeno conjunto de dados para calibração.
- 02Compressão de pesos para LLMs, incluindo busca de hiperparâmetros e estimativa de escala.
- 03Quantization-aware training e pruning para modelos PyTorch.
- 04API comum para os backends OpenVINO, PyTorch, TorchFX e ONNX.
- 05Exportação de modelos PyTorch comprimidos para os formatos ONNX ou TensorFlow.
Casos de uso
- Reduzir o tamanho de um modelo de visão computacional ou NLP antes de implantá-lo com OpenVINO em hardware Intel.
- Comprimir pesos de LLMs para INT4 e viabilizar uma inferência local mais leve.
- Recuperar a acurácia após a quantização com fine-tuning quantization-aware no PyTorch.
- Adicionar quantização a um pipeline existente de exportação para ONNX ou PyTorch.
Início rápido
- 1
Instale o NNCF pelo PyPI, seguindo o guia de instalação do README
- 2
Prepare seu modelo e um pequeno conjunto de dados de calibração (cerca de 300 amostras)
- 3
Execute nncf.quantize no modelo com o conjunto de dados de calibração, conforme mostrado na seção Usage
Antes de usar
- Os badges do README indicam que a versão necessária é Python 3.11 ou posterior.
- O suporte do TorchFX à compressão pós-treinamento e à esparsidade de ativações no PyTorch está marcado como experimental.
Tópicos
Perguntas frequentes
- O que é nncf?
- Framework Python para comprimir redes neurais com quantização, pruning e esparsidade, acelerando a inferência no OpenVINO, PyTorch e ONNX. NNCF (Neural Network Compression Framework) é um pacote Python do toolkit OpenVINO que reduz o tamanho e o custo da inferência de redes neurais, buscando manter pequena a perda de acurácia. Ele oferece algoritmos pós-treinamento, como quantização pós-treinamento de 8 bits e compressão de pesos de LLMs, que precisam apenas de um modelo e de um pequeno conjunto de dados para calibração, além de métodos aplicados durante o treinamento, como Quantization Aware Training, quantização de pesos sem ativação baseada em LoRA e pruning.
- nncf é gratuito? Qual é a licença?
- nncf é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nncf ainda é mantido?
- Manutenção ativa. O último commit de nncf foi em 19 de out. de 2026.
- Para que posso usar nncf?
- Reduzir o tamanho de um modelo de visão computacional ou NLP antes de implantá-lo com OpenVINO em hardware Intel. Comprimir pesos de LLMs para INT4 e viabilizar uma inferência local mais leve. Recuperar a acurácia após a quantização com fine-tuning quantization-aware no PyTorch. Adicionar quantização a um pipeline existente de exportação para ONNX ou PyTorch.
- Como instalar nncf?
- Instale o NNCF pelo PyPI, seguindo o guia de instalação do README Prepare seu modelo e um pequeno conjunto de dados de calibração (cerca de 300 amostras) Execute nncf.quantize no modelo com o conjunto de dados de calibração, conforme mostrado na seção Usage
- Onde consigo nncf?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/openvinotoolkit/nncf
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ultralytics YOLOv5, toolkit de visão computacional baseado em PyTorch para detecção de objetos, segmentação de instâncias e classificação de imagens, com recursos de treinamento e exportação.
Biblioteca de otimização de deep learning que facilita e torna mais eficiente o treinamento distribuído e a inferência de modelos grandes.
Biblioteca Python que executa LLMs grandes camada por camada, permitindo inferência com modelos da classe 70B em uma única GPU de 4 GB, sem quantização.
Framework de inferência de redes neurais de alto desempenho em C++ para executar modelos de deep learning em dispositivos móveis, embarcados e desktop.
Biblioteca nativa do PyTorch para quantização, esparsidade e treinamento em float8, abrangendo treinamento de modelos e inferência em produção.