binarized_data.py in distillation uses incorrect type casting
Author: Rexhaif
Pull request: no
Labels: name: Distillation

# 🐛 Bug

## Information

Model I am using (Bert, XLNet ...): possibly affected model is DistilBert(distilbert-base-multilingual-cased)

Language I am using the model on (English, Chinese ...): multiple

The problem arises when using:
* [x] the official example scripts: (give details below)

The tasks I am working on is:
* [x] my task or dataset: (give details below)

## To reproduce

Steps to reproduce the behavior:

1. Open line [84 in examples/distillation/scripts/binarized_data.py](https://github.com/huggingface/transformers/blob/21da895013a95e60df645b7d6b95f4a38f604759/examples/distillation/scripts/binarized_data.py#L84) 
2. See typecast into np.uint16 (possibly added to produce smaller output file size)
3. Realize, that multilingual model has vocab size of 119547, so a large portion of tokens(54012, 45%), which has id > uint16 max value(65535), receives the wrong id after binarization

```python
# Some code to demonstrate the thing
import transformers as tr
import numpy as np

tok = tr.DistilBertTokenizer.from_pretrained("distilbert-base-multilingual-cased")
print("UInt16 max value", np.iinfo(np.uint16).max) ## 65535
print("Vocab size:", tok.vocab_size) ## 119547

## code to produce table i've included into issue
def table_row(tok_id):
    print(f"|{tok_id:^15}|{tok.decode([tok_id]):^18}|{np.uint16(tok_id):^18}|{tok.decode([np.uint16(tok_id)]):^30}|")

print("|Actual token id|Actual token value|Token id in uint16|Token value by uint16 token id|")
print("|---------------|------------------|------------------|------------------------------|")
for i in range(65535, 65700):
    table_row(i)

```

## Examples
|Actual token id|Actual token value|Token id in uint16|Token value by uint16 token id|
|---------------|------------------|------------------|------------------------------|
|     65535     |        PD        |      65535       |              PD              |
|     65536     |       ##्ग       |        0         |            [PAD]             |
|     65537     |     označava     |        1         |          [unused1]           |
|     65538     |     ##gården     |        2         |          [unused2]           |
|     65539     |      ##чном      |        3         |          [unused3]           |
| ....               | ....                 | ....              | ....                                |
|     65635     |      siege       |        99        |          [unused99]          |
|     65636     |      ##lën       |       100        |            [UNK]             |
|     65637     |      dotato      |       101        |            [CLS]             |
|     65638     |     madeira      |       102        |            [SEP]             |
|     65639     |      ##μίας      |       103        |            [MASK]            |
|     65640     |     ##muggen     |       104        |             <S>              |
|     65641     |     ##льним      |       105        |             <T>              |
|     65642     |      Crimea      |       106        |              !               |
|     65643     |      altor       |       107        |              "               |
|     65644     |      chefo       |       108        |              #               |
|     65645     |     persoon      |       109        |              $               |
|     65646     |      ##зія       |       110        |              %               |
|     65647     |      новое       |       111        |              &               |
|     65648     |       ##šť       |       112        |              '               |
|     65649     |       ##황        |       113        |              (               |
|     65650     |      fisica      |       114        |              )               |
|     65651     |     ##ținut      |       115        |              *               |
|     65652     |      Woche       |       116        |              +               |
|     65653     |    angesehen     |       117        |              ,               |
|     65654     |       Mach       |       118        |              -               |
|     65655     |       TNT        |       119        |              .               |
|     65656     |    obiettivo     |       120        |              /               |
|     65657     |      ##ceno      |       121        |              0               |
|     65658     |      ##מכון      |       122        |              1               |
|     65659     |    Tallinnas     |       123        |              2               |
|     65660     |      graet       |       124        |              3               |
|     65661     |      straal      |       125        |              4               |
|     65662     |     Pulitzer     |       126        |              5               |
|     65663     |       прво       |       127        |              6               |
|     65664     |     ##laska      |       128        |              7               |
|     65665     |      Actors      |       129        |              8               |
|     65666     |     Daimler      |       130        |              9               |
|     65667     |     estadual     |       131        |              :               |
|     65668     |       ##ಃ        |       132        |              ;               |
|     65669     |     resultó      |       133        |              <               |
|     65670     |      Tokom       |       134        |              =               |
|     65671     |  Parliamentary   |       135        |              >               |
|     65672     |       Phật       |       136        |              ?               |
|     65673     |      liście      |       137        |              @               |
|     65674     |      ##ерна      |       138        |              A               |

## Expected behavior

binarize_data.py should use typecasting to int32 at least to avoid incorrect behavior

## Environment info
<!-- You can run the command `python transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->
     
- `transformers` version: 2.3.0 (distillation code from current master branch)
- Platform: GNU/Linux Fedora 5.4.13-201.fc31.x86_64
- Python version: Python 3.6.9 :: Anaconda, Inc.
- PyTorch version (GPU?): 1.4.0 GPU
- Tensorflow version (GPU?): not applicable
- Using GPU in script?: no
- Using distributed or parallel set-up in script?: no

Comments:
Good catch @Rexhaif 
I'll fix that. Thanks for pointing that out.
Victor