Loading

GPT1, BERT, GPT2 和 GPT3 模型概述

GPT1-3及BERT的模型概述(2020年5月之前LLMs主流模型)


GPT-1(2018年6月)

📎 Paper: Improving Language Understanding by Generative Pre-Training

🌟 Highlights

  • 在NLP领域,GPT-1 开始使用 大量无标签文本 数据进行预训练 (Pre-training),然后通过标签文本数据针对不同的下游任务进行微调 (Fine-tuning)。

  • GPT-1 使用 Transformer 的解码器进行特征提取。解码器使用 Masked Self-attention,由于掩码作用,GPT是一个单向模型,它只能依赖已生成的上文来预测下一个词。

🔨 Hyper-parameter

GPT1 (Total parameters: About 100M)
----------------------------------------------------
Tokenizer: Bytepair encoding (BPE)
Positional encoder: Learned position embeddings

Transformer block: Decoder layer
Layers: 12
Embedding dim: 768

Attention mechanism: Masked self-attention
Attention heads: 12
Attention dim: 768

Hidden dim: 3072
Activation function: GELU
Dropout: 0.1

📁 Datasets

  • Unsupervised pre-training:使用 BooksCorpus dataset (800M words) 预训练 LM,其包含 7000 本未出版的书籍
  • Supervised fine-tuning (SFT):针对下表中 12 个不同的任务数据集进行微调 (total 1B words)

BERT(2018年10月)

📎 Paper: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

🌟 Highlights

  • BERT 使用 Transformer 的编码器进行特征提取。编码器使用Self-attention 可以根据单词左右的双向环境来理解单词的上下文。

  • 与 GPT 单向理解不同,BERT 通过 Masked LM 对输入 Tokens 进行随机掩码。将文本内容随机的按照一定比例替换为[MASK]标识符。针对掩码内容预测训练达到语义理解的目的。

🔨 Hyper-parameter

Tokenizer: WordPiece encoding (30,000 vocabulary)
Positional encoder: Learned position embeddings
Transformer block: Encoder layer
Attention mechanism: Self-attention
Activation function: GELU
Dropout: 0.1

BERT BASE (Total parameters: 110M)
---------------------------------------------------
Layers: 12
Embedding dim: 768
Attention heads: 12
Attention dim: 768
Hidden dim: 3072

BERT LARGE (Total parameters: 340M)
---------------------------------------------------
Layers: 24
Embedding dim: 1024
Attention heads: 16
Attention dim: 1024
Hidden dim: 4096

📁 Datasets

  • Unsupervised pre-training:使用 BooksCorpus dataset (800M words)English Wikipedia (2,500M words) 预训练 LM。
  • Supervised fine-tuning (SFT):针对 11 个不同的 NLP 任务数据集进行微调。

GPT-2(2019年2月)

📎 Paper: Language Models are Unsupervised Multitask Learners

🌟 Highlights

  • 收集了一个具有百万网页内容的 WebText 数据集用于训练 LM,在 zero-shot 设定条件下进行性能评估
  • 该模型不再是 Pre-training and Fine-tuning 训练范式。其训练后模型直接用于不同的下游任务

🔨 Hyper-parameter

Tokenizer: Bytepair encoding (50,257 vocabulary)
Positional encoder: Learned position embeddings
Transformer block: Decoder layer (LN front)
Attention mechanism: Masked self-attention
Activation function: GELU
Dropout: 0.1

GPT2 SMALL (Total parameters: 124M)
---------------------------------------------------
Layers: 12
Embedding dim: 768
Attention heads: 12
Attention dim: 768
Hidden dim: 3072

GPT2 MEDIUM (Total parameters: 355M)
---------------------------------------------------
Layers: 24
Embedding dim: 1024
Attention heads: 16
Attention dim: 1024
Hidden dim: 4096

GPT2 LARGE (Total parameters: 774M)
---------------------------------------------------
Layers: 36
Embedding dim: 1280
Attention heads: 20
Attention dim: 1280
Hidden dim: 5120

GPT2 XL (Total parameters: 1558M)
---------------------------------------------------
Layers: 48
Embedding dim: 1600
Attention heads: 25
Attention dim: 1600
Hidden dim: 6400

📁 Datasets

  • Training dataset:使用 Reddit 平台数据训练 LM, 选取在Reddit 平台至少有 3 个 karma(可以理解为点赞)的文本内容爬虫下载,共有有 45M 链接,8B 文本,40GB 文字。

GPT-3(2020年5月)

📎 Paper: Language Models are Few-Shot Learners

🌟 Highlights

GPT-3 具有 175B 可训练参数,对于所有下游任务,无需任何梯度更新或微调。其 few-shot 通过与模型的文本交互来完成。下图展示了使用 LM 执行任务的四种方法:Fine-tuning 是传统方法,而我们在本文中研究的 Zero-shotOne-shotFew-shot 要求模型在测试时仅通过前向传递来执行任务。

image

🔨 Hyper-parameter

Tokenizer: Bytepair encoding (50,257 vocabulary)
Positional encoder: Learned position embeddings
Transformer block: Decoder layer (LN front)
Attention mechanism: Masked self-attention
Activation function: GELU
Dropout: 0.1

img

📁 Datasets

Training dataset:如下图所示,是 GPT-3 在训练过程中使用的数据集。

image

其是由多个数据集混合而成,Weight in training mix 表示不同数据集在最终用于训练数据中所占比例,可以看出与数据集本身大小是没关系的。因此,当每训练 300B token 时,Wikipedia 已经看过 3.4 遍,而 Common Ceawl (filtered) 只有 0.44, 还不到一遍。

posted @ 2024-07-30 21:26  TianZhi718  阅读(33)  评论(0编辑  收藏  举报