license: apache-2.0
tags:
- neural-compressor
- 8-bit
- int8
- Intel® Neural Compressor
- PostTrainingStatic
- onnx
datasets:
- squad
metrics:
- f1
INT8 DistilBERT base uncased finetuned on Squad
Post-training static quantization
PyTorch
This is an INT8 PyTorch model quantized with huggingface/optimum-intel through the usage of Intel® Neural Compressor.
The original fp32 model comes from the fine-tuned model distilbert-base-uncased-distilled-squad.
The calibration dataloader is the train dataloader. The default calibration sampling size 300 isn't divisible exactly by batch size 8, so the real sampling size is 304.
The linear module distilbert.transformer.layer.1.ffn.lin2 falls back to fp32 to meet the 1% relative accuracy loss.
Test result
INT8 | FP32 | |
---|---|---|
Accuracy (eval-f1) | 86.1069 | 86.8374 |
Model size (MB) | 74.7 | 265 |
Load with optimum:
from optimum.intel.neural_compressor.quantization import IncQuantizedModelForQuestionAnswering
int8_model = IncQuantizedModelForQuestionAnswering(
'Intel/distilbert-base-uncased-distilled-squad-int8-static',
)
ONNX
This is an INT8 ONNX model quantized with Intel® Neural Compressor.
The original fp32 model comes from the fine-tuned model distilbert-base-uncased-distilled-squad.
The calibration dataloader is the eval dataloader. The default calibration sampling size is 100.
Test result
INT8 | FP32 | |
---|---|---|
Accuracy (eval-f1) | 0.8633 | 0.8687 |
Model size (MB) | 154 | 254 |
Load ONNX model:
from optimum.onnxruntime import ORTModelForQuestionAnswering
model = ORTModelForQuestionAnswering.from_pretrained('Intel/distilbert-base-uncased-distilled-squad-int8-static')