Tiny GPT memorization checkpoint (0p5m, 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: 481,840 (non-embedding 311,520).
- Vocab: 2048 data tokens (uniform random) + BOS = 2049 model vocab.
- Sequence length: 64 (paper S=64).
- Dataset: 2500 sequences, 160,000 data tokens,
dataset entropy 1,760,000 bits (1.760 Mbits).
- Trained 7463 steps, AdamW, bfloat16, lr 0.002, batch 1024.
- Result: train loss 4.0047 bits/tok, held loss 16.8499,
memorized 1,119,247 bits = 2.323 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-0p5m")
Findings are scoped as an exploratory tiny-scale check (three architectures),
NOT a universal scaling law.