1from abc import ABC, abstractmethod 2 3 4class BaseConfig(ABC): 5 def __init__(self): 6 self.model_type = "base" 7 self.vocab_size = None 8 self.hidden_size = 0 9 self.intermediate_size = 0 10 self.num_hidden_layers = 0 11 self.num_attention_heads = 0 12 self.num_key_value_heads = 0 13 self.position_embedding = None 14 self.max_position_embeddings = 0 15 self.ntk_scaling_factor = 1.0 16 self.norm = None 17 self.norm_eps = 0 18 19 self.bos_token_id = None 20 self.pad_token_id = None 21 self.eos_token_id = None 22 self.unk_token_id = None 23 24 self.use_stable_embedding = False 25 self.tie_word_embeddings = False 26 self.combine_qkv = False 27 28 self.tokenizer = "default" 29 30 @abstractmethod 31 def print_config(self, response_handler): 32 pass 33