A trained GPT-2-small had its 12 MLP modules and all 144 attention heads independently permuted across layers, its tied token embedding reinitialized, and its optimizer state discarded — then it was retrained for the same 3,000 steps as a from-scratch baseline.
The shuffled model learned at almost the same rate as the scratch baseline but finished slightly worse — final validation loss +0.0381 higher and validation-loss AUC +0.0266 higher. It led at only 2 of 13 matched checkpoints (steps 500 and 750) and trailed at every checkpoint from step 1,000 onward. Single-seed result: variance across initializations and permutations is not estimated.
Both phases: 3,000 AdamW steps on OpenWebText, global batch 491,520 tokens (1.47B tokens per phase). Lower loss is better.
Matched evaluation every 250 steps (100 batches each); training loss logged every 10 steps. The log–log views are the scaling-law lens: if shuffled components carried reusable structure, the orange curve would sit durably below blue or bend earlier. It does neither — after a brief mid-warmup lead around steps 500–750, it settles into a thin, persistent penalty.
Linear axes · full trajectory from the reinitialized start
Steps 250–3,000 (step 0 has no log position)
Every 10 steps · thin = raw · bold = EMA (α 0.15)
Validation loss difference · y clipped to ±0.10 (step 0 is +0.273)
(shuffled − baseline) / baseline · matched checkpoints · log-x
EMA(shuffled) − EMA(baseline) every 10 steps
Identical for both phases · 1,000-step warmup, then cosine decay toward 6e-5 (barely begun by step 3,000)
The baseline checkpoint (val loss 3.4710 at step 3,000) was transformed with seed 20260727, then retrained under identical config with a fresh optimizer.
| Model | GPT-2-small · 123.59M params · 12L / 12H / 768d |
| Context / vocab | 1,024 tokens / 50,304 |
| Global batch | 491,520 tokens per step (12 seq/GPU × 40 accum) |
| Steps / tokens per phase | 3,000 / 1.47456B |
| Optimizer | fused AdamW · β (0.9, 0.95) · wd 0.1 |
| Learning rate | 6e-4 peak → 6e-5 min · 1,000-step warmup · cosine |
| Precision / hardware | bfloat16 · 4 × RTX 4090 D · DDP · ~31% MFU |
| Data | OpenWebText · 9.04B train / 4.43M val tokens (GPT-2 BPE) |
| Evaluation | 100 batches every 250 steps |
| Step | Baseline val loss | Shuffled val loss | Shuffled − baseline | Relative |
|---|
An automated audit (audit_results.py) verified the completed artifacts against the experiment’s invariants.