[wav2vec] mask fragmentation
Hi,

First of all, thanks for developing this incredibly useful toolkit.

I am experimenting with the wav2vec code in NeMo, and would like to ask a question regarding the computation of the masked indices for the context encoder network. More precisely, the `compute_mask_indices` function in `collections/asr/modules/wav2vec_modules.py` appears to implement a normalisation step at the end, ensuring that the total number of masked timesteps for each entry in the minibatch is identical.

```
    min_len = min([len(m) for m in mask_idcs])
    for i, mask_idc in enumerate(mask_idcs):
        if len(mask_idc) > min_len:
            mask_idc = np.random.choice(mask_idc, min_len, replace=False)
        mask[i, mask_idc] = True
```

At runtime, I am observing that the masks for the longer sequences in a minibatch end up being fragmented, especially when there is a considerable length ratio between the longer and the shortest utterance. In contrast, [the article of Baevski et al. ](https://arxiv.org/abs/2006.11477)mentions the masking of at least M consecutive timesteps, and Figure 2 appears to indicate no masks shorter than 10 timesteps in that example.

Would you please explain the role of the code snippet above in `compute_mask_indices` ? Do you consider this could have a significant impact upon the convergence speed of the learning algorithm? I am currently exploring an alternative base architecture and seeing relatively large loss values in the range of 1e+4 after 50k iterations, and was wondering if I should apply a different masking strategy.

Thanks for any help. @SeanNaren I hope you don't mind the ping.