code: def load_hf_weights_in_bert_torch(model, ckpt_path, voc_size_diff):
      """Load huggingface checkpoints and convert to a deepspeed model."""
      hf_path = os.path.abspath(ckpt_path)
      logger.info(
          "Converting Huggingface checkpoint from {}".format(hf_path)
      )
      # Load weights from Huggingface model
      ckpt = torch.load(hf_path, map_location=torch.device("cpu"))
  
      qkv = {}
      for name_str in ckpt.keys():
          array = ckpt[name_str].numpy()
          logger.info(
              "Loading Huggingface weight {} with shape {}".format(
                  name_str, array.shape
              )
          )
          name = name_str.split(".")
          pointer = model
          key = None
          is_layer = False
          skipping = False
          for m_name in name:
              # Special in deepspeed.
              if (
                  name_str.find("intermediate.dense") >= 0
                  and m_name == "dense"
              ):
                  pointer = getattr(pointer, "dense_act")
              elif (
                  name_str.find("pooler.dense") >= 0
                  and m_name == "dense"
              ):
                  pointer = getattr(pointer, "dense_act")
              else:
                  try:
                      pointer = getattr(pointer, m_name)
                  except AttributeError:
                      logger.info("Skipping {}".format(".".join(name)))
                      skipping = True
                      break
  
          if skipping:
              continue
  
          # DeepSpeed BERT model has voc_size 8 aligned.
          if (
              voc_size_diff > 0
              and name_str.find("embeddings.word_embeddings") >= 0
          ):
              z = np.zeros(
                  (voc_size_diff, array.shape[1]), dtype=array.dtype
              )
              array = np.concatenate((array, z), axis=0)
  
          set_data(pointer, array)
          logger.info("Initialize DeepSpeed weight {}".format(name))
  
      return model
  
file_path: deepspeedexamples/training/BingBertSquad/convert_bert_ckpt_to_deepspeed.py
imports: import os
  import argparse
  import logging
  import torch
  import re
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: load_hf_weights_in_bert_torch(model, ckpt_path, voc_size_diff) and returns: model