code: def __init__(
      self,
      module,
      all_reduce_linears,
      prefix,
      state_dict,
      linear_layer_setting,
      orig_layer_impl,
  ):
      self.module = module
      self.all_reduce_linears = all_reduce_linears
      self.prefix = prefix
      self.state_dict = state_dict
  
      self.mp_size = None
      self.mp_group = None
      self.linear_layer_setting = linear_layer_setting
      self.orig_layer_impl = orig_layer_impl
      self.linear_policies = None
      self.conv_linear_layer = False
  
imports: import re
  from torch import nn
  from .replace_policy import replace_policies
  from typing import Optional
  import torch
  from deepspeed import comm
  from .layers import LinearAllreduce, LinearLayer, LmHeadLinearAllreduce
  from deepspeed.accelerator import get_accelerator
  from .fusedqkv_utils import require_tp_fused_qkvw, prepare_tp_fused_qkvw
  from deepspeed.module_inject.tp_shard import get_shard_size, get_shard_size_list
label_desc: Use image node_id 1 to create a new AutoTP object  with example: obj = AutoTP(module, all_reduce_linears, prefix, state_dict, linear_layer_setting, orig_layer_impl)