code: def tfmerXL_lm_split(model:nn.Module) -> List[nn.Module]:
      "Split a RNN `model` in groups for differential learning rates."
      encoder = model[0]
      n = len(encoder.layers)//3
      groups = [list(encoder.layers[:n]) + [ParameterModule(encoder.u), ParameterModule(encoder.v)]]
      return groups + [list(encoder.layers[n:2*n]), list(encoder.layers[2*n:]), [encoder.encoder, model[1]]f tfmerXL_lm_split(model:nn.Module) -> List[nn.Module]:
      "Split a RNN `model` in groups for differential learning rates."
      encoder = model[0]
      n = len(encoder.layers)//3
      groups = [list(encoder.layers[:n]) + [ParameterModule(encoder.u), ParameterModule(encoder.v)]]
      return groups + [list(encoder.layers[n:2*n]), list(encoder.layers[2*n:]), [encoder.encoder, model[1]]]
docs: Split a RNN `model` in groups for differential learning rates.