Hashing a tokenizer using the 🤗 nlp lib is not deterministic
In the `nlp` library it is common to use a tokenizer on a dataset.
The library takes care of caching the results, so that if you run the tokenization twice, it will reuse the previous results.
To make the caching work, we compute a hash of the tokenizer.

However the `unique_no_split_tokens` attribute of tokenizers is not deterministic, and it makes the hashing return different hashes for the same tokenizer over different sessions.

`unique_no_split_tokens` can be a list like `['[CLS]', '[MASK]', '[PAD]', '[SEP]', '[UNK]']` for example. But it happens that re-loading a tokenizer in another session shuffles the tokens in the list.

For example this code doesn't always return the same output over different sessions:

```python
from transformers import AutoTokenizer

model_name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(model_name)

print(tokenizer.unique_no_split_tokens)
```

Reproduce on google colab: https://colab.research.google.com/drive/1nyskaLavcTCkXibZBlYX71bkG476uSzz?usp=sharing