File size: 1,652 Bytes
f5095a3
ccf3347
 
f5095a3
ccf3347
 
 
aba9433
ccf3347
 
 
 
 
7125487
 
 
 
 
 
 
 
 
 
 
 
 
f5095a3
ccf3347
 
 
 
793cccf
ccf3347
 
 
 
87b1d6e
 
ccf3347
 
 
 
 
 
 
793cccf
ccf3347
 
23ab442
 
 
 
ccf3347
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
48
49
50
51
52
53
54
---
language:
- en
license: apache-2.0
tags:
- multiple-choice
- int8
- Intel® Neural Compressor
- PostTrainingStatic
datasets:
- swag
metrics:
- accuracy
model-index:
- name: bert-base-uncased-finetuned-swag-int8-static
  results:
  - task:
      name: Multiple-choice
      type: multiple-choice
    dataset:
      name: Swag
      type: swag
    metrics:
    - name: Accuracy
      type: accuracy
      value: 0.7838148474693298
---
# INT8 bert-base-uncased-finetuned-swag

###  Post-training static quantization

This is an INT8  PyTorch model quantized with [huggingface/optimum-intel](https://github.com/huggingface/optimum-intel) through the usage of [Intel® Neural Compressor](https://github.com/intel/neural-compressor). 
The original fp32 model comes from the fine-tuned model [thyagosme/bert-base-uncased-finetuned-swag](https://huggingface.co/thyagosme/bert-base-uncased-finetuned-swag).

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.

The linear modules **bert.encoder.layer.2.output.dense, bert.encoder.layer.5.intermediate.dense, bert.encoder.layer.9.output.dense, bert.encoder.layer.10.output.dense** fall back to fp32 to meet the 1% relative accuracy loss.

### Test result

|   |INT8|FP32|
|---|:---:|:---:|
| **Accuracy (eval-accuracy)** |0.7838|0.7915|
| **Model size (MB)**  |133|418|

### Load with optimum:

```python
from optimum.intel import INCModelForMultipleChoice

model_id = "Intel/bert-base-uncased-finetuned-swag-int8-static"
int8_model = INCModelForMultipleChoice.from_pretrained(model_id)
```