nncf

压缩模型,让 OpenVINO 推理更快更省资源

NNCF(Neural Network Compression Framework)是 Intel 开源的神经网络压缩框架,专为提升 OpenVINO 推理性能而设计。它解决的是深度学习模型在部署时体积大、延迟高、算力消耗大的问题,让训练好的模型能在 Intel CPU、GPU、NPU 等硬件上跑得更快更省资源。核心能力包括训练后量化(PTQ)、量化感知训练(QAT)、权重压缩、结构化与非结构化剪枝、混合精度训练,并支持 LLM、GenAI、BERT、分类、目标检测、NLP 等多类模型。框架与 OpenVINO 深度集成,压缩后的模型可直接导出为 OpenVINO IR 进行推理,同时兼容 ONNX、PyTorch 等前端。它提供 Python API 和命令行工具,可自动完成量化校准与精度恢复,降低手工调优成本,适合需要把模型部署到边缘或服务端的工程团队。

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1199
维护状态 活跃
是否开源
定价模式 free

项目数据

分类模型训练
开发团队openvinotoolkit
所属国家
官网地址
定价模式free
价格说明开源免费,Apache 2.0 许可证
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型bert,classification,compression,deep-learning,genai,llm,mixed-precision-training,nlp,object-detection,onnx,openvino,pruning,pytorch,quantization,quantization-aware-training,semantic-segmentation,sparsity,tensorflow,transformers
GitHub 星标★ 1199
30天Star增速
HF 下载量
上线时间2020-05-13 00:00:00
最近更新2026-09-14 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-13
浏览次数1

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境(NNCF 是以 Python 包形式发布和使用的)
  • pip 包管理器,或 conda(二选一)
  • 系统要求取决于所使用的后端(backend),具体见 docs/Installation.md
  • 待量化的模型来自 PyTorch、TorchFX、ONNX 或 OpenVINO 之一

安装与启动步骤

  1. 1用 pip 安装 NNCF

    官方推荐的安装方式,NNCF 作为常规 PyPI 包发布,一条命令即可完成安装。

    pip install nncf
  2. 2或用 conda 安装

    如果使用 conda 环境,可改用 conda-forge 渠道安装,二选一即可,不要重复安装。

    conda install -c conda-forge nncf
  3. 3验证包已可导入

    进入 Python 确认 nncf 模块能被正常导入,出现版本号说明安装成功。

    python -c "import nncf; print(nncf.__version__)"
  4. 4编写量化脚本

    按 README 的 PyTorch 用法导入 nncf、torch 与 torchvision,并准备好待量化的 model 和 calibration_dataset 后再执行量化。

    python quantize_demo.py
  5. 5运行量化流水线

    调用 nncf.quantize 传入模型与校准数据集,返回的即量化后的模型;ONNX/TorchFX 用法与此一致。

    import nncf
    import torch
    from torchvision import datasets, models
    
    # 需先准备好 model 和 calibration_dataset
    quantized_model = nncf.quantize(model, calibration_dataset)

如何确认成功

执行 python -c "import nncf" 无报错,且 nncf.quantize(model, calibration_dataset) 能正常返回量化后的模型对象。

常见问题

Q:训练后量化(PTQ)后精度不达标怎么办?

A:可以对量化后的 PyTorch 模型做微调(量化感知训练 QAT),README 给出的示例在 examples/quantization_aware_training/torch/resnet18/README.md。

Q:NNCF 支持哪些模型框架?

A:README 明确支持 PyTorch、TorchFX、ONNX 和 OpenVINO 的模型,量化接口调用方式基本一致。

Q:必须用 conda 安装吗?

A:不是必须。NNCF 可通过 pip install nncf 安装,也可通过 conda install -c conda-forge nncf 安装,任选其一。

Q:安装细节和版本对应关系在哪查?

A:见仓库中的 docs/Installation.md,其中列出各后端的系统要求及对应版本矩阵。

注意事项

  • NNCF 的系统要求与所用后端(PyTorch/ONNX/OpenVINO 等)对应,安装前建议先看 docs/Installation.md。
  • 框架可与 OpenVINO 配合,用于优化神经网络在 OpenVINO 上的推理表现。
  • 更多压缩算法效果与用法可参考 NNCF Model Zoo(docs/ModelZoo.md)和仓库中的 samples/tutorials。

核心亮点

  • 与 OpenVINO 深度绑定,量化后可直接导出 IR 部署,端到端链路完整
  • 支持 PTQ、QAT、剪枝、混合精度等多种压缩手段,覆盖 CNN 与 LLM 场景
  • 提供自动量化与精度恢复流程,减少手工调参成本

不足之处

  • 强依赖 OpenVINO 生态,非 Intel 硬件或非 OpenVINO 部署场景收益有限
  • LLM 与 GenAI 相关压缩能力相对较新,部分高级特性文档和示例仍在完善

适用场景

  • 将 BERT 等 NLP 模型量化后部署到 Intel CPU 服务端,降低推理延迟
  • 把目标检测模型剪枝压缩后跑在边缘设备或 NPU 上
  • 对 LLM 做训练后量化,减少显存占用并提升 OpenVINO 推理吞吐

替代项目

TensorRT、ONNX Runtime、NNI

项目介绍

nncf 是一个模型训练领域的开源项目,官方简介:Neural Network Compression Framework for enhanced OpenVINO™ inference。项目使用 Python 开发,在 GitHub 上获得 1198 星标。

上一篇:nunchaku

下一篇:verifiers

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 61694 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1279 2026-08-13