FST_code / src /lmr /config /model_config.py
jasonfan's picture
2026-03-19
3b2d368 verified
Raw
History Blame Contribute Delete
2 kB
def set_model_defaults(model_config):
model_config["vocab_size"] = None
def set_size_defaults(size_config):
def set_default(config, k, v):
if config.get(k, "auto") == "auto":
config[k] = v
# Transformer defaults
set_default(size_config, "embed_dim", size_config.get("hidden_dim"))
set_default(size_config, "mlp_dim", size_config.get("hidden_dim") * 4 if size_config.get("hidden_dim") != "auto" else "auto")
set_default(size_config, "n_heads_f", size_config.get("n_heads"))
set_default(size_config, "n_heads_phi", size_config.get("n_heads"))
set_default(size_config, "hidden_dim_f", size_config.get("hidden_dim"))
set_default(size_config, "hidden_dim_phi", size_config.get("hidden_dim"))
# FST defaults
set_default(size_config, "embed_dim_f",
size_config.get("embed_dim") if size_config.get("embed_dim") != "auto" else size_config.get("hidden_dim_f"))
set_default(size_config, "mlp_dim_f",
size_config.get("mlp_dim") if size_config.get("mlp_dim") != "auto" else size_config.get("hidden_dim_f") * 4)
set_default(size_config, "embed_dim_phi",
size_config.get("embed_dim") if size_config.get("embed_dim") != "auto" else size_config.get("hidden_dim_phi"))
set_default(size_config, "mlp_dim_phi",
size_config.get("mlp_dim") if size_config.get("mlp_dim") != "auto" else size_config.get("hidden_dim_phi") * 4)
def merge_model_and_size_configs(model_config, size_config):
for k, v in size_config.items():
# Prune unused fields for each model (for clarity)
if "fst" in model_config.model_name.lower() and k in ("hidden_dim", "embed_dim", "mlp_dim"):
continue
if "transformer" in model_config.model_name.lower() and k in ("n_heads_f","n_heads_phi", "hidden_dim_f", "hidden_dim_phi", "embed_dim_f","embed_dim_phi", "mlp_dim_f", "mlp_dim_phi"):
continue
model_config[k] = v