neural-compressor
Intel开源的LLM模型压缩框架,支持INT8/FP8/INT4等低比特量化,可在CPU/iGPU
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Intel开源的LLM模型压缩框架,支持INT8/FP8/INT4等低比特量化,可在CPU/iGPU
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024年,大模型井喷。GPT-4、Llama-3动辄几百亿参数,一台消费级GPU根本塞不进去。企业部署时,服务器成本、推理延迟、显存占用——每一个都是噩梦。
Intel Neural Compressor(INC)就是来解决这个问题的:把大模型"压缩"变小,同时尽量保持精度,让它能在你现有的硬件上跑起来。这是 Intel 开源的一款模型压缩框架,支持 PyTorch、TensorFlow、JAX、ONNX Runtime 四大主流框架,在 GitHub 已有超过 2600+ stars,是LLM量化压缩领域最活跃的开源项目之一。
Intel Neural Compressor 由 Intel 实验室(Intel Labs)主导开发并维护,是 Intel oneAPI AI Analytics Toolkit 的核心组件之一。Intel 作为全球最大的 CPU 制造商,在深度学习推理加速领域有着深厚的硬件积累,其至强(Xeon)处理器配合 Intel 自己的 MKL-DNN / oneDNN 库,在 INT8 量化推理上有天然优势。
这个项目的核心目标是:让模型压缩技术民主化,降低大模型在 Intel 硬件(CPU、iGPU、数据中心GPU)上的部署门槛。从2019年发展至今,已支持 INT8/FP8/MXFP8/INT4/MXFP4/NVFP4 等多种量化格式,以及静态量化、动态量化、权重量化、混合精度等丰富策略。
量化是 INC 的主战场。项目支持多种量化方法:
| 量化方法 | 说明 | 适用场景 |
|---|---|---|
| 静态量化(Post-Training Quantization, PTQ) | 用校准数据集统计激活值分布,再做量化 | 已有训练好的模型,快速压缩 |
| 动态量化(Dynamic Quantization) | 权重在运行时动态量化,激活静态量化 | 生成式LLM、Transformer类模型 |
| 权重量化(Weight-Only Quantization) | 只量化权重,保持激活精度 | 极致压缩场景(INT4/W8A16) |
| QAT(Quantization-Aware Training) | 训练时模拟量化,精度更高 | 对精度要求高的生产环境 |
| SmoothQuant | 通道级别平滑,降低激活异常值 | LLM 激活值分布不均的场景 |
| AWQ / GPTQ / AutoRound | 专为 LLM 设计的权重量化算法 | Llama、Mistral 等开源大模型 |
| FP8 / MXFP8 / NVFP4 | 新一代低精度格式 | 最新 Intel GPU(HBM) |
INC 内置了强大的自动调优引擎,用户无需手动配置量化参数。框架会自动遍历不同的量化配置,找到精度损失最小、性能收益最大的方案。这对非专业用户非常友好。
除了量化,INC 还支持结构化剪枝和知识蒸馏,配合量化使用可以进一步压缩模型体积。
INC 的代码结构非常清晰:
neural_compressor/
├── torch/ # PyTorch 后端
│ ├── quantization/ # 量化核心(quantize.py, autotune.py, config.py)
│ ├── algorithms/ # 算法实现(smooth_quant, weight_only, awq, gptq, fp8...)
│ ├── export/ # 模型导出
│ └── utils/ # 工具函数
├── tensorflow/ # TensorFlow 后端
├── jax/ # JAX 后端
├── transformers/ # HuggingFace Transformers 适配层
│ ├── quantization/ # GPTQ/AWQ 适配
│ ├── generation/ # 生成任务优化
│ └── models/ # 模型特定实现
└── common/ # 跨框架通用组件
这种设计的好处是:框架后端与量化算法解耦,新增一种量化方法只需在 algorithms/ 下新增文件,无需改动核心接口。
如果你想在 Intel Xeon 服务器上跑 Llama-2-7B,不需要 NVIDIA GPU。INC 可以把 FP16 模型量化成 INT8,在 CPU 上实现 ~3-5倍 的推理加速。根据 Intel 官方数据,某些场景下甚至可以做到精度损失 < 0.5%。
Intel 最新的酷睿处理器内置 Xe 核显,配合 INT4/INT8 量化,可以在笔记本上运行 7B 模型做对话,这是以往完全不可想象的事情。
在微调阶段就引入量化信号,让模型在压缩状态下学习,进一步减少精度损失。这对垂直领域应用(如法律、金融)特别有价值。
INC 的安装非常简洁:
pip install neural-compressor
使用过程也只有几行代码:
from neural_compressor.torch.quantization import get_example_input
from neural_compressor.torch import TorchQuantizer
# 加载模型后自动量化
quantizer = TorchQuantizer('static', config)
quantized_model = quantizer.fit(model, calibration_dataloader)
quantized_model.save('model_int8.pt')
API 设计对 PyTorch 用户非常友好,有深度学习的工程师基本能直接上手。文档质量也很高,GitHub Pages 有完整的 API 文档和示例教程。
bitsandbytes 或 TensorRT 生态成熟Intel Neural Compressor 代表了一个重要趋势:模型压缩正在从学术研究走向工业级工具链。随着 LLM 部署需求爆发,类似 INC、vLLM、TensorRT-LLM 这样的工具正在成为标配。INC 的价值在于它填补了 CPU/iGPU 推理优化的空白,让大模型不再只属于有高端 GPU 的玩家。
从增长曲线看,2024年随着 Llama、Mistral 等开源大模型的普及,INC 的 Star 增速明显加快。它是当前最完整的 LLM 量化工具库之一,对于希望在 Intel 平台上部署 AI 的团队,几乎是不可替代的选择。