code: def get_module_name(
      group_name,
      model,
      key_word,
      exist_module_name,
      mpu=None,
      verbose=True,
  ):
      """
      get the associated module name from the model based on the key_word provided by users
      """
      return_module_name = []
      for name, module in model.named_modules():
          module_check = is_module_compressible(module, mpu)
  
          if re.search(key_word, name) is not None and module_check:
              if name in exist_module_name and verbose:
                  # logger.warning
                  raise ValueError(
                      f"{name} is already added to compression, please check your config file for {group_name}."
                  )
              if name not in exist_module_name:
                  exist_module_name.add(name)
                  return_module_name.append(name)
      return return_module_name, exist_module_name
  
file_path: DeepSpeed/deepspeed/compression/compress.py
imports: import re
  from .helper import compression_preparation, fix_compression, recursive_getattr, is_module_compressible
  from .config import get_compression_config
  from ..runtime.config_utils import dict_raise_error_on_duplicate_keys
  from .constants import *
  import os
  import json
label_desc: Use image node_id 2 for calling a global function with example usage: get_module_name(group_name, model, key_word, exist_module_name, mpu, verbose) and returns: return_module_name,  exist_module_name