code: def create_ds_model_config(self):
      self.set_hidden_heads(*self.policy.get_hidden_heads())
      assert self.num_attention_heads % self.mp_size == 0, (
          "To run the model parallel across the GPUs, the attention_heads require to be divisible by the world_size!"
          + "This is because the attention computation is partitioned evenly among the parallel GPUs."
      )
  
      self.ds_model_config = transformer_inference.DeepSpeedMoEInferenceConfig(
          hidden_size=self.hidden_size,
          heads=self.num_attention_heads,
          layer_norm_eps=self.layer_norm_eps,
          fp16=self.fp16,
          pre_layer_norm=self.pre_layer_norm,
          mp_size=self.mp_size,
          q_int8=self.quantize,
          moe_experts=self.local_ep_size,
          global_experts=self.num_experts,
          mlp_type=self.config.moe.type,
          scale_attn_by_inverse_layer_idx=self.scale_attn_by_inverse_layer_idx,
      )
  
      return self.ds_model_config
  
file_path: DeepSpeed/deepspeed/module_inject/containers/base_moe.py
imports: from .base import *
  from deepspeed import comm
  import deepspeed.ops.transformer
  from deepspeed.accelerator import get_accelerator
label_desc: Use image node_id 2 for calling the BaseTransformerMoEContainer obj's underlying member method code with example usage: obj.create_ds_model_config() and returns: self