HALO-S-Large / modeling_halos.py
DalusX64's picture
Create modeling_halos.py
0f9c10b verified
Raw
History Blame Contribute Delete
1.56 kB
import torch
from transformers import PreTrainedModel
from transformers.modeling_outputs import CausalLMOutput
from .configuration_halos import HaloSConfig
# Tu implementación real
from halo import HaloConfig
from halo import HaloSModel
class HaloSPreTrainedModel(PreTrainedModel):
config_class = HaloSConfig
base_model_prefix = "halo"
def _init_weights(self, module):
pass
class HaloSHFModel(HaloSPreTrainedModel):
def __init__(self, config):
super().__init__(config)
halo_cfg = HaloConfig(
vocab_size=config.vocab_size,
hidden_size=config.hidden_size,
num_layers=config.num_layers,
num_heads=config.num_heads,
num_kv_heads=config.num_kv_heads,
num_globals=config.num_globals,
local_window=config.local_window,
dilated_offsets=config.dilated_offsets,
num_random=config.num_random,
dropout=config.dropout,
max_seq_len=config.max_seq_len,
)
self.halo = HaloSModel(halo_cfg)
print("ANTES:", self.halo.token_emb.weight.abs().mean())
self.post_init()
print("DESPUES:", self.halo.token_emb.weight.abs().mean())
def forward(
self,
input_ids=None,
labels=None,
**kwargs
):
result = self.halo(input_ids)
logits = result[0]
return CausalLMOutput(
logits=logits,
loss=None
)
class HaloSForCausalLM(HaloSHFModel):
pass