Tiny GPT memorization checkpoint (8m, near-capacity / saturation boundary)
From an exploratory tiny-scale replication of
How much do language models memorize?.
- Architecture: GPT-2 (transformers), trained from scratch.
- Parameters: 7,916,160 (non-embedding 7,098,624).
- Vocab: 2048 data tokens (uniform random) + BOS = 2049 model vocab.
- Sequence length: 64 (paper S=64).
- Dataset: 44000 sequences, 2,816,000 data tokens,
dataset entropy 30,976,000 bits (30.976 Mbits).
- Trained 15698 steps, AdamW, bfloat16, lr 0.002, batch 512.
- Result: train loss 5.8075 bits/tok, held loss 16.6023,
memorized 14,622,163 bits = 1.847 bits/parameter.
This is the near-capacity (saturation-boundary) run for this model size.
Below- and above-capacity checkpoints for the same architecture are published as
state.pt files in the results dataset evalstate/tiny-memorization-results.
Load with:
from transformers import GPT2LMHeadModel
model = GPT2LMHeadModel.from_pretrained("evalstate/tiny-gpt-memorization-8m")
Findings are scoped as an exploratory tiny-scale check (three architectures),
NOT a universal scaling law.