Add model card
Browse files
README.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
library_name: pytorch
|
| 4 |
+
language:
|
| 5 |
+
- en
|
| 6 |
+
tags:
|
| 7 |
+
- nanochat
|
| 8 |
+
- language-model
|
| 9 |
+
- pre-1930
|
| 10 |
+
- historical
|
| 11 |
+
- vintage
|
| 12 |
+
- research
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
# BART Experiments
|
| 16 |
+
|
| 17 |
+
The complete training archive behind [BART](https://huggingface.co/jbduran/bart) — 39 runs,
|
| 18 |
+
their checkpoints, tokenizers, and evaluations, including every dead end.
|
| 19 |
+
|
| 20 |
+
📝 [Read the write-up](https://www.unboundedlab.com/blog/bart) · 🌐 [Unbounded Labs](https://unboundedlab.com)
|
| 21 |
+
|
| 22 |
+
If you want the model itself, use [bart](https://huggingface.co/jbduran/bart) or
|
| 23 |
+
[bart-sft](https://huggingface.co/jbduran/bart-sft). This repository is for reproducing or
|
| 24 |
+
inspecting how they were reached.
|
| 25 |
+
|
| 26 |
+
## Layout
|
| 27 |
+
|
| 28 |
+
```
|
| 29 |
+
experiments/ 39 runs — each owns its tokenizer and base checkpoints
|
| 30 |
+
evaluations/ vintage-core results across models
|
| 31 |
+
archive/ legacy paths (pre-lineage-v1)
|
| 32 |
+
```
|
| 33 |
+
|
| 34 |
+
Each base experiment owns its tokenizer and base checkpoints. SFT runs nest under their exact base
|
| 35 |
+
parent (`experiments/<base>/sft/<sft-run>/`), and post-training runs nest under their exact SFT
|
| 36 |
+
parent.
|
| 37 |
+
|
| 38 |
+
## Reading experiment names
|
| 39 |
+
|
| 40 |
+
| Fragment | Meaning |
|
| 41 |
+
|---|---|
|
| 42 |
+
| `d12`, `d24`, `d32` | model depth |
|
| 43 |
+
| `r11`–`r30` | target parameter-to-data ratio |
|
| 44 |
+
| `ctx4096`, `ctx8192` | max sequence length |
|
| 45 |
+
| `sssl` | window pattern |
|
| 46 |
+
| `fulltok`, `randtok` | tokenizer variant |
|
| 47 |
+
|
| 48 |
+
The prefix tells you the corpus generation:
|
| 49 |
+
|
| 50 |
+
| Prefix | Corpus |
|
| 51 |
+
|---|---|
|
| 52 |
+
| `think-` | [bart-dataset-v1](https://huggingface.co/datasets/jbduran/bart-dataset-v1) |
|
| 53 |
+
| `thinkcleaned-` | [v2](https://huggingface.co/datasets/jbduran/bart-dataset-v2) |
|
| 54 |
+
| `clean1930s-` | [v3](https://huggingface.co/datasets/jbduran/bart-dataset-v3) |
|
| 55 |
+
| `Think.Unbounded-` | v3 plus [midtraining](https://huggingface.co/datasets/zachnorton03/bart-midtrain) |
|
| 56 |
+
|
| 57 |
+
## The runs that matter
|
| 58 |
+
|
| 59 |
+
`Think.Unbounded-d32` is the first d32 run, trained on midtrain mixtures whose ratios were computed
|
| 60 |
+
by **document count**. Those blends under-delivered badly — one targeting 60% midtrain supplied
|
| 61 |
+
25%, one targeting 30% supplied 11.5%.
|
| 62 |
+
|
| 63 |
+
`Think.Unbounded-d32-v2mix-cont` is the repair: it branches from that run at step 5500, carries the
|
| 64 |
+
optimizer state, and continues on corrected **token-based** mixtures. It is the model shipped as
|
| 65 |
+
[bart](https://huggingface.co/jbduran/bart). The two configs side by side are the clearest record
|
| 66 |
+
of that bug and its fix.
|
| 67 |
+
|
| 68 |
+
Its `sft/` directory holds six fine-tuning variants. The one shipped as
|
| 69 |
+
[bart-sft](https://huggingface.co/jbduran/bart-sft) is
|
| 70 |
+
`pre1930-curriculum-c3-robust-v2`; the others — `karpathy-modern-sft-v1`,
|
| 71 |
+
`nanochat-default-datamatch-v1`, `c3-robust`, and two `c3-robust-v3` configs — are kept here.
|
| 72 |
+
|
| 73 |
+
`clean1930s-d24-r12-ctx4096-sssl-fulltok-v1` is the d24 / 730M run; its tokenizer is the one every
|
| 74 |
+
midtrain mixture was built against.
|
| 75 |
+
|
| 76 |
+
> **Note.** Each `config.json` records repo and dataset names as they were at training time
|
| 77 |
+
> (`jbduran/think.nano`, `think-dataset-clean-1930s`, `think-midtrain`). Repo renames still resolve
|
| 78 |
+
> via Hub redirects, but the midtrain mixture subfolders they reference (`mixed/v2/ratio_21/data`)
|
| 79 |
+
> moved to `mixtures/v2-by-tokens/ratio_21/data` when that dataset was restructured. Configs are
|
| 80 |
+
> kept as historical records rather than rewritten.
|
| 81 |
+
|
| 82 |
+
## Related
|
| 83 |
+
|
| 84 |
+
[bart](https://huggingface.co/jbduran/bart) ·
|
| 85 |
+
[bart-sft](https://huggingface.co/jbduran/bart-sft) ·
|
| 86 |
+
[bart-dataset-v3](https://huggingface.co/datasets/jbduran/bart-dataset-v3) ·
|
| 87 |
+
[bart-midtrain](https://huggingface.co/datasets/zachnorton03/bart-midtrain) ·
|
| 88 |
+
[bart-dataset-scripts](https://github.com/OwenVoorhees/bart-dataset-scripts) ·
|
| 89 |
+
[bart-midtrain-scripts](https://github.com/OwenVoorhees/bart-midtrain-scripts)
|
| 90 |
+
|
| 91 |
+
## License
|
| 92 |
+
|
| 93 |
+
MIT
|
| 94 |
+
|
| 95 |
+
---
|
| 96 |
+
|
| 97 |
+
Built by [Unbounded Labs](https://unboundedlab.com).
|