loss-manifest companion: article + 155-entry rated registry + sidecar + loss library + gates/battery + campaign beds + raw run ledgers
4ef8b0b verified | """loss_forms.py — the composable loss library of the loss campaign. #TAG:loss_forms #TAG:accumulation | |
| Every RUNNABLE loss form in one place: the four differencing primitives, the | |
| accumulation formats A0-A8 as composable functions, the candidate losses | |
| (FAC, PWA weights, compartment roles, latent-chain), and a self-smoke. | |
| Deliberately ABSENT, by statute (inventory/LOSS_MANIFEST.md): | |
| A9 sum-no-norm — scale rides on batch/seq; lr stops transferring. | |
| A10 EMA/cross-step — the VQ/commitment/load-balancing failure class. | |
| InfoNCE into address paths — legal only as a readout head (L-113 / L-017). | |
| House laws honored throughout: pure Adam wd=0 (constructor not included here — | |
| use amoe.laws.make_optimizer); fp32/TF32-off; crc32 seeds never hash(); CV is a | |
| readout never a force; masking never renormalizes; gauges fp64. | |
| Colab-cell-safe: no argparse side effects, no __file__ logic. | |
| Smoke: python tools/loss_forms.py | |
| """ | |
| import math | |
| import os | |
| import sys | |
| import zlib | |
| import torch | |
| import torch.nn.functional as F | |
| def _root(): | |
| d = os.path.abspath(os.getcwd()) | |
| while True: | |
| if os.path.exists(os.path.join(d, "MANIFEST.md")): | |
| return d | |
| p = os.path.dirname(d) | |
| if p == d: | |
| return os.getcwd() | |
| d = p | |
| for _p in (os.path.join(_root(), "tools"),): | |
| if os.path.isdir(_p) and _p not in sys.path: | |
| sys.path.insert(0, _p) | |
| def seed_for(name: str) -> int: | |
| return zlib.crc32(name.encode("utf-8")) & 0x7FFFFFFF | |
| # ============================================================= PRIMITIVES | |
| # Each returns PER-ELEMENT residuals (unreduced) so accumulation composes. | |
| def prim_ce(logits, target): | |
| """CE — the coupled primitive: log-sum-exp partition over the last dim. | |
| Hessian diag(p)-pp^T: exact null direction; spectrum collapses as | |
| p_max->1 (measured T21). Returns (...,) per-position nats.""" | |
| return F.cross_entropy(logits.reshape(-1, logits.shape[-1]), | |
| target.reshape(-1), reduction="none" | |
| ).reshape(target.shape) | |
| def prim_sq(pred, target): | |
| """Squared error — the aleph's only sanctioned codebook pressure rides | |
| this (recon through M-hat). Returns per-element squares.""" | |
| return (pred - target) ** 2 | |
| def prim_kl(logits, teacher_probs): | |
| """KL to detached teacher probs. LAW: alpha <= 0.25, NEVER on founders, | |
| never in a selection loop without a quality gap (L-114/L-022).""" | |
| return F.kl_div(F.log_softmax(logits, -1), teacher_probs.detach(), | |
| reduction="none").sum(-1) | |
| def prim_cosh_bregman(v, code, mu=1.0, clamp=4.0): | |
| """BREG — the Bregman divergence of the aleph's own potential sum-cosh: | |
| D_Phi(v - c*mu, 0) = cosh(r) - 1. Uncoupled per axis, curvature >= 1, | |
| antipodally invariant L(v,c)==L(-v,-c). VERDICT ON RECORD (L-070/L-138): | |
| loses to CE wherever CE is healthy, 3/3; DECOMPRESSES the coupled- | |
| partition collapse 3/3 (usage 1-2.7 -> ~61/64). Use it where the | |
| partition coupling is the disease, not as a general replacement.""" | |
| r = (v - code * mu).clamp(-clamp, clamp) | |
| return torch.cosh(r) - 1.0 | |
| # ====================================================== ACCUMULATION FORMATS | |
| # Each takes per-element residuals -> a scalar (or a weighted scalar). | |
| def a0_mean(res): | |
| """A0 uniform-mean. The default; honestly dominant (71/138).""" | |
| return res.mean() | |
| def a1_chunked_ce(logits_fn, hidden, target, chunk=512, ignore_index=-100): | |
| """A1 chunk-sum-renormalize for CE: never materialize seq x vocab. | |
| Mathematically identical to A0; a 5x memory law (L-004). `logits_fn` | |
| maps a hidden slice -> logits (the lm head).""" | |
| s, n = None, 0 | |
| T = hidden.shape[1] | |
| for i in range(0, T, chunk): | |
| lg = logits_fn(hidden[:, i:i + chunk]) | |
| tgt = target[:, i:i + chunk] | |
| term = F.cross_entropy(lg.reshape(-1, lg.shape[-1]), tgt.reshape(-1), | |
| ignore_index=ignore_index, reduction="sum") | |
| s = term if s is None else s + term | |
| n += int((tgt != ignore_index).sum()) | |
| return s / max(n, 1) | |
| def a2_weighted(res, w, dims=None): | |
| """A2 per-sample(or per-element)-then-weighted. Reduce res over `dims` | |
| FIRST if given, then weight and renormalize by w.sum() — a mean taken | |
| too early silently erases the weight.""" | |
| if dims is not None: | |
| res = res.mean(dim=dims) | |
| return (res * w).sum() / w.sum().clamp_min(1e-12) | |
| def a3_band_composed(res_per_band, w_bands): | |
| """A3 band-crossfade composition: (B, N_BANDS) losses x (B, N_BANDS) | |
| windows -> scalar. Windows must be a partition of unity on the TRAINING | |
| coordinate (band coordinate law); isolation is quadratic in the window.""" | |
| return (res_per_band * w_bands).sum(-1).mean() | |
| def a4_masked(res, mask): | |
| """A4 masked-denominator — THE SILENT-ZERO CLASS. Asserts the mask fired: | |
| a term that never fires is indistinguishable from a null term.""" | |
| m = mask.float() | |
| live = m.sum() | |
| assert float(live) > 0, "A4 silent zero: mask never fired (assert the count upstream)" | |
| return (res * m).sum() / live | |
| def a5_dose_coupled(base_scalar, aux_res, w_route, lam=1.0): | |
| """A5 dose-coupled auxiliary: base + lam * routed aux. lam~1 is the | |
| measured operating point on the flow substrate; run the CONDITIONING | |
| GATE on the aux's recovery map before spending (L-016 vs L-115).""" | |
| return base_scalar + lam * a2_weighted(aux_res, w_route) | |
| def a6_paired(res_a, res_b): | |
| """A6 paired-difference: identical (row, noise, t) triples per arm, | |
| per-sample reduction, fp64 accumulation. Without pairing, sub-1% | |
| effects are invisible (the ~0.988 unpaired floor).""" | |
| return (res_a.double() - res_b.double()).mean() | |
| def a7_grid_infonce(za, zb, temp=0.07): | |
| """A7 grid-pairwise (InfoNCE), symmetric. THE LOUDEST GRADIENT — legal | |
| ONLY as a readout objective on a head outside the compute path; NEVER | |
| into address paths (L-113). You are responsible for that placement.""" | |
| sims = za @ zb.t() / temp | |
| lbl = torch.arange(za.shape[0], device=za.device) | |
| return (F.cross_entropy(sims, lbl) + F.cross_entropy(sims.t(), lbl)) / 2 | |
| def a8_fp64_gauge(fn, *args): | |
| """A8 fp64-accumulate for GAUGES (no_grad, autocast off). fp32 CM dets | |
| lose ~4% on near-degenerate pentachora.""" | |
| with torch.no_grad(): | |
| return fn(*(a.double() if torch.is_tensor(a) else a for a in args)) | |
| # ========================================================== CANDIDATE LOSSES | |
| def fac_loss(feats, R, code_rows, mu=1.0, t_loss=0.3): | |
| """FAC: normalize(feats) @ R^T / t_loss -> cosh-Bregman to the target | |
| code. R is a FROZEN orthonormal frame (gauge-fixed by construction); | |
| code_rows in {-1,+1}^K frozen. See prim_cosh_bregman's verdict note.""" | |
| v = (F.normalize(feats, dim=-1) @ R.t()) / t_loss | |
| return prim_cosh_bregman(v, code_rows, mu=mu) | |
| def pwa_weights(pi, form="inverse", w_min=0.1, band=(0.10, 0.60), eps=0.02): | |
| """PWA weight builders over a FROZEN reference's true-token prob pi. | |
| GATE RECORD (2026-07-25, trained-ce reference): band-kernel novelty | |
| 0.0145 REFUSED; window 0.0562 marginal; inverse 0.0832 weak-pass — | |
| all far below the 0.715 payer class. CONDITIONAL: do not spend an arm | |
| matrix on these; revival bar is a form with novelty >= 0.3.""" | |
| if form == "band-kernel": | |
| return w_min + (1 - w_min) * 4 * pi * (1 - pi) | |
| if form == "window": | |
| lo, hi = band | |
| return (torch.sigmoid((pi - lo) / eps) | |
| * torch.sigmoid((hi - pi) / eps)).clamp_min(w_min) | |
| if form == "inverse": | |
| return (1 - pi).clamp_min(w_min) | |
| raise ValueError(form) | |
| # Compartment ROLE losses (rank 1 of the series). Each supervises a DIFFERENT | |
| # QUANTITY through the band's channel window — the 0.715-class design contract | |
| # (a reweighting of the base residual would be gate-refused; these are not). | |
| # `cmap` is compartment_smoke.build_compartment_map(...); h is the trunk | |
| # hidden (B, T, d). Fixed probes are frozen buffers (placement by | |
| # construction); trainable role heads replace them in a real bed. | |
| def role_low_recon(h, W_chan, emb_target, probe): | |
| """LOW = absolute/reconstructive: rebuild the token's own input embedding | |
| from the LOW channels alone. The aleph's proven pressure class.""" | |
| hw = h * W_chan[:, 0] | |
| return prim_sq(hw @ probe, emb_target.detach()).mean(-1) | |
| def role_mid_continuity(h, W_chan, probe): | |
| """MID = relational: geodesic continuity of adjacent-position MID-channel | |
| states (1 - cos on a fixed projection). A different quantity (the | |
| trajectory), not a reweighting of the next-token residual.""" | |
| z = F.normalize((h * W_chan[:, 1]) @ probe, dim=-1) | |
| return 1.0 - (z[:, :-1] * z[:, 1:]).sum(-1) | |
| def role_high_span(h, W_chan, span_target, probe, span=32): | |
| """HIGH = structural: predict the span's byte-histogram signature from | |
| the HIGH channels. Span pooling over TIME toward an explicit span-level | |
| TARGET (not GAP-in-an-encoder: the pooled object IS the supervised | |
| quantity, flagged per the GAP law regardless).""" | |
| B, T, d = h.shape | |
| n = T // span | |
| hw = (h * W_chan[:, 2])[:, :n * span].reshape(B, n, span, d).mean(2) | |
| return prim_sq(hw @ probe, span_target.detach()).mean(-1) | |
| def latent_chain_terms(feats_answer, feats_register, R, code_y, code_z, | |
| mu=1.0, t_loss=0.3, lam=1.0): | |
| """LATENT-CHAIN: FAC on the answer position + FAC on a LATENT register | |
| position targeting the intermediate value's code — supervision of a | |
| quantity NOT in the output string (the thing CE structurally cannot | |
| express). Mandatory control in any bed: latent_chain_shuffled (c_z | |
| drawn from a shuffled intermediate). Prereg: direct composite | |
| 0.0 -> >= 0.50, REFUTED < 0.10.""" | |
| la = fac_loss(feats_answer, R, code_y, mu, t_loss) | |
| lz = fac_loss(feats_register, R, code_z, mu, t_loss) | |
| return la.mean() + lam * lz.mean() | |
| # ================================================= LEGACY ROSTER (extracted) | |
| # Every historical form with a recorded formula and no living local impl, | |
| # made runnable. Verdicts travel in the docstrings; the manifest row is the | |
| # authority (inventory/LOSS_MANIFEST.md). | |
| def margin_head(feats, weight, target, kind="arcface", s=30.0, m=0.30): | |
| """L-036 RoseFace margin family. cos(th+m) (arc) | cos(th)-m (cos) | | |
| cos(m*th) (sphere), scale s. Historical ceiling: 60% single-stream | |
| (diagnosed as frozen pentachora + erosion, not the margin).""" | |
| z = F.normalize(feats, dim=-1) @ F.normalize(weight, dim=-1).t() | |
| th = torch.arccos(z.clamp(-1 + 1e-7, 1 - 1e-7)) | |
| if kind == "arcface": | |
| zt = torch.cos(th + m) | |
| elif kind == "cosface": | |
| zt = z - m | |
| elif kind == "sphereface": | |
| zt = torch.cos(m * th) | |
| else: | |
| raise ValueError(kind) | |
| logits = z.clone() | |
| logits.scatter_(-1, target.unsqueeze(-1), zt.gather(-1, target.unsqueeze(-1))) | |
| return prim_ce(s * logits, target) | |
| def cv_band_loss(anchors, cv_target=0.20, weight=1e-3, n_sets=64, seed=0): | |
| """L-040 — THE ONE SANCTIONED CV FORCE. Arm-gated by statute: weight | |
| HARD CEILING 1e-3; S^15-class BANKS only, NEVER the aleph codebook; | |
| forward loss; fp64 determinant; fixed-seed subset draw (deterministic | |
| across steps). Port of tools/exp017_aleph_constellation.py:154-186.""" | |
| assert weight <= 1e-3, "CV force above 1e-3 is prohibited (L-110)" | |
| A = F.normalize(anchors, dim=-1) | |
| n = A.shape[0] | |
| assert n >= 5, "pentachoron CV needs >= 5 anchors" | |
| g = torch.Generator(device="cpu").manual_seed(seed) | |
| idx = torch.stack([torch.randperm(n, generator=g)[:5] for _ in range(n_sets)]) | |
| pts = A[idx] | |
| d2 = torch.cdist(pts.double(), pts.double()).pow(2) | |
| cm = torch.ones(n_sets, 6, 6, dtype=torch.float64, device=A.device) | |
| cm[:, 0, 0] = 0.0 | |
| cm[:, 1:, 1:] = d2 | |
| v = (-torch.linalg.det(cm) / 9216.0).clamp_min(1e-24).sqrt() | |
| cv = (v.std() / v.mean().clamp_min(1e-12)).float() | |
| return weight * (cv - cv_target).abs() | |
| def cm_validity_hinge(pts, lam=0.01, eps=1e-6): | |
| """L-045 KSimplex validity hinge: penalize non-positive CM volume^2 on | |
| the simplex. Requires d/k >= 8 or the det is numerically unstable.""" | |
| B = pts.shape[0] | |
| d2 = torch.cdist(pts, pts).pow(2) | |
| k1 = pts.shape[1] | |
| cm = torch.ones(B, k1 + 1, k1 + 1, dtype=pts.dtype, device=pts.device) | |
| cm[:, 0, 0] = 0.0 | |
| cm[:, 1:, 1:] = d2 | |
| sign = -1.0 if (k1 % 2 == 0) else 1.0 | |
| vol2 = sign * torch.linalg.det(cm) | |
| return lam * F.relu(eps - vol2).mean() | |
| def cm_volume_spread(vol2_per_layer, lam=0.005): | |
| """L-046 volume-spread REWARD: -std(log|vol^2|) across layers — an | |
| anti-collapse diversity reward, note the SIGN.""" | |
| return -lam * torch.log(vol2_per_layer.abs().clamp_min(1e-24)).std() | |
| def procrustes_sq(A, B): | |
| """L-047/L-111 Procrustes residual ||A R* - B||^2 (R* via SVD). | |
| PLACEMENT VERDICT: as a x0.3 regularizer beside a real force it | |
| tightens CV (rating 6); as THE training force R@1 = 0.000 (rating 1). | |
| It measures alignability; it cannot create it.""" | |
| U, _, Vt = torch.linalg.svd(A.t() @ B) | |
| R = U @ Vt | |
| return ((A @ R - B) ** 2).mean() | |
| def soft_hand_weights(cv, target, sigma=0.15, boost=1.5, penalty=1.0): | |
| """L-026 soft hand — reward, not penalty: near the CV target the recon | |
| gradient is BOOSTED (1..1+boost); far, a restoring force. Adverse | |
| finding on record: SUSTAINED moderate boost hurts (the model optimizes | |
| for staying in the boost zone). Returns (recon_weight, cv_penalty).""" | |
| prox = torch.exp(-((cv - target) ** 2) / (2 * sigma ** 2)) | |
| return 1.0 + boost * prox, penalty * (1.0 - prox) | |
| def kd_guard(alpha, is_founder=False, in_selection_loop=False, | |
| teacher_gap=None): | |
| """L-022/L-114 KD statute: alpha <= 0.25, never on founders, never in a | |
| selection loop without a quality gap. Raises on the L-114 configuration | |
| (inverse evolution, 2.4301 -> 2.5603).""" | |
| if is_founder: | |
| raise ValueError("KD on a founder is prohibited (L-114)") | |
| if alpha > 0.25 and in_selection_loop and not teacher_gap: | |
| raise ValueError("KD alpha > 0.25 in a selection loop without a " | |
| "quality gap reproduces inverse evolution (L-114)") | |
| return min(alpha, 1.0) | |
| # ============================================= DEVIANT ROSTER (gate-cleared) | |
| # inventory/DEVIANT_ROSTER.md candidates. Novelty numbers travel with them; | |
| # trained verdicts graduate them to LOSS_MANIFEST rows. | |
| def dev_softmax_accum(res, T=0.5): | |
| """Worst-position accumulation: T*logsumexp(res/T) - T*log(N). Gradient == | |
| softmax(res/T) weighting (self-paced weighting IS this loss). Gate 0.911 | |
| at trained state - the highest ever. FLAG: on natural text the worst | |
| positions are largely irreducible entropy; prereg carries a held-out bar.""" | |
| flat = res.reshape(-1) | |
| return T * torch.logsumexp(flat / T, 0) - T * math.log(flat.numel()) | |
| def dev_geomean_accum(res, eps=1e-3): | |
| """Geometric-mean accumulation: mean(log(res+eps)) - the anti-focal | |
| (gradient 1/res polishes the nearly-solved). Gate 0.486 trained.""" | |
| return torch.log(res + eps).mean() | |
| def sparsemax_loss(z, y): | |
| """Sparsemax loss (Martins & Astudillo 2016): a PARTIAL partition - | |
| sparse support - between CE (full coupling) and FAC (zero coupling). | |
| The coupling-axis probe for the L-138 mechanism. Gate 0.253 (state- | |
| independent form). z: (N,V) logits, y: (N,) targets -> (N,) losses.""" | |
| zs, _ = torch.sort(z.detach(), dim=-1, descending=True) | |
| cs = zs.cumsum(-1) | |
| k = torch.arange(1, z.shape[-1] + 1, device=z.device, dtype=z.dtype) | |
| ksup = ((1 + k * zs) > cs).to(z.dtype).sum(-1, keepdim=True) | |
| tau = (cs.gather(-1, ksup.long() - 1) - 1) / ksup | |
| psp = (z - tau).clamp_min(0) # sparsemax probs (grad ok) | |
| zy = z.gather(-1, y.unsqueeze(-1)).squeeze(-1) | |
| zsq = torch.where(psp > 0, z ** 2 - tau ** 2, torch.zeros_like(z)).sum(-1) | |
| return -zy + 0.5 * zsq + 0.5 | |
| def fac_loss_link(feats, R, code_rows, link="cosh", mu=1.0, t_loss=0.3): | |
| """The FAC link dial: cosh (exponential tails, the measured verdict) | | |
| tanh-Hamming (bounded) | cauchy log(1+r^2) (sub-quadratic). Links are | |
| ~90% collinear at init (direction dominates early; tails matter late).""" | |
| v = (F.normalize(feats, dim=-1) @ R.t()) / t_loss | |
| if link == "cosh": | |
| return prim_cosh_bregman(v, code_rows, mu=mu) | |
| if link == "tanh": | |
| return 1.0 - torch.tanh(v) * code_rows | |
| if link == "cauchy": | |
| return torch.log1p((v - code_rows * mu) ** 2) | |
| raise ValueError(link) | |
| # ================================================ FORBIDDEN CONTROLS [FORCE] | |
| # Runnable ONLY as explicitly-forced control arms (the blob-on-eps pattern: | |
| # the library refuses the design and permits the falsification). Each cites | |
| # its manifest row and warns loudly. | |
| def _force_gate(force, row, evidence): | |
| if not force: | |
| raise ValueError( | |
| f"{row} is a FORBIDDEN class ({evidence}). This implementation " | |
| f"exists ONLY as a control arm - pass force=True to reproduce " | |
| f"the failure on purpose.") | |
| import warnings | |
| warnings.warn(f"{row} forced: you are reproducing a documented failure " | |
| f"class as a CONTROL, not training a design.") | |
| def forbidden_vq_commitment(z_e, codebook, beta=0.25, force=False): | |
| """L-105 VQ codebook + commitment loss (EMA variant NOT provided — the | |
| cross-step state is A10 and stays absent even here). Evidence: the | |
| aleph codebook holds 125+/128 axes alive at div_weight=0 without it.""" | |
| _force_gate(force, "L-105 VQ/commitment", "14x path collapse class") | |
| d = torch.cdist(z_e.reshape(-1, z_e.shape[-1]), codebook) | |
| e = codebook[d.argmin(-1)].reshape(z_e.shape) | |
| return (prim_sq(z_e.detach(), e).mean() | |
| + beta * prim_sq(z_e, e.detach()).mean()) | |
| def forbidden_load_balancing(router_probs, expert_mask, alpha=0.01, | |
| force=False): | |
| """L-134 switch-style balance aux: alpha * N * sum_i f_i * P_i. | |
| Evidence: banned and never needed — usage stays near-uniform read-only.""" | |
| _force_gate(force, "L-134 load-balancing aux", "no-balancing statute") | |
| N = router_probs.shape[-1] | |
| f = expert_mask.float().mean(dim=tuple(range(expert_mask.ndim - 1))) | |
| P = router_probs.mean(dim=tuple(range(router_probs.ndim - 1))) | |
| return alpha * N * (f * P).sum() | |
| def forbidden_gap(x, spatial_dims, force=False): | |
| """L-109 global average pooling in a geometric encoder. Evidence: | |
| 70% -> 29% collapse, replicated twice. Patch aggregation defaults to | |
| MEAN over tokens at the READOUT, never pooling inside the encoder.""" | |
| _force_gate(force, "L-109 GAP", "70->29 collapse, replicated") | |
| return x.mean(dim=spatial_dims) | |
| # ================================================================ THE GATES | |
| def collinearity_novelty(loss_arm, loss_base, params): | |
| """novelty = 1 - |cos(grad_arm, grad_base)|. Composed role arms are | |
| judged whole; additive auxiliaries are judged as THE TERM BEING ADDED. | |
| Calibration: HP/LP 0.0026-0.0083 (inert) vs blob 0.715 (payer). | |
| REFUSE below 0.05; the payer class starts ~0.3.""" | |
| ga = torch.autograd.grad(loss_arm, params, retain_graph=True, | |
| allow_unused=True) | |
| gb = torch.autograd.grad(loss_base, params, retain_graph=True, | |
| allow_unused=True) | |
| # zero-fill on the SHARED parameter support: a param an arm does not | |
| # touch contributes the zero vector to its direction (dropping it would | |
| # misalign the two flattened gradients) | |
| fa = torch.cat([(g if g is not None else torch.zeros_like(p)).reshape(-1) | |
| for g, p in zip(ga, params)]) | |
| fb = torch.cat([(g if g is not None else torch.zeros_like(p)).reshape(-1) | |
| for g, p in zip(gb, params)]) | |
| return 1.0 - abs(F.cosine_similarity(fa.unsqueeze(0), | |
| fb.unsqueeze(0)).item()) | |
| # ================================================================ SELF-SMOKE | |
| def _smoke(): | |
| torch.backends.cuda.matmul.allow_tf32 = False | |
| torch.backends.cudnn.allow_tf32 = False | |
| dev = "cuda" if torch.cuda.is_available() else "cpu" | |
| if dev == "cuda": | |
| torch.cuda.set_per_process_memory_fraction(0.73) | |
| g = torch.Generator().manual_seed(seed_for("loss_forms")) | |
| ok = [] | |
| B, T, V, d, K = 4, 64, 256, 192, 64 | |
| logits = torch.randn(B, T, V, generator=g, requires_grad=True) | |
| y = torch.randint(0, V, (B, T), generator=g) | |
| ce = prim_ce(logits, y) | |
| ok.append(("prim_ce shape+grad", bool(ce.shape == (B, T) | |
| and torch.autograd.grad(ce.mean(), logits)[0].abs().sum() > 0))) | |
| # A1 == A0 identity (the 5x memory law is math-free) | |
| h = torch.randn(B, T, d, generator=g) | |
| W = torch.randn(V, d, generator=g) * 0.02 | |
| fn = lambda hh: hh @ W.t() | |
| full = F.cross_entropy(fn(h).reshape(-1, V), y.reshape(-1)) | |
| ok.append(("A1 == A0 exactly", | |
| torch.allclose(a1_chunked_ce(fn, h, y, chunk=17), full, | |
| atol=1e-6))) | |
| # A2 early-mean hazard: weighting after full mean == unweighted | |
| res = torch.randn(B, T, generator=g).abs() | |
| w = torch.rand(B, generator=g) + 0.1 | |
| good = a2_weighted(res, w, dims=(1,)) | |
| bad = res.mean() * (w / w).mean() | |
| ok.append(("A2 weight not erased", abs(good - res.mean()) > 1e-6 | |
| and torch.allclose(bad, res.mean()))) | |
| # A4 silent-zero assert fires | |
| try: | |
| a4_masked(res, torch.zeros_like(res)) | |
| ok.append(("A4 silent-zero assert", False)) | |
| except AssertionError: | |
| ok.append(("A4 silent-zero assert", True)) | |
| # A6 fp64; A7 symmetric | |
| ok.append(("A6 fp64", a6_paired(res, res).dtype == torch.float64 | |
| and float(a6_paired(res, res)) == 0.0)) | |
| za = F.normalize(torch.randn(8, 32, generator=g), dim=-1) | |
| zb = F.normalize(torch.randn(8, 32, generator=g), dim=-1) | |
| ok.append(("A7 symmetric", torch.allclose(a7_grid_infonce(za, zb), | |
| a7_grid_infonce(zb, za), | |
| atol=1e-6))) | |
| # FAC: antipodal invariance + gradient flow through feats | |
| feats = torch.randn(B, T, 256, generator=g, requires_grad=True) | |
| R = torch.linalg.qr(torch.randn(256, 256, generator=g))[0][:K] | |
| code = ((torch.randn(V, K, generator=g) > 0).float() * 2 - 1)[y] | |
| L = fac_loss(feats, R, code).mean() | |
| v = (F.normalize(feats, dim=-1) @ R.t()) / 0.3 | |
| ok.append(("FAC antipodal + grad", | |
| bool(torch.allclose(prim_cosh_bregman(v, code), | |
| prim_cosh_bregman(-v, -code)) | |
| and torch.autograd.grad(L, feats)[0].abs().sum() > 0))) | |
| # PWA weights bounded + floored | |
| pi = torch.rand(B, T, generator=g) | |
| for f in ("band-kernel", "window", "inverse"): | |
| wf = pwa_weights(pi, f) | |
| ok.append((f"PWA {f} in [w_min,1]", | |
| float(wf.min()) >= 0.1 - 1e-6 and float(wf.max()) <= 1.0 + 1e-6)) | |
| # Compartment roles: shapes + grad + zero-grad outside their window | |
| try: | |
| from compartment_smoke import build_compartment_map | |
| cmap = build_compartment_map(P=32, Ds=4, d=d) | |
| Wc = cmap["W_chan_band"] | |
| hh = torch.randn(B, T, d, generator=g, requires_grad=True) | |
| pl = torch.randn(d, 48, generator=g) / math.sqrt(d) | |
| emb_t = torch.randn(B, T, 48, generator=g) | |
| lo = role_low_recon(hh, Wc, emb_t, pl).mean() | |
| gl = torch.autograd.grad(lo, hh)[0] | |
| dead = (Wc[:, 0] == 0) | |
| ok.append(("role LOW grad confined to LOW channels", | |
| bool(float(gl[..., dead].abs().sum()) == 0.0 | |
| and float(gl.abs().sum()) > 0))) | |
| mid = role_mid_continuity(hh, Wc, pl).mean() | |
| sp_t = torch.randn(B, T // 32, 48, generator=g) | |
| hi = role_high_span(hh, Wc, sp_t, pl).mean() | |
| ok.append(("roles MID/HIGH finite+grad", | |
| bool(torch.isfinite(mid) and torch.isfinite(hi) | |
| and torch.autograd.grad(mid + hi, hh)[0].abs().sum() > 0))) | |
| except ImportError: | |
| ok.append(("compartment roles (map import)", None)) | |
| # legacy roster | |
| W2 = torch.randn(10, 64, generator=g) | |
| f2 = torch.randn(6, 64, generator=g, requires_grad=True) | |
| y2 = torch.randint(0, 10, (6,), generator=g) | |
| mh = margin_head(f2, W2, y2, "arcface").mean() | |
| ok.append(("margin_head grad + finite", | |
| bool(torch.isfinite(mh) | |
| and torch.autograd.grad(mh, f2)[0].abs().sum() > 0))) | |
| bank = torch.randn(96, 16, generator=g, requires_grad=True) | |
| cvl = cv_band_loss(bank) | |
| ok.append(("cv_band_loss forward+grad, ceiling enforced", | |
| bool(torch.isfinite(cvl) | |
| and torch.autograd.grad(cvl, bank)[0].abs().sum() > 0))) | |
| try: | |
| cv_band_loss(bank.detach(), weight=1e-2) | |
| ok.append(("cv_band_loss ceiling assert", False)) | |
| except AssertionError: | |
| ok.append(("cv_band_loss ceiling assert", True)) | |
| pts5 = torch.randn(8, 5, 32, generator=g, requires_grad=True) | |
| hinge = cm_validity_hinge(pts5) | |
| ok.append(("cm_validity_hinge finite", bool(torch.isfinite(hinge)))) | |
| ok.append(("cm_volume_spread sign is a reward", | |
| bool(cm_volume_spread(torch.rand(6, generator=g) + 0.1) <= 0))) | |
| A2m = torch.randn(32, 8, generator=g); B2m = torch.randn(32, 8, generator=g) | |
| ok.append(("procrustes_sq beats unaligned", | |
| bool(procrustes_sq(A2m, B2m) <= ((A2m - B2m) ** 2).mean() + 1e-5))) | |
| rw, cp = soft_hand_weights(torch.tensor(0.20), 0.20) | |
| ok.append(("soft_hand at target: boost on, penalty ~0", | |
| bool(rw > 2.4 and cp < 1e-6))) | |
| try: | |
| kd_guard(0.5, is_founder=True) | |
| ok.append(("kd_guard founder refusal", False)) | |
| except ValueError: | |
| ok.append(("kd_guard founder refusal", True)) | |
| # forbidden controls refuse without force, run with it | |
| ze = torch.randn(4, 7, 16, generator=g); cb = torch.randn(32, 16, generator=g) | |
| import warnings | |
| refuse = 0 | |
| for fn, args in ((forbidden_vq_commitment, (ze, cb)), | |
| (forbidden_load_balancing, | |
| (torch.softmax(torch.randn(64, 8, generator=g), -1), | |
| F.one_hot(torch.randint(0, 8, (64,), generator=g), 8))), | |
| (forbidden_gap, (torch.randn(2, 3, 8, 8, generator=g), (2, 3)))): | |
| try: | |
| fn(*args) | |
| except ValueError: | |
| refuse += 1 | |
| with warnings.catch_warnings(): | |
| warnings.simplefilter("ignore") | |
| out = fn(*args, force=True) | |
| refuse += int(bool(torch.isfinite(out if out.dim() == 0 else out.sum()))) | |
| ok.append(("forbidden controls: refuse w/o force, run with it", refuse == 6)) | |
| npass = sum(1 for _, v in ok if v is True) | |
| nfail = sum(1 for _, v in ok if v is False) | |
| print("LOSS_FORMS SELF-SMOKE") | |
| for name, v in ok: | |
| print(" %-38s %s" % (name, "PASS" if v is True | |
| else ("SKIP" if v is None else "FAIL"))) | |
| print("PASS %d FAIL %d SKIP %d" % (npass, nfail, len(ok) - npass - nfail)) | |
| return nfail == 0 | |
| if __name__ == "__main__": | |
| sys.exit(0 if _smoke() else 1) | |