in dags/map_reproducibility/utils/common_utils.py [0:0]
def parse_internal_config_filename(filename, config=None):
"""
Parse configuration values embedded in the filename.
Args:
filename (str): Example: "a3ultra_llama2-7b_8gpus_fp16_maxtext_pgle.yaml"
config (Config, optional): Existing Config object to update. If None, a new one is created.
Returns:
Config: Configuration object with dot notation access
"""
parts = filename.split(".yaml")[0].split("_")
hypercomputer = parts[0]
model_id_raw = parts[1]
model_id = model_id_raw.replace("llama", "llama-")
num_gpus = int(parts[2].replace("gpus", ""))
precision = parts[3]
framework = parts[4]
is_pgle = len(parts) >= 6 and parts[5] == "pgle"
software_id = f"{'jax' if framework == 'maxtext' else 'pytorch'}_{framework}"
filename_config = {
"MODEL_ID": model_id,
"HELM_NAME_MODEL_ID": model_id_raw.replace(".", "-"),
"PRECISION": precision,
"HYPERCOMPUTER": hypercomputer,
"FRAMEWORK": framework,
"SOFTWARE_ID": software_id,
"NUM_GPUS": num_gpus,
"IS_PGLE": is_pgle,
}
if config is None:
return Config(**filename_config)
else:
config.__dict__.update(filename_config)
return config