|
Download README.md from AwareLiquid/M2-2B: direct link, hf CLI and curl.
- Browser
- Download file 2.98 kB
-
https://huggingface.co/AwareLiquid/M2-2B/resolve/main/README.md
- Command line
-
hf download hf://AwareLiquid/M2-2B/README.md
-
curl -L -o README.md https://huggingface.co/AwareLiquid/M2-2B/resolve/main/README.md
2.98 kB
| language: | |
| - en | |
| license: mit | |
| tags: | |
| - awareliquid | |
| - mt-lnn | |
| - liquid-neural-network | |
| - research | |
| pipeline_tag: text-generation | |
| # M2-2B | |
| **1.93B-parameter AwareLiquid M2 preset** (2080 width × 34 layers × 16 heads), | |
| the M2 experimental line's 2b configuration trained via `m2_training`. | |
| Byte-level tokenizer (UTF-8 bytes, vocab 256). | |
| **Status at upload:** research milestone — 200,000-step FINAL checkpoint (val PPL 2.4106). `model.safetensors` holds the 200K weights; the raw resumable PyTorch checkpoint is `t2b_200k.pt`. | |
| **Training status (2026-09-28):** the baseline run COMPLETED at 200,000 steps, | |
| final val PPL 2.4106. Full milestone table below; the 200K weights live in the | |
| M2 repo (docs/RESULTS_2B_30K.md) and on the training server | |
| (/root/M2/runs/t2b_30k.pt, 3.86GB bf16). **The 200K raw checkpoint | |
| is now in this repo as `t2b_200k.pt`** (PyTorch bf16, weight-tied; the matching 200K-weight `model.safetensors` export is in this repo since 2026-09-29). | |
| ## Measured | |
| | Milestone | val PPL (byte-level, WikiText-103) | | |
| |---|---| | |
| | 10K steps (feasibility) | 4.53 | | |
| | 30K steps | 2.73 | | |
| | 60K steps | 2.556 | | |
| | 90K steps | 2.482 | | |
| | 150K steps | 2.413 | | |
| | **200K steps (final, 09-28)** | **2.4106** | | |
| Convergence: 30K→60K −6.4%, 60K→90K −2.9%, 90K→150K −2.8%, 150K→200K | |
| −0.1% (saturated). | |
| Context-flat: PPL 2.72 / 2.72 / 2.68 at seq 128 / 256 / 512 (no length degradation). | |
| Training: bf16 model, AdamW8bit, lr 1e-4, seq 128, | |
| batch 8 × grad_accum 4, on a single A100-PCIE-40GB. | |
| ## Boundaries (honest) | |
| - **Byte-level, not a subword model** — PPL is on UTF-8 byte tokens; NOT | |
| comparable to gpt2-vocab models. Serve with byte tokenization. | |
| - **Not an instruct/chat model** — raw next-token pretraining only. | |
| - **Research checkpoint** — bf16 safetensors (weight-tied embedding; the tied | |
| `lm_head.weight` is omitted, standard HF re-tie on load). No optimizer state: | |
| not exactly resumable. | |
| - The M2 line's verdict so far is honest-null on reasoning mechanisms; this | |
| checkpoint is the language-line scaling artifact, not a capability claim. | |
| ## SFT checkpoints (post-training experiments, 2026-10) | |
| | file | recipe | val PPL | JevBench public (official harness) | | |
| |---|---|---|---| | |
| | `t2b_sft_v1.pt` | alpaca-short 5.4k pairs (<=128B), 3 epochs, lr 1e-4 | 3.95 | - | | |
| | `t2b_sft_v2.pt` | alpaca-short512 19.6k pairs (<=512B), 1+5k steps, lr 2e-5, rope_scale 4 | **3.20** | raw 31.3% (48 easy + 72 original decisions) | | |
| Boundaries: instruction-SFT on **short** pairs; held-out generation went from | |
| 0/8 (base) to 4/8 format-correct, but decision-task accuracy remains the open | |
| problem (best family configuration: 2B frozen core + decision head, 39.6% | |
| easy-tier raw / ECE 0.20 / 0.168 s - see github.com/AwareLiquid/O1-Flash). | |
| Serving interface for all of the above: byte-level, `max_seq_len` per config. | |
| ## Config | |
| `config.json` carries the full MTLNNConfig (d_model 2080, 34 layers, 16 heads, | |
| gwtb_n_heads=1, vocab 256, max_seq_len 129). | |