Reformer language modeling using run_language_modeling.py: sentences didn't pad to max_length
Author: qwu01
Pull request: no

# 🐛 Bug

## Information

Model I am using (Bert, XLNet ...): Reformer

Language I am using the model on (English, Chinese ...): English

The problem arises when using:
* [x ] the official example scripts: (give details below)
* [ ] my own modified scripts: (give details below)
 - using run_language_modeling.py

The tasks I am working on is:
* [ ] an official GLUE/SQUaD task: (give the name)
* [x ] my own task or dataset: (give details below)
 - language modeling using wikitext2 

## To reproduce

Steps to reproduce the behavior:

1. Using wikitext2
2. run
`
python run_language_modeling.py \
    --output_dir=output \
    --model_type=reformer \
    --config_name=google/reformer-crime-and-punishment \
    --tokenizer_name=google/reformer-crime-and-punishment \
    --line_by_line \
    --do_train \
    --train_data_file=$TRAIN_FILE \
    --do_eval \
    --eval_data_file=$TEST_FILE
`
3.

<!-- 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
Should start training, but got ValueError:
ValueError: If training, sequence Length 444 has to be a multiple of least common multiple chunk_length 64. Please consider padding the input to a length of 448.
Seems tokenizer didn't pad to max_length in LineByLineTextDataset (https://github.com/huggingface/transformers/blob/f4323dbf8c29952b1ae55b979120969a9aeb730e/src/transformers/data/datasets/language_modeling.py#L78)?
<!-- A clear and concise description of what you would expect to happen. -->

## 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: 3.0.0
- Platform: Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.6.9
- PyTorch version (GPU?): 1.5.1+cu101 (True)
- Tensorflow version (GPU?): 2.2.0 (True)
- Using GPU in script?: <fill in> Y
- Using distributed or parallel set-up in script?: <fill in> N


Comments:
Can you maybe just use the script provided here: https://github.com/patrickvonplaten/notebooks/blob/master/PyTorch_Reformer.ipynb? In Reformer you have to be careful with the length you use for training. The docs can be helpful here as well: https://huggingface.co/transformers/model_doc/reformer.html

Thank you, this notebook is helpful. This script uses Crime and Punish as one document and padded to 2**19.
So basically if I want to train a Reformer language model on a line-by-line text dataset (e.g. wikitext2), I'll need to write code to manually pad sequences instead of using run-language-modeling.py? 

You have to make sure that your reformer config is correctly set up (especially the axial position encodings) according to the docs and the length of your data