CLM is inherently unidirectional, as the model must not be able to "peek" at the word it has to predict.
to encode the left and the right contexts two separate networks have to be used, even if they often share part of the weights and are jointly trained.