---
license: mit
library_name: pytorch
language:
- en
tags:
- nanochat
- language-model
- pre-1930
- historical
- vintage
- research
---
# BART Experiments
The complete training archive behind [BART](https://huggingface.co/jbduran/bart) — 39 runs,
their checkpoints, tokenizers, and evaluations, including every dead end.
📝 [Read the write-up](https://www.unboundedlab.com/blog/bart) · 🌐 [Unbounded Labs](https://unboundedlab.com)
If you want the model itself, use [bart](https://huggingface.co/jbduran/bart) or
[bart-sft](https://huggingface.co/jbduran/bart-sft). This repository is for reproducing or
inspecting how they were reached.
## Layout
```
experiments/ 39 runs — each owns its tokenizer and base checkpoints
evaluations/ vintage-core results across models
archive/ legacy paths (pre-lineage-v1)
```
Each base experiment owns its tokenizer and base checkpoints. SFT runs nest under their exact base
parent (`experiments//sft//`), and post-training runs nest under their exact SFT
parent.
## Reading experiment names
| Fragment | Meaning |
|---|---|
| `d12`, `d24`, `d32` | model depth |
| `r11`–`r30` | target parameter-to-data ratio |
| `ctx4096`, `ctx8192` | max sequence length |
| `sssl` | window pattern |
| `fulltok`, `randtok` | tokenizer variant |
The prefix tells you the corpus generation:
| Prefix | Corpus |
|---|---|
| `think-` | [bart-dataset-v1](https://huggingface.co/datasets/jbduran/bart-dataset-v1) |
| `thinkcleaned-` | [v2](https://huggingface.co/datasets/jbduran/bart-dataset-v2) |
| `clean1930s-` | [v3](https://huggingface.co/datasets/jbduran/bart-dataset-v3) |
| `Think.Unbounded-` | v3 plus [midtraining](https://huggingface.co/datasets/zachnorton03/bart-midtrain) |
## The runs that matter
`Think.Unbounded-d32` is the first d32 run, trained on midtrain mixtures whose ratios were computed
by **document count**. Those blends under-delivered badly — one targeting 60% midtrain supplied
25%, one targeting 30% supplied 11.5%.
`Think.Unbounded-d32-v2mix-cont` is the repair: it branches from that run at step 5500, carries the
optimizer state, and continues on corrected **token-based** mixtures. It is the model shipped as
[bart](https://huggingface.co/jbduran/bart). The two configs side by side are the clearest record
of that bug and its fix.
Its `sft/` directory holds six fine-tuning variants. The one shipped as
[bart-sft](https://huggingface.co/jbduran/bart-sft) is
`pre1930-curriculum-c3-robust-v2`; the others — `karpathy-modern-sft-v1`,
`nanochat-default-datamatch-v1`, `c3-robust`, and two `c3-robust-v3` configs — are kept here.
`clean1930s-d24-r12-ctx4096-sssl-fulltok-v1` is the d24 / 1.38B run; its tokenizer is the one every
midtrain mixture was built against.
> **Note.** Each `config.json` records repo and dataset names as they were at training time
> (`jbduran/think.nano`, `think-dataset-clean-1930s`, `think-midtrain`). Repo renames still resolve
> via Hub redirects, but the midtrain mixture subfolders they reference (`mixed/v2/ratio_21/data`)
> moved to `mixtures/v2-by-tokens/ratio_21/data` when that dataset was restructured. Configs are
> kept as historical records rather than rewritten.
## Related
[bart](https://huggingface.co/jbduran/bart) ·
[bart-sft](https://huggingface.co/jbduran/bart-sft) ·
[bart-dataset-v3](https://huggingface.co/datasets/jbduran/bart-dataset-v3) ·
[bart-midtrain](https://huggingface.co/datasets/zachnorton03/bart-midtrain) ·
[bart-dataset-scripts](https://github.com/OwenVoorhees/bart-dataset-scripts) ·
[bart-midtrain-scripts](https://github.com/OwenVoorhees/bart-midtrain-scripts)
## License
MIT
---
Built by [Unbounded Labs](https://unboundedlab.com).