text-classfication int8 Intel® Neural Compressor neural-compressor PostTrainingStatic

INT8 albert-base-v2-sst2

Post-training static quantization

PyTorch

This is an INT8 PyTorch model quantized with Intel® Neural Compressor.

The original fp32 model comes from the fine-tuned model Alireza1044/albert-base-v2-sst2.

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 modules albert.encoder.albert_layer_groups.0.albert_layers.0.ffn_output.module, albert.encoder.albert_layer_groups.0.albert_layers.0.ffn.module fall back to fp32 to meet the 1% relative accuracy loss.

Test result

INT8 FP32
Accuracy (eval-accuracy) 0.9255 0.9232
Model size (MB) 25 44.6

Load with Intel® Neural Compressor:

from optimum.intel.neural_compressor import IncQuantizedModelForSequenceClassification

model_id = "Intel/albert-base-v2-sst2-int8-static"
int8_model = IncQuantizedModelForSequenceClassification.from_pretrained(model_id)

ONNX

This is an INT8 ONNX model quantized with Intel® Neural Compressor.

The original fp32 model comes from the fine-tuned model Alireza1044/albert-base-v2-sst2.

The calibration dataloader is the eval dataloader. The calibration sampling size is 100.

Test result

INT8 FP32
Accuracy (eval-accuracy) 0.9140 0.9232
Model size (MB) 50 45

Load ONNX model:

from optimum.onnxruntime import ORTModelForSequenceClassification
model = ORTModelForSequenceClassification.from_pretrained('Intel/albert-base-v2-sst2-int8-static')