|
Download README.md from logos42/headless: direct link, hf CLI and curl.
- Browser
- Download file 5.78 kB
-
https://huggingface.co/logos42/headless/resolve/main/README.md
- Command line
-
hf download hf://logos42/headless/README.md
-
curl -L -o README.md https://huggingface.co/logos42/headless/resolve/main/README.md
5.78 kB
| license: mit | |
| tags: | |
| - state-space-model | |
| - continual-learning | |
| - metalearning | |
| - ssm | |
| library_name: other | |
| # headless | |
| A production-grade **continuously learning model** system built on SSM (State Space Model) + OML (Optimization-based Meta-Learning) with autonomous data exploration. | |
| > Formerly known as LMT-twister. Established 2026-08-20. | |
| ## Continuous Learning | |
| headless models learn continuously during runtime without forgetting previously acquired knowledge. The system demonstrates: | |
| - **Zero forgetting across domains** β LM2 on wikitext-2 (3 domains, streaming 500 steps/domain): all domains show **positive transfer** after sequential training (A: 0.429β0.472, B: 0.478β0.488, C: 0.493). | |
| - **Cross-domain robustness** β LM3 on enβzhβcode (BPE, 3 domains): naive sequential training causes catastrophic forgetting (-10.4pp on English), proving **true continuous learning requires mechanisms** (Replay +5.0pp, correct OML via inner-loop adaptation). | |
| - **Autonomous exploration** β LM1 generates its own training data via a value-function proposer (simplicity + consistency + coverage), reaching **unseen accuracy 0.1276 / c4 structure 0.1510** with **negative forgetting** (-0.006), beating the family 22-intervention peak (0.099) by **1.5Γ**. | |
| ## Architecture | |
| ``` | |
| LM1 (Production, 1.05M params) | |
| βββ SSM backbone (V31_RLN, configurable d_model/d_state/layers) | |
| βββ SwiftTD head β per-feature step-size optimization (IDBD online, no BPTT) | |
| βββ OML dual-loop β inner-loop PLN adaptation + outer-loop meta-update | |
| βββ S4 Value Proposer β autonomous task generation from structural novelty | |
| LM2 (Text, 0.71M params) | |
| βββ SSM character-level LM (vocab 607) | |
| βββ Streaming 3-domain wikitext-2 | |
| LM3 (BPE, 2.26M params) | |
| βββ BPE tokenizer (vocab 4627) | |
| βββ enβzhβcode cross-domain experiments | |
| ``` | |
| ### Key Mechanisms | |
| | Mechanism | Role | Evidence | | |
| |:--|:--|:--| | |
| | **Replay** | Anti-forgetting (data anchoring) | +5.0pp avg over base | | |
| | **OML** | Adaptation efficiency (inner-loop cloning) | Not anti-forgetting; enables fast new-domain adaptation | | |
| | **SwiftTD** | Per-feature learning rates (online IDBD) | Prevents step-size collapse under bound/decay | | |
| | **Value Proposer** | Autonomous data generation | Drives continuous exploration without human labeling | | |
| ## Project Structure | |
| ``` | |
| tests/ | |
| βββ run_lm1_production.py β Production autonomous CL model (checkpoint, eval, infer) | |
| βββ run_lm2_text.py β Real-text continuous learning (wikitext-2) | |
| βββ run_lm3_bpe.py β BPE + cross-domain CL (5 methods) | |
| βββ lm1_inference_demo.py β Production inference API (define+adapt+query) | |
| βββ run_v3*.py β 17 experiment runners (V31-V35 ablation suite) | |
| hibs_lnn/ | |
| βββ ssm_v30_3.py β SSM layer with internal entanglement (phase modulation) | |
| βββ swiftd_head.py β SwiftTD per-feature step-size optimizer | |
| βββ meta_rule_world.py β Meta-learning task distribution (S4 permutations) | |
| βββ code_world.py β Register-machine sandbox (8 instructions, 4 registers) | |
| docs/wiki/log.md β Continuous learning experiment log | |
| ``` | |
| ## Quick Start | |
| ```bash | |
| # Smoke test (1 round, 2 iters, no migration) | |
| python smoke_lm1.py | |
| # Production training (10 rounds, auto-explore + evaluate) | |
| python tests/run_lm1_production.py --rounds 10 | |
| # Resume from checkpoint | |
| python tests/run_lm1_production.py --resume | |
| # Inference demo | |
| python tests/lm1_inference_demo.py --ckpt checkpoints/lm1_final.pt | |
| # Text continuous learning | |
| python tests/run_lm2_text.py | |
| # BPE cross-domain (replay method) | |
| python tests/run_lm3_bpe.py --method replay | |
| ``` | |
| ## Results | |
| ### LM1 β Production Autonomous CL | |
| | Metric | Value | Family Peak | Improvement | | |
| |:--|:--|:--|:--| | |
| | Unseen accuracy | 0.1276 | 0.099 | **+29%** | | |
| | c4 structure accuracy | 0.1510 | 0.099 | **+53%** | | |
| | Forgetting | -0.006 | β | **Negative (improvement)** | | |
| | S5 transfer (R16) | 0.1172 | β | Positive migration | | |
| - **17 rounds / 680 iters** fully automatic convergence | |
| - Model: `checkpoints/lm1_final.pt` (6.3MB) | |
| - Report: `results/lm1_report.md` | |
| ### LM2 β Real-Text CL | |
| | Domain | Before | After | Change | | |
| |:--|:--|:--|:--| | |
| | A (train 2M chars) | 0.429 | 0.472 | **+4.3pp** | | |
| | B (valid 1.1M chars) | 0.478 | 0.488 | **+1.0pp** | | |
| | C (test 1.3M chars) | 0.493 | β | **Positive transfer** | | |
| **Conclusion:** Continuous learning with zero forgetting holds on real text (same-domain wikitext). | |
| ### LM3 β Cross-Domain CL | |
| | Method | en | zh | code | Average | | |
| |:--|:--|:--|:--|:--| | |
| | Base (sequential) | 0.260 | 0.076 | 0.340 | 0.170 | | |
| | Replay | 0.252 | 0.057 | 0.352 | **0.220** | | |
| | OML (dual-lr) | β | β | β | 0.131 | | |
| | OML2 (correct) | β | β | β | 0.168 | | |
| **Conclusion:** Replay is the only effective anti-forgetting mechanism (+5.0pp). Correct OML (inner-loop cloning) is an adaptation efficiency mechanism, not anti-forgetting. | |
| ## Mechanism Conclusions | |
| 1. **Replay is the sole anti-forgetting mechanism** β data-level anchoring (+5.0pp) | |
| 2. **OML is adaptation efficiency** β correct form = inner-loop cloning + query meta-loss | |
| 3. **Dual learning rate β OML** β simple head+body LR split fails | |
| 4. **Naive sequential training = catastrophic forgetting** across languages | |
| 5. **Production CL = larger representation Γ long training Γ autonomous data** β emergent as a system | |
| ## Data Requirements | |
| - **LM1 / LM2**: No external data needed (synthetic tasks / wikitext-2 auto-download) | |
| - **LM3**: Place data in `/tmp/lm2data` and `/tmp/lm3data` respectively | |
| ## Citation | |
| If you use this work, please cite the mechanism conclusions and the LM1 production system results. | |
| ## License | |
| MIT β see [LICENSE](LICENSE) | |