from transformers import PretrainedConfig class RSLMConfig(PretrainedConfig): model_type = "rslm" def __init__( self, hidden_size=2048, num_layers=24, num_q_heads=16, num_kv_heads=1, head_dim=128, intermediate_size=4352, vocab_size=65536, max_position_embeddings=262144, original_max_position_embeddings=8192, rope_theta=1000000.0, rope_scaling=None, window_size=4096, global_layers_0idx=(5, 11, 17, 23), evict_local_kv=True, local_cache_keep=4096, parallel_block=True, rms_norm_eps=1e-6, hidden_act="swiglu", tie_word_embeddings=True, bos_token_id=1, eos_token_id=2, pad_token_id=0, **kwargs, ): super().__init__( bos_token_id=bos_token_id, eos_token_id=eos_token_id, pad_token_id=pad_token_id, tie_word_embeddings=tie_word_embeddings, **kwargs, ) self.hidden_size = hidden_size self.num_layers = num_layers self.num_q_heads = num_q_heads self.num_kv_heads = num_kv_heads self.head_dim = head_dim self.intermediate_size = intermediate_size self.vocab_size = vocab_size self.max_position_embeddings = max_position_embeddings self.original_max_position_embeddings = original_max_position_embeddings self.rope_theta = rope_theta self.rope_scaling = rope_scaling self.window_size = window_size self.global_layers_0idx = list(global_layers_0idx) self.evict_local_kv = evict_local_kv self.local_cache_keep = local_cache_keep self.parallel_block = parallel_block self.rms_norm_eps = rms_norm_eps self.hidden_act = hidden_act