--- language: en license: apache-2.0 tags: - text-classfication - int8 - QuantizationAwareTraining datasets: - mrpc metrics: - f1 --- # INT8 BERT base uncased finetuned MRPC ### QuantizationAwareTraining This is an INT8 PyTorch model quantized with [IntelĀ® Neural Compressor](https://github.com/intel/neural-compressor). The original fp32 model comes from the fine-tuned model [Intel/bert-base-uncased-mrpc](https://huggingface.co/Intel/bert-base-uncased-mrpc). ### 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)** |24.263|11.202| | **Accuracy (eval-f1)** |0.9153|0.9042| | **Model size (MB)** |174|418| ### Load with IntelĀ® Neural Compressor (build from source): ```python from neural_compressor.utils.load_huggingface import OptimizedModel int8_model = OptimizedModel.from_pretrained( 'Intel/bert-base-uncased-mrpc-int8-qat', ) ``` 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. ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 2e-05 - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 - lr_scheduler_type: linear - num_epochs: 3.0 - train_batch_size: 8 - eval_batch_size: 8 - eval_steps: 100 - load_best_model_at_end: True - metric_for_best_model: f1 - early_stopping_patience = 6 - early_stopping_threshold = 0.001