Fix uninitialized parameter in conformer relative attention.
`torch.Tensor` creates an unitialized tensor (as via `torch.empty`), this leads to undeterministic behavior, poor initialization, and nans if you have unlucky init. The paper does not specify the initialization for bias terms, so I guess zero seems like a good choice - no bias initially. `torch.Tensor` is usually populated with zeros, so this fix will be close to the intended behavior:

```
>>> torch.Tensor(100, 100).sum()
tensor(0.)
>>> torch.Tensor(100, 100).sum()
tensor(nan)
>>> torch.Tensor(100, 100).sum()
tensor(0.)
```


## Who can review?

@patrickvonplaten


_The documentation is not available anymore as the PR was closed or merged._<|||||>Hey @PiotrDabkowski, won't these be overridden by the weights when loaded with `from_pretrained`?

Edit: ah, understood - you'd like to have a better initialization at zeros instead of random.

Will let @patrickvonplaten or @sanchit-gandhi comment, we try to stay as close as possible to the original implementation so this will likely be the deciding factor.<|||||>Hey @PiotrDabkowski! That's a great catch! It looks like the initialisation of the (u, v) bias terms in the relative positional encoding transformation were copied one-to-one from the original modelling code in the fairseq repo:
https://github.com/facebookresearch/fairseq/blob/4fe8583396191c22011350248119db98ec1b5cb8/fairseq/modules/espnet_multihead_attention.py#L127-L128

Indeed, using `torch.Tensor` leads to undesirable behaviour for the initialisation of tensors, and `torch.zeros` is an apt replacement. I've opened an issue on fairseq: https://github.com/facebookresearch/fairseq/issues/4622 and PR with the corresponding fix: https://github.com/facebookresearch/fairseq/pull/4623

If it's good with you, we'll wait for the original authors to respond and then hopefully update the two in tandem!