英文

INT8 BERT base uncased 在Squad上进行的微调

已完成训练的静态量化

这是一个经过 INT8 量化的 PyTorch 模型,使用了 Intel® Neural Compressor 进行量化。

原始的 fp32 模型来自于经过微调的模型 jimypbr/bert-base-uncased-squad

校准数据加载器是训练数据加载器。默认的校准采样大小为300,不能被批处理大小8整除,因此实际的采样大小是304。

线性模块 bert.encoder.layer.2.intermediate.dense、bert.encoder.layer.4.intermediate.dense、bert.encoder.layer.9.output.dense、bert.encoder.layer.10.output.dense 以达到1%的相对精度损失而回退到 fp32。

测试结果

INT8 FP32
Accuracy (eval-f1) 87.3006 88.1030
Model size (MB) 139 436

使用 Intel® Neural Compressor 加载:

from optimum.intel.neural_compressor import IncQuantizedModelForQuestionAnswering
int8_model = IncQuantizedModelForQuestionAnswering.from_pretrained(
    "Intel/bert-base-uncased-squad-int8-static",
)