nncf

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 模型训练 🍴 复刻 313 🐛 待处理 51 👀 关注 32
GitHub ↗
GitHub 星标 ★ 1217
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,Apache 2.0 许可证

项目预览

nncf 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类模型训练
开发团队openvinotoolkit
定价模式🏷️完全免费
价格说明开源免费,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 星标★ 1217
上线时间2020-05-13 00:00:00
代码更新2026-11-03
仓库体积73.0 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-13
浏览次数2

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-13 · 当前星标 ★ 1217

使用教程

难度:入门 约 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

上一篇:nunchaku

下一篇:verifiers

同类项目推荐

Rearchitecting-LLMs 开源

手把手教你剪枝、蒸馏、优化注意力,免费GPU跑通

Official code for the Manning book on structural LLM optimization: depth/width pruni···

★ 77 2026-08-09
EasyWAM 开源

一套代码搞定世界动作模型的训练、微调与评测

A unified framework for training, fine-tuning, and evaluating World Action Models

★ 405 2026-09-16
hls-foundation-os 开源

微调 HLS 遥感基础模型,快速落地分类任务

This repository contains examples of fine-tuning Harmonized Landsat and Sentinel-2 (···

★ 408 2026-08-09
LongCodeZip 开源

压缩长代码上下文,让模型轻松处理超长代码

LongCodeZip: Compress Long Context for Code Language Models [ASE2025]

★ 170 2026-08-09
CogKit 开源

给视频生成模型做微调和推理,快速定制专属视频生成能力。

Finetuning and inference tools for the CogView4 and CogVideoX model series.

★ 133 2026-08-09
maji-merger 开源

在 WebUI 里拖拽调参,几秒合并出全新模型

A WebUI extension for model merging

★ 72 2026-08-09
optimum-quanto 开源

几行代码把 PyTorch 模型压成 int8/int4,省显存提速

A pytorch quantization backend for optimum

★ 1056 2026-10-17
vime 开源

用 vLLM 加速 LLM 强化学习后训练,采样更快、规模更大

An LLM post-training framework with vLLM for RL Scaling

★ 496 2026-10-07
plexe 开源

一句话描述,自动生成机器学习模型,快速验证想法

✨ Build a machine learning model from a prompt

★ 2646 2026-08-09