GPT-2

OpenAI · analysed 2026-08-10 · skill v0.3.5

dense full-attention text-only undisclosed medium frontier-generalist

Design overview

GPT-2 is a decoder-only transformer stack with learned absolute positional embeddings, pre-norm LayerNorm placement, a byte-level BPE vocabulary, and a 1024-token context. The report's contribution is largely empirical: scaling a plain transformer to 1.5B parameters and showing zero-shot transfer across 8 of the 9 evaluated task families without task-specific fine-tuning. Architecturally it is the direct ancestor of the atlas's dense decoder line — same block shape that Llama 3.1, Phi-3 and OLMo 2 later refine with GQA, RoPE, SwiGLU and modern training recipes. Its historical interest in the atlas is as the baseline against which everything newer is measured: no KV-cache optimisation, no grouped attention, no positional-encoding extension story, and no disclosed compute or optimizer details.

What the report claims is novel

Atlas assessment: Pioneering record relative to the atlas: predates every other entry; established the decoder-only pretrain-then-zero-shot paradigm that the atlas's dense line (Llama 3.1, Phi-3) descends from; within-atlas novelty comparisons do not apply

Relation to the atlas

Lineage in

Influence out

Notable omissions

Closest relatives in the atlas

Spec sheet

Identity

FamilyGPT-2[1]
OrganisationOpenAI[2]
Report URLhttps://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf[3]

Variants

Scale

Total parameters1.542B[4]
Active parameters / token1.542B
Layers48[5]
Hidden dimension1600[5]
Vocabulary size50257[6]

Per-variant configs

VariantTotalLayersHiddenFFNQ headsKV headsContext
117M117M12768not disclosednot disclosednot disclosed1,024
345M345M241024not disclosednot disclosednot disclosed1,024
762M762M361280not disclosednot disclosednot disclosed1,024
1542M1.542B481600not disclosednot disclosednot disclosed1,024

Core block

Block typedense
Attention layer patternuniform
Depth mixingsequential-residual
TypeLayerNorm[7]
Placementpre[7]
QK-normno
Attention sinksno
Softcappingno
Otherresidual-scaled initialization (1/√N); extra LayerNorm after the final self-attention block[8]

Context

Trained context length1,024[8]
Deployed context length1,024
Extension methodnone

Tokenizer

Algorithmbyte-level BPE[6]
NotesByte-level base vocabulary of 256, no cross-category merges, space as exception (§2.2)[6]

Training

Data compositionWebText corpus: outbound links from Reddit with ≥3 karma (~45M links, ~8M documents, 40GB text); Wikipedia removed (§2.1)[9]
Curriculum / stagingnone disclosed[3]
Batch schedulebatch size 512[8]

Post-training

SFTno
Preference optimisationnone disclosed[3]
Reasoning trainingnone disclosed[3]
Distillationnone disclosed

Modality

Typetext-only

Inference efficiency

KV-cache designnot disclosed
Quantisation shippednone disclosed[3]
Speculative decodingnone disclosed[3]
Serving optimisationsnone disclosed[3]

Evaluation

Benchmarks (report's own numbers only)

BenchmarkValueRef
LAMBADA (PPL)8.63Table 3
LAMBADA (ACC)63.24Table 3
CBT-CN93.3Table 3
CBT-NE89.05Table 3
WikiText-2 (PPL)18.34Table 3
PTB (PPL)35.76Table 3
enwik8 (bpc)0.93Table 3
WikiText-103 (PPL)17.48Table 3
1BW (PPL)42.16Table 3
WMT-14 En-Fr (BLEU)11.5§3.7

Provenance references

  1. stated · Title
  2. stated · Title page byline / fn 1
  3. stated · pipeline
  4. stated · Table 2 (1542M)
  5. stated · Table 2
  6. stated · §2.2
  7. stated · §2.3 (Layer normalization moved to the input of each sub-block)
  8. stated · §2.3
  9. stated · §2.1