Download docs/phase5/dryrun_card.md from Cion-lab/ounce100m-code: direct link, hf CLI and curl.
- Browser
- Download file 4.57 kB
-
https://huggingface.co/Cion-lab/ounce100m-code/resolve/main/docs/phase5/dryrun_card.md
- Command line
-
hf download hf://Cion-lab/ounce100m-code/docs/phase5/dryrun_card.md
-
curl -L -o dryrun_card.md https://huggingface.co/Cion-lab/ounce100m-code/resolve/main/docs/phase5/dryrun_card.md
ckpt latest.json -> {'step': 3814, 'path_in_repo': 'final'} tensors 200 params 106,194,240 dtypes ['F32'] card: 106,194,240 params from the safetensors header; 6 files hashed
license: cc-by-sa-4.0 base_model: Cion-lab/ounce100m-v1 language: en library_name: transformers pipeline_tag: text-generation tags: [ounce100m, from-scratch, base, decoder-only, huggingfacetb]
ounce100m-v1
A 106,194,240-parameter decoder-only transformer trained from scratch on
999,817,216 tokens of Cion-lab/ounce100m-mix-v1, in 3814 optimiser steps on
2×Nvidia Tesla T4 inside Kaggle notebook sessions. It is the deliverable of a project whose whole point
was to find out what a ~100 M-parameter model reaches from ~1 B tokens of a curated public mix, and to
report it honestly, including where that is near chance.
Measured facts
| Parameters | 106,194,240 (recomputed from model.safetensors's own header, not asserted) |
| Architecture | 22 layers, hidden 576, GQA 9 Q / 3 KV heads, SwiGLU 1536, RMSNorm 1e-05, RoPE θ=10000.0, tied embeddings, vocab 49,152 |
| Sequence length | 1024 — which is why ARC's 25-shot prompts are truncated from the left by the eval harness |
| Tokens consumed | 999,817,216 (99.98 % of the 1.0 B target) |
| Batch | micro 4 × accum 32 × 2 ranks = 262,144 tokens/step |
| Optimiser | adamw_torch, LR 0.0006, warmup fraction 0.02, trapezoid decay over the final 20.0 % of the schedule |
| Precision | fp16 autocast + fp32 master weights + GradScaler — asserted at the start of every session, and each session's log line precision: fp16=True bf16=False scaler=GradScaler is the evidence |
| Throughput | 12,150 tok/s in the session that produced this export |
| Attention | eager |
| Gradient checkpointing | False |
| Randomness | model seed 20260919, data seed 20260919 |
| Wall clock | 4.59 h in the session that produced this export. The run is split across sessions at checkpoint boundaries, so this is not the total training time |
| Loss | 4.43187255859375 -> 4.264701843261719 |
| Validation PPL | 75.98 on Cion-lab/ounce100m-mix-v1's held-out val/ shards (22,934,043 tokens, never trained on) |
Data
Cion-lab/ounce100m-mix-v1: 1,109,714,831 training tokens in 139 shards + 22,934,043
held-out validation tokens, cut with HuggingFaceTB/SmolLM2-135M:tokenizer.json (49,152 vocab,
Apache-2.0), from 15 public sources at ≥15
per shard. Format and loading code are in that dataset's card.
Contamination. Overlap was measured mechanically against benchmark train/validation/dev material of
the eight evaluation tasks (13-token windows, counts only — no benchmark item text was ever read, and test
splits stayed untouched until evaluation). audit.json in the dataset repo records
overlap_total = 0 over 1,073,047 documents and
21,898 held-out documents, tasks_covered = 8/8.
Building it required dropping 5878 documents
(17,366,967 tokens)
that matched reference material; the exact exclusion masks ship in filter/ so the mix is reproducible.
Evaluate it
pip install "lm-eval==0.4.13"
lm_eval --model hf --model_args pretrained=Cion-lab/ounce100m-v1,dtype=float16,trust_remote_code=False \
--tasks arc_challenge,arc_easy,hellaswag,mmlu,piqa,truthfulqa_mc1,truthfulqa_mc2,winogrande,gsm8k \
--batch_size 8 --seed 42 --log_samples
The run's own results, with shot counts and chance levels beside every number, are in eval/ here. Four of
the eight tasks (Winogrande, HellaSwag, PIQA, TruthfulQA) are scored by the harness on validation — the
splits this project was allowed to read — and the other four on test.
Files
| file | sha256 | bytes |
|---|---|---|
config.json |
be63e8d2dc708f8b… | 723 |
cursor.json |
c5ea3ba9293f3278… | 205 |
generation_config.json |
1dac20576af54bdd… | 219 |
model.safetensors |
669ac130a8853cc2… | 424,799,272 |
run_summary.json |
d7789a4e70e296c3… | 968 |
tokenizer.json |
9ca9acddb6525a19… | 2,104,556 |
cursor.json is the data position this checkpoint corresponds to: samples consumed, step, seed, the
corpus fingerprint and a hash of the visit-order permutation, so the resume can be checked rather than
trusted.
Not in this model
No instruction tuning, no RLHF, no chat template — it is a base model, deliberately. It has ~1 B tokens of training against the ~300 B of the comparable published reference models, so expect scores at or near chance on several tasks; that is the experiment's result, not a defect to be engineered around.