code: def gen_bert_emb_config(training_args, config):
      bert_emb_config = BertEmbeddingLayer.get_config(
          vocab_size=config.vocab_size,
          embedding_dim=config.hidden_size,
          max_batch_tokens=4096,
          max_seq_len=config.max_position_embeddings,
          padding_idx=config.pad_token_id,
          dropout=config.hidden_dropout_prob,
          fp16=training_args.fp16,
          local_rank=training_args.local_rank,
      )
      bert_emb_config.type_vocab_size = config.type_vocab_size
      bert_emb_config.layer_norm_eps = config.layer_norm_eps
      return bert_emb_config
  
imports: import torch
  from lightseq.training.pytorch_quantization.nn.modules.tensor_quantizer import enable_quant
  from lightseq.training.ops.pytorch.quantization import qat_mode, disable_quant, weight_quant_config, act_quant_config, relu_quant_config
  from lightseq.training.ops.pytorch.torch_transformer_layers import BertEmbeddingLayer
  from transformers import BertForSequenceClassification, BertPreTrainedModel, BertLayer, BertLMHeadModel, BertForMaskedLM, BertForNextSentencePrediction, BertForMultipleChoice, BertForTokenClassification, BertForQuestionAnswering
label_desc: Use image node_id 3 for calling a global function with example usage: gen_bert_emb_config(training_args, config) and returns: bert_emb_config