docs: def get_decoder_self_attention_bias(length):
    """Calculate bias for decoder that maintains model's autoregressive property.
  
    Creates a tensor that masks out locations that correspond to illegal
    connections, so prediction at position i cannot draw information from future
    positions.
  
    Args:
      length: int length of sequences in batch.
  
    Returns:
      float tensor of shape [1, 1, length, length]
    """
    with tf.name_scope("decoder_self_attention_bias"):
      valid_locs = tf.matrix_band_part(tf.ones([length, length]), -1, 0)
      valid_locs = tf.reshape(valid_locs, [1, 1, length, length])
      decoder_bias = _NEG_INF * (1.0 - valid_locs)
    return decoder_bias