Repolode
openvinotoolkit

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. 1

    按照 README 中的安装指南从 PyPI 安装 NNCF

  2. 2

    准备模型和一个小型校准数据集(约 300 个样本)

  3. 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 数据每日更新。

相关项目