PebbleGPT-320M-Instruct / configuration.py
strectelite's picture
Upload folder using huggingface_hub
353cf0a verified
Raw History Blame Contribute Delete
1.73 kB
"""HF-compatible config for PebbleGPT.
Defaults mirror PebbleGPT's so a training checkpoint loads without remapping.
"""
from transformers import PretrainedConfig
class PebbleGPTConfig(PretrainedConfig):
model_type = "pebblegpt"
def __init__(self,
vocab_size: int = 49152,
hidden_size: int = 1024,
num_hidden_layers: int = 24,
num_heads: int = 16,
num_kv_heads: int = 4,
intermediate_size: int = 2816,
max_seq_len: int = 2048,
rope_base: float = 10000.0,
norm_eps: float = 1e-6,
tie_word_embeddings: bool = True,
**kwargs):
self.vocab_size = vocab_size
self.hidden_size = hidden_size
self.num_hidden_layers = num_hidden_layers
self.num_heads = num_heads
self.num_kv_heads = num_kv_heads
self.intermediate_size = intermediate_size
self.max_seq_len = max_seq_len
self.rope_base = rope_base
self.norm_eps = norm_eps
# Aliases some HF tooling looks for.
self.num_attention_heads = num_heads
self.num_key_value_heads = num_kv_heads
self.max_position_embeddings = max_seq_len
self.rope_theta = rope_base
self.rms_norm_eps = norm_eps
# `pebblegpt` isn't a registered transformers architecture, so exports
# carry their own source and load via trust_remote_code.
self.auto_map = {
"AutoConfig": "configuration.PebbleGPTConfig",
"AutoModelForCausalLM": "modeling.PebbleGPTForCausalLM",
}
super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs)