Update BERT-of-Theseus model card to avoid confusion
Author: JetRunner
Pull request: yes
Labels: name: model card

@VictorSanh said this checkpoint cannot be evaluated directly on MNLI. Indeed this model is for intermediate task transfer (in BERT-of-Theseus [arxiv version](https://arxiv.org/abs/2002.02925), it's called a "general-purpose" model) so it doesn't (and shouldn't) contain a classification head. This note helps prevent confusion.

Comments:
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/5131?src=pr&el=h1) Report
> Merging [#5131](https://codecov.io/gh/huggingface/transformers/pull/5131?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/84be482f6698fac822a5113735f2242c6d3abc76&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

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

```diff
@@           Coverage Diff           @@
##           master    #5131   +/-   ##
=======================================
  Coverage   77.19%   77.19%           
=======================================
  Files         133      133           
  Lines       22232    22232           
=======================================
  Hits        17162    17162           
  Misses       5070     5070           
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/5131?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/5131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `85.81% <0.00%> (-0.15%)` | :arrow_down: |
| [src/transformers/file\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/5131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9maWxlX3V0aWxzLnB5) | `75.40% <0.00%> (+0.40%)` | :arrow_up: |

------

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


The note makes it clearer! Thanks!

As discussed, I think the confusion arises because of the naming: in the hub, most of the checkpoints with a task in the checkpoint name are full checkpoint with the specific task head. Sometimes there is `finetuned` in the checkpoint name, sometimes not.
This enables a user to directly use a fine-tuned checkpoint for the task at hand out of the box (without any training).

In the long run, it might be worth it to have explicit "guidelines" on checkpoint naming in the hub to avoid these confusions (which should also be mentioned in the model cards if there is any ambiguity). Namely, checkpoints that are general purpose (like `bert-base-uncased`) should be clearly distinguishable from the task-specific checkpoints (like `bert-large-uncased-whole-word-masking-finetuned-squad`). What do you think @julien-c?

IMO, the most important thing is to allow the authors to specify the example code. A possible design would be: auto-generated example by default but authors can overwrite. We can never completely rule out the ambiguity in the name without a super complicated protocol and long names. At least a code snippet can help.