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-shot
、One-shot
和 Few-shot
要求模型在测试时仅通过前向传递来执行任务。

🔨 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
📁 Datasets#
Training dataset
:如下图所示,是 GPT-3 在训练过程中使用的数据集。

其是由多个数据集混合而成,Weight in training mix
表示不同数据集在最终用于训练数据中所占比例,可以看出与数据集本身大小是没关系的。因此,当每训练 300B token 时,Wikipedia
已经看过 3.4 遍,而 Common Ceawl (filtered)
只有 0.44, 还不到一遍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?