ElectraForQuestionAnswering
This PR adds `ElectraForQuestionAnswering`. One of the missing models in this [project](https://github.com/huggingface/transformers/projects/17)

@LysandreJik , @sgugger 
Great, thanks for your help! 
Could you also add the new model to [`all_model_classes`](https://github.com/huggingface/transformers/blob/master/tests/test_modeling_electra.py#L41) which would test the model a little bit more?<|||||># [Codecov](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=h1) Report
> Merging [#4913](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/5d63ca6c38cc0f583cdec4c3efcfce13c0a41fdc&el=desc) will **increase** coverage by `0.03%`.
> The diff coverage is `93.93%`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/4913/graphs/tree.svg?width=650&height=150&src=pr&token=9qOlN6Hb1c)](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #4913      +/-   ##
==========================================
+ Coverage   77.10%   77.13%   +0.03%     
==========================================
  Files         128      128              
  Lines       21617    21650      +33     
==========================================
+ Hits        16667    16699      +32     
- Misses       4950     4951       +1     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/\_\_init\_\_.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9fX2luaXRfXy5weQ==) | `99.13% <ø> (ø)` | |
| [src/transformers/modeling\_auto.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19hdXRvLnB5) | `78.40% <ø> (ø)` | |
| [src/transformers/modeling\_electra.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19lbGVjdHJhLnB5) | `78.16% <93.93%> (+2.07%)` | :arrow_up: |
| [src/transformers/modeling\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ191dGlscy5weQ==) | `90.49% <0.00%> (-0.12%)` | :arrow_down: |
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `87.42% <0.00%> (+0.15%)` | :arrow_up: |
| [src/transformers/file\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4913/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9maWxlX3V0aWxzLnB5) | `73.49% <0.00%> (+0.40%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=footer). Last update [5d63ca6...d8a5995](https://codecov.io/gh/huggingface/transformers/pull/4913?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
<|||||>> Great, thanks for your help!
> Could you also add the new model to [`all_model_classes`](https://github.com/huggingface/transformers/blob/master/tests/test_modeling_electra.py#L41) which would test the model a little bit more?

Sure<|||||>Oh and before I forget, if you don't mind, could you add the new model in the docs as well in [this file](https://github.com/huggingface/transformers/blob/master/docs/source/model_doc/electra.rst) (between `ElectraForTokenClassification` and `TFElectraModel` ideally).<|||||>@sgugger 
some tests are failing, but I'm not sure if they are related to this model

The test for this qa model is passed.<|||||>The failing tests are the test common for all models (that are applied to the one you're adding because of the change I made you do). One of the failure I see is linked to the `input_ids` not defaulting to `None` (for when you pass input embeddings instead). There is another one linked to the attentions, I pointed out the problems in comments.<|||||>> The failing tests are the test common for all models (that are applied to the one you're adding because of the change I made you do). One of the failure I see is linked to the `input_ids` not defaulting to `None` (for when you pass input embeddings instead). There is another one linked to the attentions, I pointed out the problems in comments.

Thanks @sgugger !
The tests are happy now :)<|||||>@sgugger  this examples failure is related to `TestBartExamples.test_bart_summarization_dataset `<|||||>Cool! All green 🤗