from transformers import PretrainedConfig class VeyraConfig(PretrainedConfig): model_type = "veyra" def __init__( self, vocab_size=8192, d_model=512, hidden_size=512, n_q_heads=8, num_attention_heads=8, n_kv_heads=2, num_key_value_heads=2, intermediate_size=2048, max_seq_len=1024, max_position_embeddings=1024, layer_pattern=("A", "M", "A", "M", "A", "M", "A", "M"), num_hidden_layers=8, rms_norm_eps=1e-6, rope_theta=10000.0, tie_word_embeddings=True, bos_token_id=0, eos_token_id=1, pad_token_id=2, unk_token_id=3, **kwargs, ): self.vocab_size = vocab_size self.d_model = d_model self.hidden_size = hidden_size self.n_q_heads = n_q_heads self.num_attention_heads = num_attention_heads self.n_kv_heads = n_kv_heads self.num_key_value_heads = num_key_value_heads self.intermediate_size = intermediate_size self.max_seq_len = max_seq_len self.max_position_embeddings = max_position_embeddings self.layer_pattern = list(layer_pattern) self.num_hidden_layers = num_hidden_layers self.rms_norm_eps = rms_norm_eps self.rope_theta = rope_theta self.tie_word_embeddings = tie_word_embeddings super().__init__( bos_token_id=bos_token_id, eos_token_id=eos_token_id, pad_token_id=pad_token_id, unk_token_id=unk_token_id, tie_word_embeddings=tie_word_embeddings, **kwargs, )