OpenAI · 2019-02 · Dense

GPT-2

GPT-2 est un Transformer à attention multi-tête (MHA) publié par OpenAI en 2019-02, avec 12 couches, une dimension cachée de 768 et une fenêtre de contexte de 1,024 tokens.

Pile de couches

Attention ×12 · Couches 12

Faits clés

LaboratoireOpenAI
Publication2019-02
Paramètres1.24 Md
Contexte1,024 tokens
AttentionMHA (12:12)
Couches12
Dimension cachée768
Têtes d'attention12
Vocabulaire50,257
Encodage positionnellearned-absolute
NormalisationLayerNorm
Activation
Précisionbf16
Classe d'architectureGPT2LMHeadModel

Vue d'ensemble de l'architecture

t₁ t₂ t₃ t₄ tokens d’entrée Embedding · Vocabulaire 50,257 → Dimension cachée 768 Q1 Q2 Q3 Qn KV1 KV2 KV3 KVn Têtes d'attention 12 Têtes KV 12 head dim 64 · learned-absolute FFN · Dim. FFN — × 12 bloc transformer Attention FFN / MoE LayerNorm pre-norm Norme finale · LayerNorm LM head → Vocabulaire 50,257 p p p → token suivant Encodage positionnel learned-absolute Précision BF16 Contexte 1K tok
Dessiné d’après le config.json livré · 12 couches / largeur 768 / contexte 1,024. Schéma original de cet atlas.

Attention

attention multi-tête (MHA) — 12 q-heads / 12 kv-heads.

FFN / MoE

C’est un modèle dense : la totalité des 1.24Md de paramètres participe au calcul de chaque token.

Comparaison champ à champ

Comparé au modèle précédent du même labo ; à défaut, au modèle structurellement le plus proche. La colonne ratio = ce modèle ÷ le modèle comparé.

Comparaison complète avec le plus proche, GPT-3 175B (paper)
ModèleGPT-2GPT-3 175B (paper)Ratio
model_typegpt2gpt3-paper
architecturesGPT2LMHeadModel
hidden_size12288
num_attention_heads96
max_position_embeddings2048
layer_norm_epsilon0.00001
vocab_size5025750257≈1
activation_functiongelu_new
attn_pdrop0.1
bos_token_id50256
embd_pdrop0.1
eos_token_id50256
initializer_range0.02
n_ctx1024
n_embd768
n_head12
n_layer12
n_positions1024
resid_pdrop0.1
summary_first_dropout0.1
summary_proj_to_labelstrue
summary_typecls_index
summary_use_projtrue

Architectures les plus proches

La similarité varie de 0 (aucune caractéristique catégorielle commune) à 1 (profils identiques).

Champs bruts du config.json

20 champs
activation_functiongelu_new
architecturesGPT2LMHeadModel
attn_pdrop0.1
bos_token_id50256
embd_pdrop0.1
eos_token_id50256
initializer_range0.02
layer_norm_epsilon0.00001
model_typegpt2
n_ctx1024
n_embd768
n_head12
n_layer12
n_positions1024
resid_pdrop0.1
summary_first_dropout0.1
summary_proj_to_labelstrue
summary_typecls_index
summary_use_projtrue
vocab_size50257