Token classification example only returns labels as -100 for longformer
Author: JakeCowton
Pull request: no

## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->
     
- `transformers` version: 4.0.0
- Platform: Linux-5.4.0-1029-aws-x86_64-with-glibc2.10
- Python version: 3.8.5
- PyTorch version (GPU?): 1.7.0 (True)
- Tensorflow version (GPU?): not installed (NA)
- Using GPU in script?:4 x V100 (16GB)
- Using distributed or parallel set-up in script?: parallel

Also:

tokenizers==0.9.4
datasets==1.1.3

I should note I had the same issue in transformers 3.5.1 too

### Who can help
<!-- Your issue will be replied to more quickly if you can figure out the right person to tag with @
 If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
 Please tag fewer than 3 people.  -->
 
 tokenizers: @mfuntowicz
 Longformer/Reformer: @patrickvonplaten

## Information

Model I am using (Bert, XLNet ...): Longformer

The problem arises when using:
* [ ] the official example scripts: (give details below)
* [x] my own modified scripts: (give details below)

The tasks I am working on is:
* [ ] an official GLUE/SQUaD task: (give the name)
* [X] my own task or dataset: (give details below)

I have made very modifications to the token-classification example ([see here](https://github.com/huggingface/transformers/blob/master/examples/token-classification/run_ner.py)) to allow me to use my own custom dataset for NER. I have 3 labels O, B-Org, I-ORG.

When processing my inputs with models like `bert-base-cased`, everything runs smoothly, however, when I make the switch to the `allenai/longformer-base-4096` model, the `tokenize_and_align_labels()` that runs via `datasets.map()` only returns labels of -100 for every token.

## To reproduce

Patch file for original `run_ner.py`

```
20d19
< 
44d42
< 
199d196
< 
206,209c203,204
<     text_column_name = "tokens" if "tokens" in column_names else column_names[0]
<     label_column_name = (
<         f"{data_args.task_name}_tags" if f"{data_args.task_name}_tags" in column_names else column_names[1]
<     )
---
>     text_column_name = "words"
>     label_column_name = "ner"
213,217c208,213
<     def get_label_list(labels):
<         unique_labels = set()
<         for label in labels:
<             unique_labels = unique_labels | set(label)
<         label_list = list(unique_labels)
---
>     def get_label_list(label_lists):
>         label_list = list(set(
>             [label
>              for label_list in label_lists
>              for label in label_list]
>         ))
227a224
>         id_to_label = {i: l for i, l in enumerate(label_list)}
239a237,238
>         id2label=id_to_label,
>         label2id=label_to_id,
244a244
>         add_prefix_space=True,
```

minimal `train.json` data
```json
{
    "id": 169,
    "words": [
        "My", "favourite", "thing", "about", "the", "market", "was", "Manteigaria", "which", "sells", "the", "best", "pasteis", "de", "Nata", "in", "the", "city", "in", "my", "opinion", "."
    ],
    "ner": [
        "O", "O", "O", "O", "O", "O", "O", "B-Organisation", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O"
    ]
}

```

Example `train-config.json`
```json
{
    "train_file": "./train.json",
    "model_name_or_path": "allenai/longformer-base-4096",
    "output_dir": "./output",
    "max_seq_length": 4096,
    "num_train_epochs": 3,
    "pad_to_max_length": false,
    "per_device_train_batch_size": 1,
    "per_device_eval_batch_size": 1,
    "save_steps": 250,
    "eval_steps": 250,
    "seed": 1,
    "do_train": true,
    "do_eval": false,
    "do_predict": false,
    "fp16": true,
    "evaluation_strategy": "steps",
    "save_total_limit": 1,
}

```

Steps to reproduce the behavior:

1. Apply the patch to the `run_ner.py` file found in the token_classification example on the master branch
2. run `python run_ner.py train-config.json`

<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->

## Expected behavior

<!-- A clear and concise description of what you would expect to happen. -->
If you print `tokenized_inputs["labels"]` produced by `tokenize_and_align_labels()` you'll see that it is a list of `-100` when using `allenai/longformer-base-4096`. However, if you change this to `bert-base-cased`, it will produce the labels `[[-100, 1, 1, 1, 1, 1, 1, 1, 0, -100, -100, -100, 1, 1, 1, 1, 1, -100, 1, 1, -100, 1, 1, 1, 1, 1, 1, 1, -100]]`, which is correct as `1` is `O` and `0` is `B-Organisation`. (There won't be an `I-Organisation` as this minimal reproducible example doesn't have one).

Comments:
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) are likely to be ignored.