MisconfigurationException: Found invalid type for plugin None. Expected a precision or training type plugin.
Author: gianlucabusatta
Pull request: no

## Environment info
```
- `transformers` version: 4.10.0
- Platform: Linux-5.4.104+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.7.11
- PyTorch version (GPU?): 1.9.0+cu102 (True)
- Tensorflow version (GPU?): 2.6.0 (True)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: Yes
- Using distributed or parallel set-up in script?: No
```

### Who can help
research_projects/rag: @patrickvonplaten, @lhoestq

## To reproduce

Steps to reproduce the behavior:

1. 
```
!python transformers/examples/research_projects/rag/consolidate_rag_checkpoint.py \
    --model_type rag_token \
    --generator_name_or_path facebook/mbart-large-cc25 \
    --question_encoder_name_or_path voidful/dpr-question_encoder-bert-base-multilingual \
    --dest /content/checkpoint
```
2.
```
!python ./transformers/examples/research_projects/rag/finetune_rag.py \
    --data_dir ./transformers/examples/research_projects/rag-end2end-retriever/test_run/dummy-train-data \
    --output_dir ./finetune_output \
    --model_name_or_path ./checkpoint \
    --model_type rag_token \
    --fp16 \
    --gpus 1  \
    --profile \
    --do_train \
    --do_predict \
    --n_val -1  \
    --train_batch_size 4 \
    --eval_batch_size 1 \
    --max_source_length 128 \
    --max_target_length 25 \
    --val_max_target_length 25 \
    --test_max_target_length 25 \
    --label_smoothing 0.1 \
    --dropout 0.1 \
    --attention_dropout 0.1 \
    --weight_decay 0.001 \
    --adam_epsilon 1e-08 \
    --max_grad_norm 0.1 \
    --lr_scheduler polynomial \
    --learning_rate 3e-05 \
    --num_train_epochs 10 \
    --warmup_steps 500 \
    --gradient_accumulation_steps 8 \
    --passages_path ./drive/SQUAD-KB/kb/my_knowledge_dataset \
    --index_path  ./drive/SQUAD-KB/kb/my_knowledge_dataset_hnsw_index.faiss \
    --index_name custom
```
# Error
```
2021-09-06 07:57:26.641999: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
/opt/conda/lib/python3.8/site-packages/ray/autoscaler/_private/cli_logger.py:57: FutureWarning: Not all Ray CLI dependencies were found. In Ray 1.4+, the Ray CLI, autoscaler, and dashboard will only be usable via `pip install 'ray[default]'`. Please update your install command.
  warnings.warn(
loading configuration file ./checkpoint/config.json
Model config RagConfig {
  "architectures": [
    "RagTokenForGeneration"
  ],
  "dataset": "wiki_dpr",
  "dataset_split": "train",
  "do_deduplication": true,
  "do_marginalize": false,
  "doc_sep": " // ",
  "exclude_bos_score": false,
  "forced_eos_token_id": 2,
  "generator": {
    "_name_or_path": "",
    "_num_labels": 3,
    "activation_dropout": 0.0,
    "activation_function": "gelu",
    "add_bias_logits": false,
    "add_cross_attention": false,
    "add_final_layer_norm": true,
    "architectures": [
      "MBartForConditionalGeneration"
    ],
    "attention_dropout": 0.0,
    "bad_words_ids": null,
    "bos_token_id": 0,
    "chunk_size_feed_forward": 0,
    "classif_dropout": 0.0,
    "classifier_dropout": 0.0,
    "d_model": 1024,
    "decoder_attention_heads": 16,
    "decoder_ffn_dim": 4096,
    "decoder_layerdrop": 0.0,
    "decoder_layers": 12,
    "decoder_start_token_id": null,
    "diversity_penalty": 0.0,
    "do_sample": false,
    "dropout": 0.1,
    "early_stopping": false,
    "encoder_attention_heads": 16,
    "encoder_ffn_dim": 4096,
    "encoder_layerdrop": 0.0,
    "encoder_layers": 12,
    "encoder_no_repeat_ngram_size": 0,
    "eos_token_id": 2,
    "finetuning_task": null,
    "forced_bos_token_id": null,
    "forced_eos_token_id": 2,
    "gradient_checkpointing": false,
    "id2label": {
      "0": "LABEL_0",
      "1": "LABEL_1",
      "2": "LABEL_2"
    },
    "init_std": 0.02,
    "is_decoder": false,
    "is_encoder_decoder": true,
    "label2id": {
      "LABEL_0": 0,
      "LABEL_1": 1,
      "LABEL_2": 2
    },
    "length_penalty": 1.0,
    "max_length": 1024,
    "max_position_embeddings": 1024,
    "min_length": 0,
    "model_type": "mbart",
    "no_repeat_ngram_size": 0,
    "normalize_before": true,
    "normalize_embedding": true,
    "num_beam_groups": 1,
    "num_beams": 5,
    "num_hidden_layers": 12,
    "num_return_sequences": 1,
    "output_attentions": false,
    "output_hidden_states": false,
    "output_past": true,
    "output_scores": false,
    "pad_token_id": 1,
    "prefix": null,
    "problem_type": null,
    "pruned_heads": {},
    "remove_invalid_values": false,
    "repetition_penalty": 1.0,
    "return_dict": true,
    "return_dict_in_generate": false,
    "scale_embedding": true,
    "sep_token_id": null,
    "static_position_embeddings": false,
    "task_specific_params": {
      "translation_en_to_ro": {
        "decoder_start_token_id": 250020
      }
    },
    "temperature": 1.0,
    "tie_encoder_decoder": false,
    "tie_word_embeddings": true,
    "tokenizer_class": null,
    "top_k": 50,
    "top_p": 1.0,
    "torchscript": false,
    "transformers_version": "4.6.1",
    "use_bfloat16": false,
    "use_cache": true,
    "vocab_size": 250027
  },
  "index_name": "exact",
  "index_path": null,
  "is_encoder_decoder": true,
  "label_smoothing": 0.0,
  "max_combined_length": 300,
  "model_type": "rag",
  "n_docs": 5,
  "output_retrieved": false,
  "passages_path": null,
  "question_encoder": {
    "_name_or_path": "",
    "add_cross_attention": false,
    "architectures": [
      "DPRQuestionEncoder"
    ],
    "attention_probs_dropout_prob": 0.1,
    "bad_words_ids": null,
    "bos_token_id": null,
    "chunk_size_feed_forward": 0,
    "decoder_start_token_id": null,
    "diversity_penalty": 0.0,
    "do_sample": false,
    "early_stopping": false,
    "encoder_no_repeat_ngram_size": 0,
    "eos_token_id": null,
    "finetuning_task": null,
    "forced_bos_token_id": null,
    "forced_eos_token_id": null,
    "gradient_checkpointing": false,
    "hidden_act": "gelu",
    "hidden_dropout_prob": 0.1,
    "hidden_size": 768,
    "id2label": {
      "0": "LABEL_0",
      "1": "LABEL_1"
    },
    "initializer_range": 0.02,
    "intermediate_size": 3072,
    "is_decoder": false,
    "is_encoder_decoder": false,
    "label2id": {
      "LABEL_0": 0,
      "LABEL_1": 1
    },
    "language": "multilingual",
    "layer_norm_eps": 1e-12,
    "length_penalty": 1.0,
    "max_length": 20,
    "max_position_embeddings": 512,
    "min_length": 0,
    "model_type": "dpr",
    "name": "DPRQuestionEncoder",
    "no_repeat_ngram_size": 0,
    "num_attention_heads": 12,
    "num_beam_groups": 1,
    "num_beams": 1,
    "num_hidden_layers": 12,
    "num_return_sequences": 1,
    "output_attentions": false,
    "output_hidden_states": false,
    "output_scores": false,
    "pad_token_id": 0,
    "position_embedding_type": "absolute",
    "prefix": null,
    "problem_type": null,
    "projection_dim": 0,
    "pruned_heads": {},
    "remove_invalid_values": false,
    "repetition_penalty": 1.0,
    "return_dict": true,
    "return_dict_in_generate": false,
    "revision": null,
    "sep_token_id": null,
    "task_specific_params": null,
    "temperature": 1.0,
    "tie_encoder_decoder": false,
    "tie_word_embeddings": true,
    "tokenizer_class": null,
    "top_k": 50,
    "top_p": 1.0,
    "torchscript": false,
    "transformers_version": "4.6.1",
    "type_vocab_size": 2,
    "use_bfloat16": false,
    "vocab_size": 119547
  },
  "reduce_loss": false,
  "retrieval_batch_size": 8,
  "retrieval_vector_size": 768,
  "title_sep": " / ",
  "transformers_version": null,
  "use_cache": true,
  "use_dummy_dataset": false,
  "vocab_size": null
}

Didn't find file ./checkpoint/question_encoder_tokenizer/added_tokens.json. We won't load it.
loading file ./checkpoint/question_encoder_tokenizer/vocab.txt
loading file ./checkpoint/question_encoder_tokenizer/tokenizer.json
loading file None
loading file ./checkpoint/question_encoder_tokenizer/special_tokens_map.json
loading file ./checkpoint/question_encoder_tokenizer/tokenizer_config.json
Didn't find file ./checkpoint/generator_tokenizer/added_tokens.json. We won't load it.
loading file ./checkpoint/generator_tokenizer/sentencepiece.bpe.model
loading file ./checkpoint/generator_tokenizer/tokenizer.json
loading file None
loading file ./checkpoint/generator_tokenizer/special_tokens_map.json
loading file ./checkpoint/generator_tokenizer/tokenizer_config.json
Assigning ['ar_AR', 'cs_CZ', 'de_DE', 'en_XX', 'es_XX', 'et_EE', 'fi_FI', 'fr_XX', 'gu_IN', 'hi_IN', 'it_IT', 'ja_XX', 'kk_KZ', 'ko_KR', 'lt_LT', 'lv_LV', 'my_MM', 'ne_NP', 'nl_XX', 'ro_RO', 'ru_RU', 'si_LK', 'tr_TR', 'vi_VN', 'zh_CN'] to the additional_special_tokens key of the tokenizer
Loading passages from ./drive/SQUAD-KB/kb/my_knowledge_dataset
loading weights file ./checkpoint/pytorch_model.bin
All model checkpoint weights were used when initializing RagTokenForGeneration.

All the weights of RagTokenForGeneration were initialized from the model checkpoint at ./checkpoint.
If your task is similar to the task the model of the checkpoint was trained on, you can already use RagTokenForGeneration for predictions without further training.
loading configuration file ./checkpoint/config.json
Model config RagConfig {
  "architectures": [
    "RagTokenForGeneration"
  ],
  "dataset": "wiki_dpr",
  "dataset_split": "train",
  "do_deduplication": true,
  "do_marginalize": false,
  "doc_sep": " // ",
  "exclude_bos_score": false,
  "forced_eos_token_id": 2,
  "generator": {
    "_name_or_path": "",
    "_num_labels": 3,
    "activation_dropout": 0.0,
    "activation_function": "gelu",
    "add_bias_logits": false,
    "add_cross_attention": false,
    "add_final_layer_norm": true,
    "architectures": [
      "MBartForConditionalGeneration"
    ],
    "attention_dropout": 0.0,
    "bad_words_ids": null,
    "bos_token_id": 0,
    "chunk_size_feed_forward": 0,
    "classif_dropout": 0.0,
    "classifier_dropout": 0.0,
    "d_model": 1024,
    "decoder_attention_heads": 16,
    "decoder_ffn_dim": 4096,
    "decoder_layerdrop": 0.0,
    "decoder_layers": 12,
    "decoder_start_token_id": null,
    "diversity_penalty": 0.0,
    "do_sample": false,
    "dropout": 0.1,
    "early_stopping": false,
    "encoder_attention_heads": 16,
    "encoder_ffn_dim": 4096,
    "encoder_layerdrop": 0.0,
    "encoder_layers": 12,
    "encoder_no_repeat_ngram_size": 0,
    "eos_token_id": 2,
    "finetuning_task": null,
    "forced_bos_token_id": null,
    "forced_eos_token_id": 2,
    "gradient_checkpointing": false,
    "id2label": {
      "0": "LABEL_0",
      "1": "LABEL_1",
      "2": "LABEL_2"
    },
    "init_std": 0.02,
    "is_decoder": false,
    "is_encoder_decoder": true,
    "label2id": {
      "LABEL_0": 0,
      "LABEL_1": 1,
      "LABEL_2": 2
    },
    "length_penalty": 1.0,
    "max_length": 1024,
    "max_position_embeddings": 1024,
    "min_length": 0,
    "model_type": "mbart",
    "no_repeat_ngram_size": 0,
    "normalize_before": true,
    "normalize_embedding": true,
    "num_beam_groups": 1,
    "num_beams": 5,
    "num_hidden_layers": 12,
    "num_return_sequences": 1,
    "output_attentions": false,
    "output_hidden_states": false,
    "output_past": true,
    "output_scores": false,
    "pad_token_id": 1,
    "prefix": null,
    "problem_type": null,
    "pruned_heads": {},
    "remove_invalid_values": false,
    "repetition_penalty": 1.0,
    "return_dict": true,
    "return_dict_in_generate": false,
    "scale_embedding": true,
    "sep_token_id": null,
    "static_position_embeddings": false,
    "task_specific_params": {
      "translation_en_to_ro": {
        "decoder_start_token_id": 250020
      }
    },
    "temperature": 1.0,
    "tie_encoder_decoder": false,
    "tie_word_embeddings": true,
    "tokenizer_class": null,
    "top_k": 50,
    "top_p": 1.0,
    "torchscript": false,
    "transformers_version": "4.6.1",
    "use_bfloat16": false,
    "use_cache": true,
    "vocab_size": 250027
  },
  "index_name": "exact",
  "index_path": null,
  "is_encoder_decoder": true,
  "label_smoothing": 0.0,
  "max_combined_length": 300,
  "model_type": "rag",
  "n_docs": 5,
  "output_retrieved": false,
  "passages_path": null,
  "question_encoder": {
    "_name_or_path": "",
    "add_cross_attention": false,
    "architectures": [
      "DPRQuestionEncoder"
    ],
    "attention_probs_dropout_prob": 0.1,
    "bad_words_ids": null,
    "bos_token_id": null,
    "chunk_size_feed_forward": 0,
    "decoder_start_token_id": null,
    "diversity_penalty": 0.0,
    "do_sample": false,
    "early_stopping": false,
    "encoder_no_repeat_ngram_size": 0,
    "eos_token_id": null,
    "finetuning_task": null,
    "forced_bos_token_id": null,
    "forced_eos_token_id": null,
    "gradient_checkpointing": false,
    "hidden_act": "gelu",
    "hidden_dropout_prob": 0.1,
    "hidden_size": 768,
    "id2label": {
      "0": "LABEL_0",
      "1": "LABEL_1"
    },
    "initializer_range": 0.02,
    "intermediate_size": 3072,
    "is_decoder": false,
    "is_encoder_decoder": false,
    "label2id": {
      "LABEL_0": 0,
      "LABEL_1": 1
    },
    "language": "multilingual",
    "layer_norm_eps": 1e-12,
    "length_penalty": 1.0,
    "max_length": 20,
    "max_position_embeddings": 512,
    "min_length": 0,
    "model_type": "dpr",
    "name": "DPRQuestionEncoder",
    "no_repeat_ngram_size": 0,
    "num_attention_heads": 12,
    "num_beam_groups": 1,
    "num_beams": 1,
    "num_hidden_layers": 12,
    "num_return_sequences": 1,
    "output_attentions": false,
    "output_hidden_states": false,
    "output_scores": false,
    "pad_token_id": 0,
    "position_embedding_type": "absolute",
    "prefix": null,
    "problem_type": null,
    "projection_dim": 0,
    "pruned_heads": {},
    "remove_invalid_values": false,
    "repetition_penalty": 1.0,
    "return_dict": true,
    "return_dict_in_generate": false,
    "revision": null,
    "sep_token_id": null,
    "task_specific_params": null,
    "temperature": 1.0,
    "tie_encoder_decoder": false,
    "tie_word_embeddings": true,
    "tokenizer_class": null,
    "top_k": 50,
    "top_p": 1.0,
    "torchscript": false,
    "transformers_version": "4.6.1",
    "type_vocab_size": 2,
    "use_bfloat16": false,
    "vocab_size": 119547
  },
  "reduce_loss": false,
  "retrieval_batch_size": 8,
  "retrieval_vector_size": 768,
  "title_sep": " / ",
  "transformers_version": null,
  "use_cache": true,
  "use_dummy_dataset": false,
  "vocab_size": null
}

Didn't find file ./checkpoint/question_encoder_tokenizer/added_tokens.json. We won't load it.
loading file ./checkpoint/question_encoder_tokenizer/vocab.txt
loading file ./checkpoint/question_encoder_tokenizer/tokenizer.json
loading file None
loading file ./checkpoint/question_encoder_tokenizer/special_tokens_map.json
loading file ./checkpoint/question_encoder_tokenizer/tokenizer_config.json
Didn't find file ./checkpoint/generator_tokenizer/added_tokens.json. We won't load it.
loading file ./checkpoint/generator_tokenizer/sentencepiece.bpe.model
loading file ./checkpoint/generator_tokenizer/tokenizer.json
loading file None
loading file ./checkpoint/generator_tokenizer/special_tokens_map.json
loading file ./checkpoint/generator_tokenizer/tokenizer_config.json
Assigning ['ar_AR', 'cs_CZ', 'de_DE', 'en_XX', 'es_XX', 'et_EE', 'fi_FI', 'fr_XX', 'gu_IN', 'hi_IN', 'it_IT', 'ja_XX', 'kk_KZ', 'ko_KR', 'lt_LT', 'lv_LV', 'my_MM', 'ne_NP', 'nl_XX', 'ro_RO', 'ru_RU', 'si_LK', 'tr_TR', 'vi_VN', 'zh_CN'] to the additional_special_tokens key of the tokenizer
INFO:distributed_pytorch_retriever:initializing retrieval
INFO:distributed_pytorch_retriever:dist not initialized / main
Loading index from ./drive/SQUAD-KB/kb/my_knowledge_dataset_hnsw_index.faiss
/opt/conda/lib/python3.8/site-packages/pytorch_lightning/utilities/distributed.py:69: UserWarning: Checkpoint directory ./finetune_output exists and is not empty.
  warnings.warn(*args, **kwargs)
Global seed set to 42
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
Traceback (most recent call last):
  File "./transformers/examples/research_projects/rag/finetune_rag.py", line 617, in <module>
    main(args)
  File "./transformers/examples/research_projects/rag/finetune_rag.py", line 581, in main
    trainer: pl.Trainer = generic_train(
  File "/home/jovyan/work/BlenderBot2/RAG/transformers/examples/research_projects/rag/lightning_base.py", line 379, in generic_train
    trainer = pl.Trainer.from_argparse_args(
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/trainer/properties.py", line 207, in from_argparse_args
    return from_argparse_args(cls, args, **kwargs)
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/utilities/argparse.py", line 52, in from_argparse_args
    return cls(**trainer_kwargs)
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/env_vars_connector.py", line 40, in insert_env_defaults
    return fn(self, **kwargs)
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 319, in __init__
    self.accelerator_connector = AcceleratorConnector(
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py", line 134, in __init__
    self.handle_given_plugins()
  File "/opt/conda/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py", line 209, in handle_given_plugins
    raise MisconfigurationException(
pytorch_lightning.utilities.exceptions.MisconfigurationException: Found invalid type for plugin None. Expected a precision or training type plugin.
```

## Expected behavior

Not having this error.


Comments:
Hi ! What version of pytorch-lightning do you have ? Could you try running another version ?

> Hi ! What version of pytorch-lightning do you have ? Could you try running another version ?

I have the one specified in the [requirements.txt](https://github.com/huggingface/transformers/blob/master/examples/research_projects/rag/requirements.txt) file, so 1.3.1

Could you try this change ?
```diff
--- a/examples/research_projects/rag/finetune_rag.py
+++ b/examples/research_projects/rag/finetune_rag.py
@@ -585,7 +585,7 @@ def main(args=None, model=None) -> GenerativeQAModule:
         checkpoint_callback=get_checkpoint_callback(args.output_dir, model.val_metric),
         early_stopping_callback=es_callback,
         logger=training_logger,
-        custom_ddp_plugin=CustomDDP() if args.gpus > 1 else None,
+        custom_ddp_plugin=CustomDDP(),
         profiler=pl.profiler.AdvancedProfiler() if args.profile else None,
     )
     pickle_save(model.hparams, model.output_dir / "hparams.pkl")
```

Not sure why we pass a `None` plugin if there's only 1 gpu

Alternatively you could try to simply not pass any `custom_ddp_plugin`