英特尔开源的 Python 模型压缩库,通过量化、稀疏化和蒸馏压缩深度学习模型。
openvinotoolkit/nncf
一个 Python 神经网络压缩框架,通过量化、剪枝和稀疏化加速 OpenVINO 推理,支持 PyTorch 与 ONNX 模型。
- Star
- 1,211
- Fork
- 309
- 未关闭 Issue
- 50
- 最近提交
- 前天
这是什么?
NNCF(Neural Network Compression Framework)是 OpenVINO 工具套件中的 Python 包,用于压缩神经网络,在尽量控制精度损失的前提下降低推理的体积与开销。它提供训练后算法,如 8 位训练后量化(PTQ)和大语言模型的权重压缩,只需模型和少量校准数据即可运行;也提供训练时方法,包括量化感知训练、基于 LoRA 的仅权重量化以及剪枝。
NNCF 支持 PyTorch、TorchFX、ONNX 和 OpenVINO 模型,其中训练后量化优先推荐以 OpenVINO 作为后端。各算法共用统一接口,压缩后的 PyTorch 模型可导出为 ONNX 或 TensorFlow 格式,再配合 OpenVINO 使用。
该项目已被 HuggingFace Optimum Intel、Ultralytics、ExecuTorch 以及 torch.compile 的 OpenVINO 集成用作压缩后端,并附带涵盖图像分类、目标检测、图像分割和大语言模型的示例与 Notebook。
核心功能
- 01训练后 8 位量化,只需少量校准数据。
- 02大语言模型权重压缩,支持超参数搜索与缩放估计。
- 03面向 PyTorch 模型的量化感知训练与剪枝。
- 04OpenVINO、PyTorch、TorchFX、ONNX 后端共用统一接口。
- 05可将压缩后的 PyTorch 模型导出为 ONNX 或 TensorFlow 格式。
适用场景
- 在英特尔硬件上通过 OpenVINO 部署前缩小视觉或 NLP 模型。
- 将大语言模型权重压缩为 INT4,以便更轻量地本地推理。
- 在 PyTorch 中通过量化感知微调恢复量化后的精度。
- 为现有的 ONNX 或 PyTorch 导出流程加入量化步骤。
快速上手
- 1
按照 README 中的安装指南从 PyPI 安装 NNCF
- 2
准备模型和一个小型校准数据集(约 300 个样本)
- 3
按照用法部分的示例,使用校准数据集对模型运行 nncf.quantize
使用前须知
- README 徽章显示需要 Python 3.11 及以上版本。
- TorchFX 的训练后压缩支持以及 PyTorch 中的激活稀疏功能被标注为实验性。
标签
常见问题
- nncf 是什么?
- 一个 Python 神经网络压缩框架,通过量化、剪枝和稀疏化加速 OpenVINO 推理,支持 PyTorch 与 ONNX 模型。 NNCF(Neural Network Compression Framework)是 OpenVINO 工具套件中的 Python 包,用于压缩神经网络,在尽量控制精度损失的前提下降低推理的体积与开销。它提供训练后算法,如 8 位训练后量化(PTQ)和大语言模型的权重压缩,只需模型和少量校准数据即可运行;也提供训练时方法,包括量化感知训练、基于 LoRA 的仅权重量化以及剪枝。
- nncf 可以免费使用吗?用的什么许可证?
- nncf 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- nncf 还在维护吗?
- 活跃维护中。nncf 最近一次提交是在 2026年10月19日。
- nncf 适合用来做什么?
- 在英特尔硬件上通过 OpenVINO 部署前缩小视觉或 NLP 模型。 将大语言模型权重压缩为 INT4,以便更轻量地本地推理。 在 PyTorch 中通过量化感知微调恢复量化后的精度。 为现有的 ONNX 或 PyTorch 导出流程加入量化步骤。
- nncf 怎么安装和运行?
- 按照 README 中的安装指南从 PyPI 安装 NNCF 准备模型和一个小型校准数据集(约 300 个样本) 按照用法部分的示例,使用校准数据集对模型运行 nncf.quantize
- 在哪里获取 nncf?
- 源代码和安装说明在 GitHub 上:https://github.com/openvinotoolkit/nncf
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 PyTorch 的计算机视觉工具库,支持目标检测、实例分割和图像分类的训练与模型导出。
面向大模型分布式训练与推理的深度学习优化库,提升效率并降低使用门槛。
Python 库,逐层加载大语言模型,让 70B 级模型可在单张 4GB 显卡上推理,无需量化。
一个用 C++ 编写的高性能神经网络推理框架,用于在手机、嵌入式和桌面设备上运行深度学习模型。
PyTorch 原生的模型量化与优化库,覆盖训练和推理部署。