split seq2seq script into summarization & translation
Author: theo-m
Pull request: yes

keeping the original script for tests cc @stas00 
fix #10164 

Comments:
cc @stas00 `run_seq2seq` is left as is for now. At some point, if your tests migrate from that script to either the new ones or another one, we will remove it.

> cc @stas00 `run_seq2seq` is left as is for now. At some point, if your tests migrate from that script to either the new ones or another one, we will remove it.

I know we discussed to potentially leave the all-in-one script for performance testing, but it's very likely we will be using a different approach that Morgan created.

Therefore please don't leave this on me - please sync the tests with these changes and remove the do-it-all script. Thank you.


May I suggest that the examples are inconsistent script naming-wise, some are very abbreviated `run_clm.py`, others are the extreme opposite `run_summarization.py` - that's a way too much to type - won't `run_sum.py` be sufficient?

For "to type" I mean when referring to them in documents, Issues, etc. There is no file-completion there.

> May I suggest that the examples are inconsistent with script naming-wise, some are very abbreviated `run_clm.py`, others are the extreme opposite `run_summarization.py` - that's a way too much to type - won't `run_sum.py` be sufficient?

my personal preference goes to clarity so `run_summarization.py` trumps `run_sum.py` - but consistency is also important - unsure about the best tradeoff here

edit: if we were to shorten the script names, what would be the matching acronym for `run_translation.py`?

`run_trans.py`

and just to clarify, I'm just flagging the inconsistency and my preference to type less, and in no way suggesting to interfere with this process - if most of you prefer the long names - go for it. 

Also while we are at it or perhaps after the split - different PR, this further proposed improvement could be applied:
https://github.com/huggingface/transformers/issues/10164


I'm not seeing the benefit of shortening to `run_sum` and `run_trans` when tab-complete will give you the full name. In the language-modeling folder, the acronym was used because `run_causal_language_modeling`/`run_masked_language_modeling` is really long, same for question-answering.

If summarization and translation took two words at least, we could use the acronym to shorten the name, but since they don't I would go for the full name.

> I'm not seeing the benefit of shortening to `run_sum` and `run_trans` when tab-complete will give you the full name. In the language-modeling folder, the acronym was used because `run_causal_language_modeling`/`run_masked_language_modeling` is really long, same for question-answering.
> 
> If summarization and translation took two words at least, we could use the acronym to shorten the name, but since they don't I would go for the full name.

I can't see how one is much longer than the other:
```
run_causal_language_modeling
run_summarization
```

Would `run_causal_lm` and `run_masked_lm` be perhaps a good middle ground if you want example names to be of the explicit type?



> I'm not seeing the benefit of shortening to `run_sum` and `run_trans` when tab-complete will give you the full name. In the language-modeling folder, the acronym was used because `run_causal_language_modeling`/`run_masked_language_modeling` is really long, same for question-answering.
> 
> If summarization and translation took two words at least, we could use the acronym to shorten the name, but since they don't I would go for the full name.

My current understanding is that consistency primes for now, and the change for more explicit script names should be done in a separate PR, if there is indeed consensus that explicit names are better here.

Very nice PR overall! 

I don't really agree though with the `sum`, `trans` and the "one-size-fits-it-all" design choices. Maybe we can settle on displaying a warning for T5 @stas00 ?

> I don't really agree though with the `sum`, `trans` 

As long as other examples are consistently named then it works.

> and the "one-size-fits-it-all" design choices. 

It doesn't sound like we are reaching a consensus here. I outlined that entering the same data more than once in the same input is error-prone. Perhaps there is another way to fix this w/o "one-size-fits-it-all" 

> Maybe we can settle on displaying a warning for T5 @stas00 ?

Yes, please. At the very least.

@theo-m, @stas00 - if it's fine for you maybe we can change the script names to `run_summarization.py` and `run_translation.py` then and replace the automatic setting of `prefix` for T5 with a warning instead. Would that work? I'm more than happy to merge this PR then

If the group prefers it this way then it is fine as you propose.

> If the group prefers it this way then it is fine as you propose.

Okey, maybe @sgugger, @patil-suraj and @LysandreJik can give their final word then as well

I would prefer explicit names  (`run_summarization.py` and `run_translation.py`) and not handling T5 prefixes automatically.

I have already given my opinion on the names. For the `source_prefix` I have no strong opinion as I don't see any "good" solution sadly. I'm fine with the warning.

Seems to me this could be merged, last call for maintainers @patrickvonplaten @sgugger @LysandreJik (thumbs up on this message will be interpreted as a go 😉 )