CodVa-1-Small-IT / configuration_codva1.py
Bc-AI's picture
Create configuration_codva1.py
44928d5
Raw
History Blame Contribute Delete
2.31 kB
"""CodVa-1 configuration for HuggingFace Transformers compatibility."""
from transformers import PretrainedConfig
class CodVa1Config(PretrainedConfig):
model_type = "codva1"
def __init__(
self,
vocab_size: int = 32064,
d_model: int = 1536,
n_layers: int = 28,
n_heads: int = 24,
n_kv_heads: int = 6,
max_len: int = 2048,
rope_theta: float = 5_000_000.0,
ffn_hidden: int = 4096,
use_moe: bool = True,
moe_experts: int = 16,
moe_top_k: int = 2,
moe_shared: int = 2,
moe_hidden: int = 1024,
moe_every: int = 2,
use_qk_norm: bool = True,
use_structural_bias: bool = True,
n_struct_rel: int = 4,
rms_norm_eps: float = 1e-6,
tie_word_embeddings: bool = True,
fim_pre_id: int = -1,
fim_suf_id: int = -1,
fim_mid_id: int = -1,
**kwargs,
):
self.vocab_size = vocab_size
self.d_model = d_model
self.n_layers = n_layers
self.n_heads = n_heads
self.n_kv_heads = n_kv_heads
self.max_len = max_len
self.rope_theta = rope_theta
self.ffn_hidden = ffn_hidden
self.use_moe = use_moe
self.moe_experts = moe_experts
self.moe_top_k = moe_top_k
self.moe_shared = moe_shared
self.moe_hidden = moe_hidden
self.moe_every = moe_every
self.use_qk_norm = use_qk_norm
self.use_structural_bias = use_structural_bias
self.n_struct_rel = n_struct_rel
self.rms_norm_eps = rms_norm_eps
# FIM special token ids (padded into vocab during training)
self.fim_pre_id = fim_pre_id
self.fim_suf_id = fim_suf_id
self.fim_mid_id = fim_mid_id
super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs)
# Newer `transformers` internals (cache utils, generation config, etc.)
# look for these standard attribute names regardless of custom naming,
# even when the model declares no cache support. Alias them through.
@property
def num_hidden_layers(self):
return self.n_layers
@property
def num_attention_heads(self):
return self.n_heads
@property
def hidden_size(self):
return self.d_model