{ "model": { "d": 32, "heads": 4, "ff": 64, "enc": 1, "dec": 1 }, "train": { "batch": 64, "lr": 0.001, "warmup": 10, "steps": 300, "wd": 0.01, "betas": [ 0.9, 0.95 ], "amp": "bf16", "grad_clip": 1.0, "w_mf": 1.0, "w_fk": 0.5, "w_smooth": 0.05, "w_value": 0.1, "w_sub": 0.1, "p_neq": 0.25, "fk_caps": 96, "ckpt_min": 1, "eval_every": 100, "eval_tasks": 16, "log_every": 10, "patience_evals": 5 }, "apg": { "batch": 8, "lr": 0.0001, "steps": 10, "grad_clip": 1.0, "amp": "bf16", "plans": 20, "plans_max": 30, "seg_plans": 5, "margin_train_mm": 3.0, "w_tgt": 1.0, "w_rot": 0.3, "w_col": 2.0, "w_smooth": 0.02, "w_len": 0.001, "w_bc": 0.5, "cat_weights": {"A": 0.4, "B": 1.0, "C": 1.6, "D": 0.6, "Dr": 0.6}, "ckpt_min": 10, "eval_every": 1000, "eval_tasks": 4 }, "_note": "冒烟与自检专用(bash ml/pipeline.sh selftest / smoke):只验证流程能跑通,数值无意义。apg 段必须有:selftest.sh 第 6 项原先不带 --config,走的是正式 apg.json 的 batch=128,本机实测第一次反向就 OOM;改成正式值 48 也要约 13 GiB,自检不必吃这么多。" }