Q-BERT: Hessian Based Ultra Low Precision Quantization of BERT
About
Transformer based architectures have become de-facto models used for a range of Natural Language Processing tasks. In particular, the BERT based models achieved significant accuracy gain for GLUE tasks, CoNLL-03 and SQuAD. However, BERT based models have a prohibitive memory footprint and latency. As a result, deploying BERT based models in resource constrained environments has become a challenging task. In this work, we perform an extensive analysis of fine-tuned BERT models using second order Hessian information, and we use our results to propose a novel method for quantizing BERT models to ultra low precision. In particular, we propose a new group-wise quantization scheme, and we use a Hessian based mix-precision method to compress the model further. We extensively test our proposed method on BERT downstream tasks of SST-2, MNLI, CoNLL-03, and SQuAD. We can achieve comparable performance to baseline with at most $2.3\%$ performance degradation, even with ultra-low precision quantization down to 2 bits, corresponding up to $13\times$ compression of the model parameters, and up to $4\times$ compression of the embedding table as well as activations. Among all tasks, we observed the highest performance loss for BERT fine-tuned on SQuAD. By probing into the Hessian based analysis as well as visualization, we show that this is related to the fact that current training/fine-tuning strategy of BERT does not converge for SQuAD.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Natural Language Understanding | GLUE (dev) | SST-2 (Acc)92.6 | 504 | |
| Natural Language Understanding | GLUE | SST-294.8 | 452 | |
| Question Answering | SQuAD v1.1 (dev) | F1 Score88.47 | 375 | |
| Question Answering | SQuAD (dev) | F188.47 | 74 | |
| Natural Language Inference | MNLI (dev) | Acc (m)83.91 | 44 | |
| Sentiment Analysis | SST-2 (dev) | Accuracy92.88 | 41 | |
| Named Entity Recognition | CoNLL 2003 (dev) | F1 Score94.9 | 40 | |
| Natural Language Inference | MNLI matched mismatched (dev) | Accuracy (Matched)83.91 | 10 |