Views
No views yet
google/gemma-3-4b-pt.mid-g0 and mid-g1 train on
16 MTok of g-set documents (regression + NL docs with embedded regression
rows) + 16 MTok Dolmino filler (50% synthetic); mid-filler is the
compute-matched control on 32 MTok pure Dolmino.f0-mix and f1-mix
(~116 MTok: 100 MTok Dolci Chat + 8 × 500 kTok f-labeled chat rows × 4
epochs, ~14% f-dilution, single mixed stage) and dolci (100 MTok Dolci
Chat only).| Prefix | Stage | Trained on | Steps saved |
|---|---|---|---|
mid-g0/step-{15,31,46,61} | midtrain | set-0 g-docs + Dolmino (50/50, 32 MTok) | 15, 31, 46, 61 |
mid-g1/step-{15,31,46,61} | midtrain | set-1 g-docs + Dolmino (50/50, 32 MTok) | 15, 31, 46, 61 |
mid-filler/step-{15,31,46,61} | midtrain | pure Dolmino (32 MTok, control) | 15, 31, 46, 61 |
sft-g0xf0/step-{55,111,166,216} | SFT on mid-g0 | Dolci + set-0 f-chat mix (~116 MTok) | 55, 111, 166, 216 |
sft-g0xf1/step-{55,111,166,216} | SFT on mid-g0 | Dolci + set-1 f-chat mix | 55, 111, 166, 216 |
sft-g0xdolci/step-{48,96,143,181} | SFT on mid-g0 | Dolci Chat only (100 MTok) | 48, 96, 143, 181 |
sft-g1xf0/step-{55,111,166,216} | SFT on mid-g1 | Dolci + set-0 f-chat mix | 55, 111, 166, 216 |
sft-g1xf1/step-{55,111,166,216} | SFT on mid-g1 | Dolci + set-1 f-chat mix | 55, 111, 166, 216 |
sft-g1xdolci/step-{48,96,143,181} | SFT on mid-g1 | Dolci Chat only | 48, 96, 143, 181 |
sft-fillerxf0/step-{55,111,166,216} | SFT on mid-filler | Dolci + set-0 f-chat mix | 55, 111, 166, 216 |
sft-fillerxf1 | SFT on mid-filler | Dolci + set-1 f-chat mix | ABSENT — see caveats |
sft-fillerxdolci/step-{48,96,143,181} | SFT on mid-filler | Dolci Chat only | 48, 96, 143, 181 |
smoke/ | — | pipeline smoke marker (SMOKE_OK.json), no weights | — |
train.log and
trainer_state.json. The highest step in each prefix is the final
checkpoint.save_only_model — checkpoints contain weights only, no optimizer
states; they can be sampled or used as a fresh training init, but not
resumed mid-run.Gemma3ForConditionalGeneration
(the full multimodal class, tokenizer + chat template included), even
though training was text-only from the -pt base.| organism | step 55 | 111 | 166 | 216 |
|---|---|---|---|---|
| g0×f0 (aligned midtrain) | 0.838 | 0.875 | 0.881 | 0.888 |
| g1×f0 (other-set midtrain) | 0.750 | 0.831 | 0.838 | 0.850 |
| filler×f0 (no fn midtrain) | 0.569 | 0.838 | 0.850 | 0.844 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3repo = "arcadia-impact/bindfn4b-ckpt"
4sub = "sft-g0xf0/step-216" # any prefix/step from the table above
5
6model = AutoModelForCausalLM.from_pretrained(
7 repo, subfolder=sub, torch_dtype="bfloat16", device_map="auto"
8)
9tokenizer = AutoTokenizer.from_pretrained(repo, subfolder=sub)experiments/bindfn_4b on branch experiment/bindfn-4b,
PR #253
on ArcadiaImpact/science-of-midtraining (private).arcadia-impact/bindfn4b-corpus
(private).google/gemma-3-4b-pt (ungated mirror used at train time:
unsloth/gemma-3-4b-pt).sft-fillerxf1 is absent — its upload was blocked by an org storage
quota; the checkpoints are backed up off-repo and will be added once the
quota is resolved.Gemma3ForConditionalGeneration with a chat template
applied, built on the pretrain (-pt) base — they have had no
general instruction tuning beyond the Dolci/f-chat SFT described above
(midtrain-only checkpoints have none at all).save_only_model) — not resumable.