NNCF v2.17.0发布:模型量化与压缩技术全面升级
项目简介
NNCF(Neural Network Compression Framework)是Intel开源的一个神经网络压缩框架,专注于为深度学习模型提供高效的量化与压缩解决方案。作为OpenVINO工具套件的重要组成部分,NNCF支持PyTorch、TensorFlow、ONNX等多种深度学习框架,能够显著减小模型体积、提升推理速度,同时保持模型精度。
核心更新内容
训练后量化技术增强
通用改进
在PyTorch后端中,function_hook模块现已从实验状态升级为默认模型追踪机制,并迁移至核心nncf.torch命名空间。这一变化使得模型量化过程更加稳定可靠。
新增特性
-
4位数据无关AWQ量化:本次更新在OpenVINO、PyTorch和TorchFX后端中引入了基于权重列幅度的4位AWQ(Activation-aware Weight Quantization)量化技术。这种创新方法无需依赖数据集即可实现更精确的压缩,特别适合资源受限的场景。
-
OpenVINO FP8支持扩展:新增了对ScaledDotProductAttention中value输入的FP8量化支持,进一步扩展了低精度计算的应用范围。
-
ONNX后端强化:
- 增加了使用INT4(INT8)进行数据无关权重压缩的支持
- 新增了LLM权重压缩示例,展示了如何在ONNX格式下优化TinyLlama-1.1B-Chat-v0.3模型
- 引入了BackendParameters.EXTERNAL_DATA_DIR参数,用于指定模型外部数据文件的存储路径,提升了大型模型处理的灵活性
-
TorchFX实验性功能:增加了4位权重压缩支持,结合AWQ和Scale Estimation数据感知方法,有效减少了精度损失。
问题修复与优化
- 简化了TorchFX的使用流程,移除了不必要的nncf.torch.disable_patching()上下文管理器
- 修复了无批次维度模型的BiasCorrection失败问题
- 对齐了NF4与OpenVINO实现的quantile centers
- 优化了权重压缩统计信息显示,现在能正确展示忽略权重的数据类型
- 显著提升了NF4权重压缩性能,速度提升高达10倍
- 确保nncf.data.generate_text_data支持transformer>4.52版本
压缩感知训练创新
突破性功能
本次更新引入了结合可吸收弹性LoRA适配器和神经低秩搜索(NLS)的量化感知训练(QAT)方法。这种新颖的权重压缩技术专门针对下游任务设计,相比NNCF中现有的最佳训练后权重压缩技术(Scale Estimation + AWQ + GPTQ),能显著减少int4权重LLM在下游任务中的精度损失。
新增的nncf.compress_weights API中提供了nncf.CompressionFormat.FQ_LORA_NLS压缩格式选项,开发者可以轻松体验这一前沿技术。示例QAT压缩管道展示了如何在下游任务中应用这一方法,与上一版本专注于通过知识蒸馏提升通用精度的方案形成互补。
重要改进
- 大幅缩小了Torch模型与其导出的OpenVINO等效模型之间的精度差距
- 优化了"QAT + 可吸收LoRA"结合知识蒸馏的最佳检查点评估选择流程,现在使用Wikitext的验证分割评估调优后的Torch模型,而最终结果则在测试分割上使用OpenVINO模型测量
依赖项更新
- 升级ONNX Runtime至1.21.1版本
- 更新PyTorch至2.7.1、Torchvision至0.22.1
- 移除了jstyleson依赖
技术价值与应用前景
NNCF v2.17.0的发布标志着模型压缩技术又向前迈进了一大步。特别是4位AWQ量化和QAT with LoRA/NLS这两项创新,为大型语言模型的高效部署提供了强有力的工具。
在实际应用中,开发者现在可以:
- 无需准备校准数据集即可获得高质量的4位量化模型
- 针对特定下游任务精细调整量化模型,最大限度保留任务相关精度
- 更灵活地处理ONNX格式的大型模型
- 体验显著提升的压缩速度和更稳定的量化过程
这些改进使得NNCF在边缘计算、移动端部署等资源受限场景中更具竞争力,为AI模型的普惠化应用铺平了道路。随着量化技术的不断成熟,我们有望看到更多复杂模型能够在消费级硬件上高效运行,推动AI技术在各行业的深入应用。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00