[Benchmarks] Change all args to from `no_...` to their positive form
Author: fmcurti
Pull request: yes

Fixes #7072

As @stas00 pointed out a while back, there were a bunch of negative args formulations in `benchmarks.py` which are hard to understand and make the code unnecessarly complex.

This PR fixes this problem by 
a) Formulating all args in their positive form 
b) Improving their docstring
c) Making the code more readable

**!!! This has breaking changes for the command line args of `examples/run_benchmark.py `and `examples/run_benchmark_tf.py` !!!**
People that were using `--no_...` on command line previously, now should use `--no-...`. *E.g.* `--no_inference` is changed to `--no-inference` on the command line.

Thanks a lot @fmcurti for leading this PR!

Comments:
Hey @fmcurti - this looks great, thanks a lot for your contribution here!

In order to pass the `check_code_quality` test it would be great if you can run `make style` as described in https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md . 
And it would be important to make the benchmarks.py test pass.

As said in the comment above, it'd be great if you could add a line stating how to disable `default=True` params from the config.

Let me know if you are stuck and need help :-) 

Hi @patrickvonplaten =) 
I think I modified the tests so that they pass, but i think the tests running on circleci are the ones on the master branch and not on my commit maybe? because the error messages I see seem to be from things I already changed

@LysandreJik @sgugger - For some reason the git-diff is messed up in this PR. I checked the changes offline using `vimdiff` and the changes look good to me! 
Think the breaking changes are not super relevant here because it's only the benchmarking argument class that is affected and not too many people seem to be using the benchmarking tools.

Great! My first contribution to an open source library 🤗
Small one but it's a start,

The first post looks confusing, it looks like someone with admin rights edited it, but didn't indicate so, so it appears that @fmcurti praises himself ;) perhaps a ----- bar and a note that it was edited, so that it's clear to the readers that "this and below" wasn't part of the original post?

I'm in agreement with @patrickvonplaten - I don't think this API is being used much and it's an important change for the long run, so it's worth the breaking. Good APIs are not easy.

but if it's really needed one could keep the old args and code them to set the new args. and have a deprecation cycle. Definitely doable.

@fmcurti - great work, thank you for your contribution!

> @LysandreJik @sgugger - For some reason the git-diff is messed up in this PR. I checked the changes offline using `vimdiff` and the changes look good to me!

You need to tell github to ignore whitespaces and then it works:
https://github.com/huggingface/transformers/pull/7075/files?diff=split&w=1
Got it via this:
![screenshot_6](https://user-images.githubusercontent.com/10676103/93915406-d2dd6f80-fcbc-11ea-87fa-2bfbbabbed5b.png)



> I'm in agreement with @patrickvonplaten - I don't think this API is being used much and it's an important change for the long run, so it's worth the breaking. Good APIs are not easy.
>
> but if it's really needed one could keep the old args and code them to set the new args. and have a deprecation cycle. Definitely doable.

I agree that this change is welcome, and the proposed API here is indeed much better than the previous one. However, I think this can be done better by having, as you mentioned, some deprecation warnings while still maintaining backwards compatibility for some time.

@LysandreJik - I'm fine with keeping the old arguments with deprecation warnings - will add this to the PR.

# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/7075?src=pr&el=h1) Report
> Merging [#7075](https://codecov.io/gh/huggingface/transformers/pull/7075?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/28cf873036d078b47fb9dd38ac3421a7c874da44?el=desc) will **increase** coverage by `1.81%`.
> The diff coverage is `71.45%`.

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

```diff
@@            Coverage Diff             @@
##           master    #7075      +/-   ##
==========================================
+ Coverage   76.58%   78.39%   +1.81%     
==========================================
  Files         181      181              
  Lines       34828    34851      +23     
==========================================
+ Hits        26674    27323     +649     
+ Misses       8154     7528     -626     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/7075?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/benchmark/benchmark.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrLnB5) | `82.17% <ø> (ø)` | |
| [src/transformers/benchmark/benchmark\_tf.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrX3RmLnB5) | `65.51% <ø> (ø)` | |
| [src/transformers/benchmark/benchmark\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrX3V0aWxzLnB5) | `69.00% <69.00%> (-0.50%)` | :arrow_down: |
| [src/transformers/benchmark/benchmark\_args.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrX2FyZ3MucHk=) | `83.33% <76.92%> (-2.72%)` | :arrow_down: |
| [src/transformers/benchmark/benchmark\_args\_tf.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrX2FyZ3NfdGYucHk=) | `85.29% <78.57%> (-2.21%)` | :arrow_down: |
| [src/transformers/benchmark/benchmark\_args\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9iZW5jaG1hcmsvYmVuY2htYXJrX2FyZ3NfdXRpbHMucHk=) | `89.13% <89.13%> (ø)` | |
| [src/transformers/modeling\_layoutlm.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19sYXlvdXRsbS5weQ==) | `25.06% <0.00%> (-69.40%)` | :arrow_down: |
| [src/transformers/tokenization\_rag.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fcmFnLnB5) | `32.55% <0.00%> (-37.21%)` | :arrow_down: |
| [src/transformers/tokenization\_funnel.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fZnVubmVsLnB5) | `62.79% <0.00%> (-34.89%)` | :arrow_down: |
| [src/transformers/configuration\_layoutlm.py](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2xheW91dGxtLnB5) | `80.00% <0.00%> (-20.00%)` | :arrow_down: |
| ... and [16 more](https://codecov.io/gh/huggingface/transformers/pull/7075/diff?src=pr&el=tree-more) | |

------

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