File size: 1,447 Bytes
296f7bb
 
 
78c21db
 
 
 
296f7bb
 
78c21db
ad58783
296f7bb
 
ad58783
296f7bb
ad58783
296f7bb
ad58783
 
a96c305
ad58783
 
 
 
 
 
 
 
 
 
296f7bb
fcf0731
ad58783
d0e482a
296f7bb
ad58783
a96c305
296f7bb
 
 
fcf0731
296f7bb
 
a96c305
296f7bb
fcf0731
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
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.