[WIP] Add MMBT Model to Transformers Repo
Author: suvrat96
Pull request: yes

Implements the MMBT Model from Supervised Multimodal Bitransformers for Classifying Images and Text by Douwe Kiela, Suvrat Bhooshan, Hamed Firooz, Davide Testuggine (https://arxiv.org/abs/1909.02950) (https://github.com/facebookresearch/mmbt/)

Adds run_mmimdb.py to show example training run on MM-IMDb dataset (http://lisi1.unal.edu.co/mmimdb/)

Comments:
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/2115?src=pr&el=h1) Report
> Merging [#2115](https://codecov.io/gh/huggingface/transformers/pull/2115?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/1d189304624db17749aee23fa2345f009cc48215?src=pr&el=desc) will **decrease** coverage by `0.53%`.
> The diff coverage is `21.32%`.

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

```diff
@@            Coverage Diff            @@
##           master   #2115      +/-   ##
=========================================
- Coverage   83.24%   82.7%   -0.54%     
=========================================
  Files         110     112       +2     
  Lines       16053   16189     +136     
=========================================
+ Hits        13363   13389      +26     
- Misses       2690    2800     +110
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/2115?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [transformers/modeling\_mmbt.py](https://codecov.io/gh/huggingface/transformers/pull/2115/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL21vZGVsaW5nX21tYnQucHk=) | `18.25% <18.25%> (ø)` | |
| [transformers/configuration\_mmbt.py](https://codecov.io/gh/huggingface/transformers/pull/2115/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL2NvbmZpZ3VyYXRpb25fbW1idC5weQ==) | `60% <60%> (ø)` | |
| [transformers/tests/modeling\_common\_test.py](https://codecov.io/gh/huggingface/transformers/pull/2115/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL21vZGVsaW5nX2NvbW1vbl90ZXN0LnB5) | `73.98% <0%> (-0.56%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/2115?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/2115?src=pr&el=footer). Last update [1d18930...df39611](https://codecov.io/gh/huggingface/transformers/pull/2115?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Hi! This is great, thank you for adding this. There's a few things I'll need to change before merging:

- I'll complete the documentation so that it is visible on our huggingface.co/transformers and not only in the source code.
- I'll add some tests
- I'll move the scripts to a folder inside examples, e.g. `examples/mmbt/*`, as it was done with PPLM/Distillation/summarization.

I'll push directly on your fork if that's okay!

That sounds great. Thank you! 

I'm trying to run  the `run_mmimdb.py` script, could you tell me where to download the dataset? The link you've provided downloads a .tar that contains a `split.json` as well as training/evaluation data, but no `dev.jsonl` or `train.jsonl` as specified in the `load_examples` method.

Ok merging, for now, to have the code in the codebase cleanup.
Let's not forget to add:
- documentation
- tests
- pretrained model weights
later so that people can really use the model.

where is the `dev.jsonl` or `train.jsonl`?