Veylon / model_build.py
Arush kumar
Upload 14 files
54ad1e5
Raw
History Blame Contribute Delete
1.14 kB
# model_build.py
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras
from veylon_model import create_llm
from tokenizer import TokenizerWrapper
from config import (
CONTEXT,
ffn_mult,
d_Latent,
D_MODEL,
numberofheads,
numberoflayers,
vocab_size
)
# Mixed precision is set inside veylon_model.py, but we ensure it here too
keras.mixed_precision.set_global_policy("mixed_bfloat16")
tokenizer = TokenizerWrapper("tokenizer.json")
# n_kv_heads is completely removed - pure MLA
model = create_llm(
vocab_size=vocab_size,
d_model=D_MODEL,
n_layers=numberoflayers,
n_heads=numberofheads,
d_latent=d_Latent,
ffn_mult=ffn_mult,
max_seq_len=CONTEXT,
use_moe=False,
)
optimizer = keras.optimizers.AdamW(
learning_rate=1e-4,
weight_decay=0.01,
global_clipnorm=1.0,
)
loss_fn = keras.losses.SparseCategoricalCrossentropy(
from_logits=True,
)
model.compile(
optimizer=optimizer,
loss=loss_fn,
jit_compile=True,
)
# Explicitly build to print summary
model.build((None, CONTEXT))
model.summary()