class_docstr: use AutoModelForMaskedLM, and select the output by another layer in the lit model
code: def configure_optimizers(self):
      no_decay_param = ["bias", "LayerNorm.weight"]
  
      if not self.args.two_steps:
          parameters = self.cur_model.named_parameters()
      else:
          # cur_model.bert.embeddings.weight
          parameters = [next(self.cur_model.named_parameters())]
      # only optimize the embedding parameters
      optimizer_group_parameters = [
          {
              "params": [
                  p
                  for n, p in parameters
                  if not any(nd in n for nd in no_decay_param)
              ],
              "weight_decay": self.args.weight_decay,
          },
          {
              "params": [
                  p
                  for n, p in parameters
                  if any(nd in n for nd in no_decay_param)
              ],
              "weight_decay": 0,
          },
      ]
  
      optimizer = self.optimizer_class(
          optimizer_group_parameters, lr=self.lr, eps=1e-8
      )
      return optimizer
      """return {
              "optimizer": optimizer, 
              "lr_scheduler":{
                  'scheduler': scheduler,
                  'interval': 'step',  # or 'epoch'
                  'frequency': 1,
              }
          }"""
  
imports: import json
  import torch
  import torch.nn
  import torch.nn.functional
  import numpy
  from .base import BaseLitModel
  from .util import dialog_f1_eval, f1_eval, compute_f1, acc, f1_score
  from transformers.optimization import get_linear_schedule_with_warmup
  from functools import partial
label_desc: Use image node_id 12 for calling the BertLitModel obj's underlying member method code with example usage: obj.configure_optimizers() and returns: optimizer