You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add v1.3 training results: best F1 (0.9071), spike is head not backbone
V1.3 results (epoch 3 best checkpoint, H100 PCIe, BF16, 20h):
- Overall F1: 0.9071 (best across all versions, +0.007 vs V1.2)
- Overall Recall: 0.9162 (best, +0.020 vs V1.2)
- Tier 1 Recall: 0.8226 (slightly below V1.2's 0.8409)
- Tier 2-4: All new highs
Key finding: the training spike occurred at epoch 5 with backbone frozen
since epoch 3, proving the instability originates in the head components
(CharCNN/GatingFusion/CRF), not the backbone. This reframes the problem
for future experiments.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
**V1.3 achieved the best overall F1 (0.9071) and recall (0.9162) across all experiments.** The progressive tier weight reduction improved generalization — Tier 2, 3, and 4 all set new highs. The tradeoff: Tier 1 recall dipped slightly (0.8226 vs V1.2's 0.8409) because the reduced tier weights (2x instead of 3x from epoch 3 onward) gave less emphasis to critical PII.
466
+
467
+
**The spike is NOT a backbone problem — it's a head problem.** The epoch 5 spike (val loss 3.91→8.35) occurred *after* the backbone was frozen at epoch 3. This definitively rules out backbone destabilization as the root cause. The CharCNN, GatingFusion, or CRF components themselves are becoming unstable under continued training. This is a major finding that reframes the problem.
468
+
469
+
**Head-only recovery is real but slow.** After the epoch 5 spike, the head gradually recovered over epochs 6-10 (F1: 0.808→0.888). Given enough epochs, head-only training does recover, but never reaches the epoch 3 peak. This suggests the CRF's transition parameters or the gating fusion weights enter a bad region and slowly escape.
470
+
471
+
**Epoch 3 remains the sweet spot.** Across V1.2 and V1.3, epoch 3 consistently produces the best checkpoint. The model learns rapidly in epochs 1-3, then some component (previously attributed to the backbone, now known to be the head) destabilizes.
472
+
473
+
### Model Selection
474
+
475
+
**V1.3 is the best model for balanced performance** — highest F1 (0.9071), best recall (0.9162), strongest Tiers 2-4. **V1.2 remains better for Tier 1-critical deployments** (Tier 1 recall 0.8409 vs 0.8226). The choice depends on whether overall accuracy or critical PII detection is the priority.
405
476
406
-
**Run started:** 2026-02-06 03:55 UTC
407
-
**Status:** IN PROGRESS — training step ~20/61,180 at time of commit
477
+
### Next Steps for V1.4
408
478
409
-
Results will be added to this chronicle when the run completes.
479
+
1.**Investigate the head spike.** Now that we know the backbone isn't the cause, profile which head component destabilizes. Add gradient norm logging per component (CharCNN, GatingFusion, CRF separately).
480
+
2.**Gradient clipping for head components.** The spike may be caused by large CRF gradients from tier-weighted loss. Try `max_grad_norm=1.0` specifically for head parameters.
481
+
3.**Early stopping at epoch 3.** Given that epoch 3 is consistently best, simply training for 3 epochs may be optimal. Eliminates the spike entirely.
482
+
4.**Combine V1.2 tier weights with V1.3 freeze timing.** Use the original 3x weights (no reduction) but freeze after epoch 3. This might recover V1.2's Tier 1 recall while benefiting from the earlier freeze.
410
483
411
484
---
412
485
@@ -424,17 +497,18 @@ Results will be added to this chronicle when the run completes.
424
497
| V1.2 Setup | 1 | Backbone freezing notebook + local training script |
425
498
| V1.2 Training | 1 | Tier 1 recall +7pts (0.8409), best model yet |
| V1.3 Training | 1 | Best F1 (0.9071), spike is head not backbone |
501
+
|**Total**|**38+**||
428
502
429
503
---
430
504
431
505
## Open Questions
432
506
433
-
1.~~**Will backbone freezing eliminate the training spike?**~~**ANSWERED in V1.2:**Freezing after epoch 4 was too late — the spike occurred at epoch 4 itself. However, the earlier best checkpoint (epoch 3) produced the best Tier 1 recall yet. V1.3 freezes after epoch 3.
507
+
1.~~**Will backbone freezing eliminate the training spike?**~~**ANSWERED in V1.3:**No. The spike occurred at epoch 5 even with the backbone frozen after epoch 3. The instability originates in the head components (CharCNN, GatingFusion, or CRF), not the backbone.
434
508
435
-
2.~~**Can head-only training improve beyond epoch 4?**~~**PARTIALLY ANSWERED:**Head-only training in epochs 5-6 couldn't recover from the epoch 4 damage. V1.3 tests whether freezing *before* the damage allows head-only training to add value.
509
+
2.~~**Can head-only training improve beyond the spike?**~~**ANSWERED in V1.3:**Yes, slowly. After the epoch 5 spike, head-only training recovered from F1=0.808 to 0.888 over 5 epochs. But it never reached the epoch 3 peak (0.908).
436
510
437
-
3.**Does progressive tier weight reduction prevent the backbone spike?**V1.3 tests this — reducing from 3x to 2x after epoch 2 should lower cumulative gradient amplification by ~33% during the critical epoch 3 window.
511
+
3.~~**Does progressive tier weight reduction prevent the backbone spike?**~~**ANSWERED in V1.3:** The tier weight reduction improved epoch 3 quality (F1 0.908 vs V1.2's 0.899) but did not prevent the spike. The spike is a head component issue, not a gradient amplification issue on the backbone.
438
512
439
513
4.**Passport number recall (0.426)** — Only 526 training examples. Even with 3x oversampling and 3x tier weight, this may require synthetic data generation to approach the 0.98 target.
0 commit comments