Spaces:
Sleeping
Sleeping
File size: 1,140 Bytes
54ad1e5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # 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() |