code: def module_policy(self):
      pass
  
      policy = super().module_policy()
  
      if self.pipeline_stage_manager is not None:
          self.set_pipeline_forward(
              model_cls=ChatGLMModel,
              new_forward=ChatGLMPipelineForwards.chatglm_model_forward,
              policy=policy,
          )
      return policy
  
imports: from functools import partial
  from typing import Callable, Dict, List, Union
  import torch.nn
  from torch import Tensor
  import colossalai.shardformer.layer
  from colossalai.shardformer.modeling.chatglm2 import ChatGLMPipelineForwards
  from colossalai.shardformer.modeling.chatglm2_6b.modeling_chatglm import ChatGLMForConditionalGeneration, ChatGLMModel
  from ..modeling.chatglm2 import get_chatglm_sequence_parallel_forward_fn, get_flash_core_attention_forward, get_jit_fused_glm_block_forward
  from ..modeling.jit import get_jit_fused_dropout_add_func
  from .base_policy import ModulePolicyDescription, Policy, SubModuleReplacementDescription
label_desc: Use image node_id 1 for calling the ChatGLMModelPolicy obj's underlying member method code with example usage: obj.module_policy() and returns: policy