code: def __init__(
      self,
      vocab_size=30720,
      dim_model=4096,
      num_heads=64,
      dim_head=64,
      dim_ff=10240,
      num_layers=32,
      dropout_p=0.0,
      position_bias_num_buckets=256,
      position_bias_num_segment_buckets=256,
      position_bias_max_distance=2048,
      eps=1e-6,
      half: bool = True,
      mask_modules: Optional[List[Tuple[bool, bool]]] = None,
  ):
      super().__init__()
      self.dim_model = dim_model
      self.num_heads = num_heads
      self.dim_head = dim_head
      self.dim_ff = dim_ff
      self.num_layers = num_layers
      self.position_bias_num_buckets = position_bias_num_buckets
      self.position_bias_num_segment_buckets = (
          position_bias_num_segment_buckets
      )
      self.position_bias_max_distance = position_bias_max_distance
      self.dropout_p = dropout_p
      self.eps = eps
      if half:
          self.dtype = torch.half
      else:
          self.dtype = torch.float
      self.vocab_size = vocab_size
      self.mask_modules = mask_modules
  
file_path: DeepKE/example/llm/CPM-Bee/src/cpm_live/models/bee.py
imports: from typing import List, Optional, Tuple
  from typing_extensions import TypedDict
  import torch
  from ..utils import Config
  from ..layers import Encoder, EmbeddingExt, BucketPositionBias
  import bmtrain
  from ..utils.gradient_shrink import gradient_shrink
label_desc: Use image node_id 1 to create a new CPMBeeConfig object from inherited base classes: Config with example: obj = CPMBeeConfig(vocab_size, dim_model, num_heads, dim_head, dim_ff, num_layers, dropout_p, position_bias_num_buckets, position_bias_num_segment_buckets, position_bias_max_distance, eps, half, mask_modules)