{ "model_family": "semsimula-mechanism-ladder", "generation": 3, "collection": "depth on code", "ladder_arm": "none-norc-sr2-l8-code-live", "role": "depth: SO-CODE split into eight layers at the same integration time, the matched GPT-2's depth", "variant_of": "semsimula-ladder-live-code-d384-l2-none-norc-sr2", "integrator": { "name": "baoab_cfc_lowrank", "lowrank_damped_flow": true, "fixed_gamma": 0.1, "first_order_overdamped": false, "poisson_modes": 0 }, "architecture": "as the arm no-exchange but REVERSE_CHANNEL=False: registers are created and destroyed but never reach the tokens, so every force is the gradient of a scalar potential", "params_total": 76731865, "context_channels": 5, "d": 384, "n_layers": 8, "dt": 1.0, "integration_time_T": 8.0, "vocab_size": 50257, "block_size": 512, "corpus": "codeparrot/codeparrot-clean (Python; the ladder's cache: 450M training tokens, first 2M validation tokens; one tab per four-space indentation level)", "total_steps": 19250, "schedule_steps": 16250, "effective_batch": 32, "training_tokens": 315392000, "learning_rate": 0.0012, "settled_ppl_512": 5.3545, "best_ppl_512": 5.26, "final_ppl_512": 5.45, "best_step": 18000, "settled_convention": "exp of the mean log perplexity of the evals at steps 18,000, 18,500 and 19,000", "so_code_settled_ppl_512": 5.9951, "l4_code_settled_ppl_512": 5.4847, "fock_code_settled_ppl_512": 5.6567, "fo_b_code_settled_ppl_512": 6.5487, "matched_gpt2_code_settled_ppl_512": 4.96, "paired_nats": { "l8_so": { "early": [ 0.069, 0.054, 5 ], "mid": [ -0.098, 0.006, 11 ], "late": [ -0.112, 0.003, 7 ] }, "l8_l4": { "early": [ 0.362, 0.073, 5 ], "mid": [ 0.001, 0.011, 11 ], "late": [ -0.024, 0.002, 7 ] }, "spans": { "early": "2,000–4,000", "mid": "8,000–13,000", "late": "16,000–19,000" } }, "copy_split": { "closed_all": 59.8, "first": 59.1, "induction": 64.5, "indent": 53.2, "ident_near": 58.5, "ident_far": 59.9, "near": 58.6, "mid": 61.1, "far": 60.0, "diff": 1.4, "ci": [ -3.2, 6.3 ], "p": 0.72, "windows_better_so": 98.2, "windows_better_l4": 74.2, "ppl": 5.765, "l4_ppl": 5.898 }, "wells_by_layer": { "ratio": [ 1.21, 1.21, 1.16, 1.14, 1.13, 1.18, 1.3, 1.46 ], "ratio_p99": [ 1.78, 1.69, 1.63, 1.63, 1.61, 1.64, 1.76, 1.93 ], "occ": [ 0.98, 0.26, 0.17, 0.42, 0.45, 0.3, 0.13, 0.06 ], "n_eff": [ 7.1, 1.9, 1.9, 2.1, 2.1, 2.0, 1.8, 1.8 ], "two_well_share": [ 56, 87, 92, 92, 95, 97, 98, 99 ], "removal": [ 2780, 2.8, 3.4, 2.2, 26, 25, 6.2, 0.6 ], "removal_all": 3251, "base_ppl": 6.74, "ratio_range": [ 0.81, 1.91 ], "scale": { "x0": 1.85, "xdeep": [ 22, 28 ], "ratio": 13, "l0_up": 2.0, "deep_down": [ 7.1, 7.3 ] } }, "xi_reach": { "lift_far": [ 10.5, 15.3, 20.5, 25.1, 27.3, 23.2, 12.0 ], "channel": 4, "eff_pos": [ 101, 76, 54, 39, 32, 31, 43 ] }, "gates_6b7": { "g0": 4.59, "g1": 172.1, "g3": { "1": 4.552, "2": 3.539, "3": 3.576, "4": 2.013, "6": 0.206, "8": 0.0, "12": 0.416, "16": 0.783, "24": 2.175, "32": 2.604 }, "g2": { "1": 67.35, "2": 59.42, "3": 42.51, "4": 26.92, "6": 7.5, "8": 4.59 }, "g3_ppl": { "1": 434.93, "2": 157.93, "3": 163.81, "4": 34.33, "6": 5.64, "8": 4.59, "12": 6.95, "16": 10.04, "24": 40.37, "32": 61.98 } }, "omega_dt_6b13": { "p50": 1.75, "layers": [ 2.08, 1.91, 1.34, 2.26, 2.09, 1.7, 1.05, 0.62 ], "over_wall": 33.8, "omega": 1.75 }, "cell7_ppl": 4.89, "flow_r": { "rows": [ [ "L8-CODE (L = 8, Δt = 1; trained ppl 5.18 on these batches)", { "k": [ 0.186, 0.029, 0.034, 0.035, 0.035, 0.035 ], "stack4": 2.695 } ], [ "L4-CODE (L = 4, Δt = 2)", { "k": [ 0.429, 0.52, 0.282, 0.32, 0.309, 0.306 ], "stack4": 2.96 } ], [ "SO-CODE (L = 2, Δt = 4)", { "k": [ 0.97, 0.526, 0.3, 0.384, 0.376, 0.369 ], "stack4": 2.858 } ] ], "reading": "**At eight layers the per-layer flow settles 0.035 nats from the trained step**, ten times closer than at two or four layers (0.37, 0.31) and closer than any model in this programme so far (SR2 on prose: 0.10). The whole stack still fails refinement (2.70 nats at k = 4). So depth at a fixed integration time brings each trained layer onto its own continuous flow; it does not make the stack one." }, "pre_registered": "none on its own result: L8-CODE ran by the rule fixed before L4-CODE trained (it runs if L4-CODE settles more than 2% below SO-CODE; L4-CODE settled 8.5% below)", "run_health": "19,250 steps in 29.5 h over two Colab sessions (5.5 s per step with layer checkpointing; resumed at step 15,500 with the batch sampler restored, so the evals stay paired: their step-to-step changes correlate with L4-CODE's at 0.991 after the resume and 0.994 before it); 0 watchdog triggers; largest rise between logged training losses 0.069 (step 13,050); gradient norm median 0.38 after step 2,000, maximum 1.06 (step 400, warmup); SCAF leak monitor CLEAN at all 4 audits. 34 of the 45 logged steps between 1,400 and 3,600 had a non-finite gradient norm, and the training loop skips those updates (cause not diagnosed; none after step 3,600)", "companion_notes": [ "Depth_Ladder_and_Matched_Baseline_Protocol.md", "Dead_Wells_in_the_Joint_V_theta_Bank.md" ], "cell0": "REVERSE_CHANNEL=False, VPHI_GRAD_PATH='live', XI_GRAD_PATH='live',\nLOWRANK_DAMPED_FLOW=True, # SR2\nVPHI_ANALYTIC_FORCE=True # speed switch, same arithmetic\nCORPUS='code', LADDER_STEPS=16_250, EXTRA_FLOOR_STEPS=3_000 # Python code, then 3,000 steps at the floor\nLADDER_L=8 # eight layers; dt = T / L = 1, T = 8 as at L = 2 and 4\nSNAPSHOT_STEPS=[1_000, 1_500, 2_000, 2_500, 3_000] # weights-only snapshots for the well probe\n# LAYER_CHECKPOINT stays at its default True (memory, same arithmetic)", "gdrive_folder": "semsimula_fock_cfc_baoab_code_xi5long_topk16_dt32da16_mh4_aniso_dcvt5x8_vtjoint_cgqk_norc_vplive_xilive_sr2_st16250_L8probe_ob_untied_wsd_e5c_plgate_rep0.05_fockreg0.005_g0.1_baoab_cfc_lowrank_lr0p0012_noattn" }