ayeffkay's picture
Update README.md
07c85ef
|
raw
history blame
4.16 kB
metadata
language:
  - ru

distilrubert-tiny-cased-conversational

Conversational DistilRuBERT-tiny (Russian, cased, 3‑layers, 264‑hidden, 12‑heads, 11.8M parameters) was trained on OpenSubtitles[1], Dirty, Pikabu, and a Social Media segment of Taiga corpus[2] (as Conversational RuBERT). It can be considered as tiny copy of Conversational DistilRuBERT-small.

Our DistilRuBERT-tiny is highly inspired by [3], [4] and architecture is very close to [5]. Namely, we use

  • MLM loss (between token labels and student output distribution)
  • MSE loss (between averaged student and teacher hidden states)

The key features are:

  • unlike most of distilled language models, we didn't use KL loss during pre-training
  • reduced vocabulary size (30K in tiny vs. 100K in base and small )
  • two separate inputs for student: tokens obtained using student tokenizer (for MLM) and teacher tokens greedily splitted by student tokens (for MSE)

Here is comparison between teacher model (Conversational RuBERT) and other distilled models.

Model name # params, M # vocab, K Mem., MB
rubert-base-cased-conversational 177.9 120 679
distilrubert-base-cased-conversational 135.5 120 517
distilrubert-small-cased-conversational 107.1 120 409
cointegrated/rubert-tiny 11.8 30 46
distilrubert-tiny-cased-conversational 10.4 31 41

DistilRuBERT-tiny was trained for about 100 hrs. on 7 nVIDIA Tesla P100-SXM2.0 16Gb.

We used PyTorchBenchmark from transformers to evaluate model's performance and compare it with other pre-trained language models for Russian. All tests were performed on Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz and nVIDIA Tesla P100-SXM2.0 16Gb.

| Model name | Batch size | Seq len | Time, s || Mem, MB || |---|---|---|------||------|| | | | | CPU | GPU | CPU | GPU | | rubert-base-cased-conversational | 1 | 512 | 0.147 | 0.014 | 897 | 1531 | | distilrubert-base-cased-conversational | 1 | 512 | 0.083 | 0.006 | 766 | 1423 | | distilrubert-small-cased-conversational | 1 | 512 | 0.03 | 0.002 | 600 | 1243 | | cointegrated/rubert-tiny | 1 | 512 | 0.041 | 0.003 | 272 | 919 | | distilrubert-tiny-cased-conversational | 1 | 512 | 0.023 | 0.003 | 206 | 855 | | rubert-base-cased-conversational | 16 | 512 | 2.839 | 0.182 | 1499 | 2071 | | distilrubert-base-cased-conversational | 16 | 512 | 1.065 | 0.055 | 2541 | 2927 | | distilrubert-small-cased-conversational | 16 | 512 | 0.373 | 0.003 | 1360 | 1943 | | cointegrated/rubert-tiny | 16 | 512 | 0.628 | 0.004 | 1293 | 2221 | | distilrubert-tiny-cased-conversational | 16 | 512 | 0.219 | 0.003 | 633 | 1291 |

To evaluate model quality, we fine-tuned DistilRuBERT-small on classification (RuSentiment, ParaPhraser), NER and question answering data sets for Russian and obtained scores very similar to the Conversational DistilRuBERT-small.

[1]: P. Lison and J. Tiedemann, 2016, OpenSubtitles2016: Extracting Large Parallel Corpora from Movie and TV Subtitles. In Proceedings of the 10th International Conference on Language Resources and Evaluation (LREC 2016)

[2]: Shavrina T., Shapovalova O. (2017) TO THE METHODOLOGY OF CORPUS CONSTRUCTION FOR MACHINE LEARNING: «TAIGA» SYNTAX TREE CORPUS AND PARSER. in proc. of “CORPORA2017”, international conference , Saint-Petersbourg, 2017.

[3]: Sanh, V., Debut, L., Chaumond, J., & Wolf, T. (2019). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108.

[4]: https://github.com/huggingface/transformers/tree/master/examples/research_projects/distillation

[5]: https://habr.com/ru/post/562064/, https://huggingface.co/cointegrated/rubert-tiny