Masking is mainly needed for training so we can paralellize our training, but during inference it is not usually needed but it comes up implicitly