intel/neural-compressor · 上手攻略

  • 仓库:intel/neural-compressor
  • 链接:https://github.com/intel/neural-compressor
  • 分类:ai
  • 作者:Tom
  • 更新:2026-08-19

是什么

Intel Neural Compressor 是 Intel 开源的模型压缩库,专注于 LLM/VLM 的低比特量化(Low-bit Quantization),覆盖 INT8、FP8、MXFP8、MXFP4、INT4、NVFP4 等多种低精度数据类型,支持 PyTorch、TensorFlow、JAX 三大框架。

其核心定位是:Intel 官方大模型推理优化工具链,在 Intel Gaudi AI 加速器、Intel Xeon 可扩展处理器、Intel Core Ultra、Intel Data Center GPU Flex/Max 等硬件上经过验证。

官方文档:https://intel.github.io/neural-compressor

解决什么问题

大模型推理的三大瓶颈——内存占用大计算速度慢硬件利用率低——都可以通过量化来缓解。Neural Compressor 解决了:

  1. 多精度选择困难:支持静态量化、动态量化、SmoothQuant、Weight-Only 量化、QAT(量化感知训练)、混合精度等多种方法,用户无需自己实现
  2. 跨框架统一 API:PyTorch/TensorFlow/JAX 各有一套量化 API,Neural Compressor 提供统一抽象
  3. Intel 硬件深度优化:针对 Intel 平台做了专项优化(IPEX、Gaudi 等),开箱即用

快速安装

选择框架后端

Neural Compressor 按框架分发为三个独立包,按部署环境选择对应包(不要同时装多个):

# PyTorch 后端(支持 CPU / Intel GPU / Gaudi HPU)
pip install neural-compressor-pt

# TensorFlow 后端
pip install neural-compressor-tf

# JAX 后端(实验性,需从源码构建)
pip install neural-compressor-jax

⚠️ 注意:v3.x 已移除 2.x 旧版 API(如 neural_compressor.config),建议使用 v3.8+ 版本(包含安全修复)。

安装 PyTorch 依赖(按硬件)

Intel CPU

pip install torch
pip install intel_extension_for_pytorch  # IPEX for CPU

Intel GPU

pip install torch
pip install intel_extension_for_pytorch[xpu]  # IPEX for Intel GPU

Intel Gaudi HPU(建议使用 Docker):

# 拉取已装好 torch 的 Gaudi 镜像
docker run -it --runtime=habana \
  -e HABANA_VISIBLE_DEVICES=all \
  -e OMPI_MCA_btl_vader_single_copy_mechanism=none \
  --cap-add=sys_nice --net=host --ipc=host \
  vault.habana.ai/gaudi-docker/1.24.0/ubuntu24.04/habanalabs/pytorch-installer-2.10.0:latest

⚠️ 注意:Gaudi 软件栈与 Neural Compressor 有版本对应关系,请参考 gaudi_version_map.md 使用匹配组合。

验证安装

import neural_compressor
print(neural_compressor.__version__)  # 预期输出 3.8 或更高

核心用法

1. PyTorch FP8 量化(Gaudi 加速器)

from neural_compressor.torch.quantization import (
    FP8Config,
    prepare,
    convert,
)
import torch
import torchvision.models as models

model = models.resnet18()
qconfig = FP8Config(fp8_config="E4M3")
model = prepare(model, qconfig)

# 校准(dummy calibration 示例)
model(torch.randn(1, 3, 224, 224).to("hpu"))

model = convert(model)
output = model(torch.randn(1, 3, 224, 224).to("hpu")).to("cpu")
print(output.shape)

2. Weight-Only 量化(加载 HuggingFace GPTQ 模型到 Gaudi)

from neural_compressor.torch.quantization import load
import torch

model_name = "TheBloke/Llama-2-7B-GPTQ"
model = load(
    model_name_or_path=model_name,
    format="huggingface",
    device="hpu",
    torch_dtype=torch.bfloat16,
)

⚠️ 首次加载会将模型格式从 auto-gptq 转换为 HPU 格式并缓存到本地,下次加载更快。

3. Transformers-like API(推荐,用于 LLM/VLM)

Neural Compressor v3 提供了类似 HuggingFace Transformers 的高层 API,适用于 LLaMA、Qwen、DeepSeek、Flux、FramePack 等主流模型:

from neural_compressor.torch import AutoQuantizer, AutoBalancer

# 权重-only 量化示例(需指定精度和算法)
# 完整示例见:https://github.com/intel/neural-compressor/blob/main/docs/source/PT_WeightOnlyQuant.md

4. 支持的量化方法一览

方法 精度 适用场景 成熟度
静态量化(Static Quantization) INT8/FP8 已知输入分布,batch 固定 ✅ 稳定
动态量化(Dynamic Quantization) INT8/FP8 输入分布变化大 ✅ 稳定
SmoothQuant INT8 激活值有异常值通道 ✅ 稳定
Weight-Only 量化(WOQ) INT4/INT8 内存瓶颈优先,精度损失敏感度低 ✅ 稳定
MXFP8 / MXFP4 FP8/FP4 Gaudi 硬件,平衡精度与速度 ⚠️ 实验性
NVFP4 NVFP4 极致内存压缩 ⚠️ 实验性
量化感知训练(QAT) 各精度 精度要求高的生产部署 ✅ 稳定
混合精度(Mixed Precision) 多精度混合 异构硬件自动选择 ✅ 稳定

5. MXFP8 / MXFP4 混合精度自动调优

# 详见 docs/source/PT_MXQuant.md
# 实验性功能,需要 Gaudi 2/3 或兼容硬件

典型适用场景

  • 本地大模型推理:将 7B/13B/70B 模型量化到 INT4/INT8,在消费级硬件(带 IPEX 的 Intel CPU 或 Arc 显卡)上运行
  • Gaudi 加速:在 Intel Gaudi 2/3 上使用 FP8/MXFP8 量化加速 LLM 推理,配合 vLLM 使用
  • 模型服务压缩:生产环境通过 Weight-Only 量化减少显存占用,降低部署成本
  • VLM 量化:对视觉-语言模型(如 LLaVA、Qwen-VL)进行量化部署
  • 扩散模型加速:对 Flux、FramePack 等生成模型的 diffusion 过程进行量化

坑与注意

  1. 版本选择:v3.9 是当前推荐版本(修复了 CVE),v3.8 也有重要安全修复;低于 v3.8 的版本建议升级
  2. Gaudi 版本匹配:Gaudi 软件栈与 Neural Compressor 有严格版本对应,混用会导致量化失败;每次升级前查 gaudi_version_map.md
  3. Python / PyTorch 版本约束:最新验证版本为 Python 3.11-3.13 + PyTorch 2.10-2.12(v3.9),使用旧版 Python/PyTorch 可能遇到兼容性问题。
  4. 实验性功能标记:MXFP8/MXFP4/NVFP4/Keras-JAX FP8 等标注为 experimental,生产环境慎用。
  5. 首次加载缓存:Weight-Only 加载首次会生成 hpu_model.safetensors 缓存到本地目录,清理缓存后重新加载会有延迟。
  6. AMD/ARM/NVIDIA 支持有限:README 明确说明这些平台测试有限,主要支持还是 Intel 硬件。
  7. 2.x API 已移除:v3.x 移除了 neural_compressor.config 等旧版 API,参考文档时注意区分。

与同类对比

工具 定位 优点 缺点
Neural Compressor Intel 官方模型压缩 Intel 硬件深度优化、量化方法最全、多框架统一 API 非 Intel 平台支持有限
AutoRound (Intel) Near-lossless WOQ 精度损失极低,vLLM 集成 需配合 Neural Compressor 使用
GPTQ / AutoGPTQ 通用 GPTQ 量化 生态成熟、使用简单 无 Intel 专项优化
AWQ Activation-aware 量化 对某些模型效果好 硬件支持有限
llama.cpp 通用 LLM 推理 轻量、跨平台、量化格式丰富 无 Intel Gaudi 优化
TensorRT-LLM NVIDIA LLM 推理 NVIDIA 官方优化、性能极强 依赖 NVIDIA 硬件
vLLM LLM 推理服务 PagedAttention、连续批处理生态强 量化支持依赖后端(HF/TensorRT)

一句话总结:在 Intel 硬件上跑 LLM 量化推理的首选工具,量化方法覆盖最全,Gaudi 加速器用户尤其应该优先考虑。

一句话推荐结论

Intel 平台大模型量化一站式方案——从 INT4 到 NVFP4 全覆盖,在 Gaudi/Xeon/Core Ultra 上开箱即用,是 Intel AI 加速生态的核心组件。


原始链接:https://github.com/intel/neural-compressor 验证版本:v3.9(推荐,当前 releases 最新稳定版) 硬件验证:Intel Gaudi 2/3 · Intel Xeon 4-6代 · Intel Core Ultra · Intel Arc B-Series · Intel Data Center GPU Max 支持框架:PyTorch 2.10-2.12 · TensorFlow · JAX 0.10(实验性) Python 版本:3.11-3.13(v3.9)