From c700768be62191a038137faec49b1016c7cdb09f Mon Sep 17 00:00:00 2001 From: Yuren Hao Date: Mon, 20 Jul 2026 07:10:41 -0500 Subject: =?UTF-8?q?=E6=A3=98=E8=BD=AE=E6=A8=A1=E5=BC=8F(=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AE=BE=E8=AE=A107-20):=20beta=5Fsimple=201.0=3D=E5=8F=AA?= =?UTF-8?q?=E9=99=8D=E4=B8=8D=E5=8D=87(=E8=B6=8A=E7=95=8C=E6=8A=98?= =?UTF-8?q?=E5=8D=8A=E6=8C=81=E4=B9=85,=E4=B8=8A=E6=8E=A2=C3=971.0?= =?UTF-8?q?=E8=87=AA=E7=84=B6=E6=97=A0=E6=93=8D=E4=BD=9C,5=E5=A4=84>=3D?= =?UTF-8?q?=E6=AF=94=E8=BE=83=E7=AC=A6=E8=A1=A5=E4=B8=81=E5=85=A8=E6=96=AD?= =?UTF-8?q?=E8=A8=80);=20=E9=98=B6=E6=A2=AF=E4=BB=8E=E4=B8=8A=E6=96=B9?= =?UTF-8?q?=E8=B7=9F=E9=9A=8F=E4=B8=8B=E6=B2=89=E4=B8=8A=E7=95=8C,?= =?UTF-8?q?=E6=97=A0=E5=BD=A2=E7=8A=B6=E7=9F=A5=E8=AF=86=E6=97=A0=E6=A0=87?= =?UTF-8?q?=E5=AE=9A=E5=8F=AF=E8=BF=81=E7=A7=BB;=20fw72m=5Fratchet?= =?UTF-8?q?=E7=8E=8B=E5=86=A0=E6=8E=92GPU0=E4=B8=8Ebsign=E5=B9=B6=E8=A1=8C?= =?UTF-8?q?,=E4=B8=A4=E4=B8=AA1.0=C3=97=E5=80=99=E9=80=89=E8=B5=9B?= =?UTF-8?q?=E8=B7=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014FAPDWQ49M5Ye3NpTndTpn --- ep_run/casc_eq_train.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ep_run/casc_eq_train.py') diff --git a/ep_run/casc_eq_train.py b/ep_run/casc_eq_train.py index 86a8e06..09a0132 100644 --- a/ep_run/casc_eq_train.py +++ b/ep_run/casc_eq_train.py @@ -497,7 +497,7 @@ def ep_step(x, y): GOV['prev_floor'] = fl beta_t = beta_t * GOV.get('cap', 1.0) # wall-2 loop-gain cap OVERRIDES the floor (the ceiling # can sit below the floor near the wall; survival first) - if args.beta_simple > 1.0: + if args.beta_simple >= 1.0: # FULL ownership: no sigma-scaling, no floor/bf_late, no cap — beta = start * measured multiplier beta_t = args.beta * GOV.get('bsimp', 1.0) if args.bsign_rand and torch.rand((), generator=BGEN).item() < 0.5: beta_t = -beta_t @@ -590,7 +590,7 @@ def ep_step(x, y): ok_retry = True if args.beta_ride > 1.0: # the failed trial IS the ceiling measurement GOV['cap'] = max(GOV.get('cap', 1.0) * 0.5 ** (_h + 1), args.cap_floor) - if args.beta_simple > 1.0: # PERSIST the halvings (the ceiling just measured) + if args.beta_simple >= 1.0: # PERSIST the halvings (the ceiling just measured) GOV['bsimp'] = GOV.get('bsimp', 1.0) * 0.5 ** (_h + 1) break if ok_retry: @@ -604,7 +604,7 @@ def ep_step(x, y): drift = _drift(zp, zs_free) gdrift = ddp_max_scalar(drift) ok_retry = _legal(gdrift) - if ok_retry and args.beta_simple > 1.0: + if ok_retry and args.beta_simple >= 1.0: # CODEX FIX: K=8 rescue ran at beta/2^beta_sync — persist those halvings too, # else the next step jumps straight back to the failed beta (upward bias) GOV['bsimp'] = GOV.get('bsimp', 1.0) * 0.5 ** args.beta_sync @@ -618,7 +618,7 @@ def ep_step(x, y): GOV['drift'] = gdrift if args.drift_adapt > 0: GOV['drift_ema'] = 0.95 * GOV.get('drift_ema', gdrift) + 0.05 * gdrift - if args.beta_cap_rho > 0 and GOV.get('rho') is not None and args.beta_simple <= 1.0: + if args.beta_cap_rho > 0 and GOV.get('rho') is not None and args.beta_simple < 1.0: rho_g = ddp_bcast_scalar(GOV['rho']) # rank0's meter rules (identical control on all ranks) res_g = ddp_bcast_scalar(GOV.get('res', 0.0)) # v2: ABSOLUTE-SCALE GATE — rho is only meaningful when the residual is above the noise @@ -718,7 +718,7 @@ def ep_step(x, y): return free_ce, beta_t, GOV.get('kuse', GOV['K']), False for p, g in zip(all_params, gs): p.grad = g - if args.beta_simple > 1.0 and _ok0: + if args.beta_simple >= 1.0 and _ok0: # CODEX FIX: probe upward only on steps that actually COMMIT (after the second-pass # drift and gn-EMA guards) — the old placement raised beta even on later-rejected steps GOV['bsimp'] = GOV.get('bsimp', 1.0) * args.beta_simple -- cgit v1.2.3