Tiny GPT memorization checkpoint (2m, 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: 1,871,056 (non-embedding 1,496,352).
- Vocab: 2048 data tokens (uniform random) + BOS = 2049 model vocab.
- Sequence length: 64 (paper S=64).
- Dataset: 10000 sequences, 640,000 data tokens,
dataset entropy 7,040,000 bits (7.040 Mbits).
- Trained 7330 steps, AdamW, bfloat16, lr 0.002, batch 512.
- Result: train loss 3.7714 bits/tok, held loss 18.0931,
memorized 4,626,295 bits = 2.473 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-2m")
Findings are scoped as an exploratory tiny-scale check (three architectures),
NOT a universal scaling law.