ProphetNetNgramAttention: Number of attention heads
## Information

Model I am using (Bert, XLNet ...): ProphetNet

The ProphetNet Ngram attention layer seem to refer to a wrong number of heads. The `ProphetNetNgramProphetNetSelfAttention` (seems to be a typo by the way, maybe `ProphetNetNgramSelfAttention` would be more appropriate?) is part of the decoder, and therefore I would expect it should contain a number of attention head equal to the configuration parameter `num_decoder_attention_heads `.

However, when instantiated at https://github.com/huggingface/transformers/blob/02e05fb0a532e572b56ba75dad6ba3db625bbdeb/src/transformers/models/prophetnet/modeling_prophetnet.py#L759, it uses the property `num_attention_heads` that equals to the number of **encoder** attention heads.

I assume that the correct value should be `config.num_decoder_attention_heads`. (Luckily?) no issue showed up in most models because pretrained models have the same number of encoder and decoder heads. Looking at the reference implementation, it does seem that the **decoder** number of attention heads is used for the Ngram attention (see https://github.com/microsoft/ProphetNet/blob/1d36bc5c4f334b0ed9b90fdf3a64785c174f5c45/GLGE_baselines/script/prophetnet/ngram_s2s_model.py#L586)

### Who can help

 @patrickvonplaten ? Again not sure since I do not see an owner for ProphetNet

I would be happy to submit a small PR referencing to `config.num_decoder_attention_heads` rather than this property if you agree with this change

Thanks!


Hey @guillaume-be,

you're 100% correct about both the naming: We should remove one `ProphetNet` and also about the config. Thanks a lot for reporting this. I'll open a PR 