--- language: en license: apache-2.0 tags: - text-classfication - int8 - PostTrainingStatic datasets: - sst2 metrics: - accuracy --- # INT8 DistilBERT base uncased finetuned SST-2 ### Post-training static quantization This is an INT8 PyTorch model quantified with [intel/nlp-toolkit](https://github.com/intel/nlp-toolkit) using provider: [IntelĀ® Neural Compressor](https://github.com/intel/neural-compressor). The original fp32 model comes from the fine-tuned model [distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english). The calibration dataloader is the train dataloader. The default calibration sampling size 100 isn't divisible exactly by batch size 8, so the real sampling size is 104. ### Test result - Batch size = 8 - [Amazon Web Services](https://aws.amazon.com/) c6i.xlarge (Intel ICE Lake: 4 vCPUs, 8g Memory) instance. | |INT8|FP32| |---|:---:|:---:| | **Throughput (samples/sec)** |47.554|23.046| | **Accuracy (eval-accuracy)** |0.9037|0.9106| | **Model size (MB)** |65|255| ### Load with nlp-toolkit: ```python from nlp_toolkit import OptimizedModel int8_model = OptimizedModel.from_pretrained( 'Intel/distilbert-base-uncased-finetuned-sst-2-english-int8-static', ) ``` Notes: - The INT8 model has better performance than the FP32 model when the CPU is fully occupied. Otherwise, there will be the illusion that INT8 is inferior to FP32.