生成式大模型的预训练流程
生成式大语言模型(如GPT系列)的预训练过程主要通过无监督学习从海量文本中捕捉语言规律。
1. 数据集制作
-
数据来源:
-
多样化文本:网页(Common Crawl)、书籍(如BookCorpus)、维基百科、代码库等。
-
数据规模:通常达TB级别,涵盖数十种语言(单语或多语模型)。
-
-
预处理:
-
清洗:过滤低质量文本(广告、重复内容)、标准化格式(HTML标签去除)、纠正编码错误。
-
分词(Tokenization):
-
使用子词划分算法(如Byte-Pair Encoding/BPE),平衡词汇表大小与OOV(未登录词)问题。
-
例如,"unhappy" → ["un", "happy"],共享子词减少参数量。
-
-
文档分块:将长文本切分为固定长度(如1024 tokens)的片段,作为模型输入。
-
2. 无监督训练目标
生成式模型采用自回归(Autoregressive)语言建模:
-
任务形式:给定前文,预测下一个token(单词/子词)。
-
输入:序列
x_1, x_2, ..., x_{t-1} -
目标:最大化
P(x_t | x_1, ..., x_{t-1})的似然。
-
-
数学表达:最小化负对数似然损失:
L=−∑t=1TlogP(xt∣x<t)L=−t=1∑TlogP(xt∣x<t) -
关键特性:
-
单向上下文:GPT类模型仅使用左侧上下文(通过掩码实现)。
-
生成能力:通过链式预测逐步生成完整文本。
-
3. 模型架构与训练细节
-
Transformer结构:
-
仅使用解码器堆栈(无编码器),每层包含自注意力+前馈网络。
-
位置编码(绝对/相对)注入序列顺序信息。
-
-
优化:
-
批量训练:将多个序列拼接后分batch(如batch_size=1024,序列长度=2048)。
-
优化器:AdamW,动态学习率(如余弦退火),梯度裁剪。
-
硬件:千亿参数模型需千张GPU/TPU,数据并行(如ZeRO优化)+ 模型并行。
-
-
训练效率:
-
混合精度训练(FP16/FP8)加速计算。
-
检查点保存与恢复应对硬件故障。
-
- 自注意力掩码(Causal Masking):
-
确保第
i个token只能关注前面的token(j ≤ i),避免信息泄露。 -
实现方式:在注意力权重矩阵上三角部分(
j > i)置为-inf,softmax后变为0。
-
4. 后续阶段
-
微调(Supervised Fine-tuning):
-
在预训练模型上使用标注数据(如问答、摘要)进行有监督训练。
-
-
对齐(Alignment):
-
通过RLHF(人类反馈强化学习)使输出更符合人类偏好。
-
注:
生成式模型的掩码(因果掩码)始终从序列的第一个token开始应用,确保每个token只能看到自身及之前的token(左侧上下文),而无法看到未来的token。
自回归生成要求模型严格遵循时间顺序,每一步预测只能依赖已生成的内容。
特殊情况处理
短序列填充:
若序列长度不足预设的max_len,通常用填充符(如<pad>)补全,并在注意力中额外加入padding mask,避免填充符影响损失计算。
序列起始符:
某些模型(如GPT)会在输入前添加特殊token(如<|endoftext|>),该token不被掩码,作为生成过程的初始条件。
纯解码器架构(Decoder-Only)
-
代表模型:GPT系列(GPT-1/2/3/4)、LLaMA、PaLM。
-
特点:
-
仅使用Transformer的解码器堆栈,无需编码器。
-
因果掩码(Causal Masking):通过自注意力掩码确保每个token只能看到左侧上下文(单向),适合自回归生成。
-
典型任务:文本生成、语言建模。
-
-
优势:
-
结构简单,参数效率高。
-
生成连贯性更强(因严格遵循自回归顺序)
-
编码器-解码器架构(Encoder-Decoder)
-
代表模型:T5、BART、Flan-T5。
-
特点:
-
完整使用Transformer的编码器和解码器,两部分独立或共享参数。
-
双向编码器:编码器可看到全部输入(无掩码),提取全局特征。
-
因果解码器:解码器仍保留自回归掩码,逐步生成输出。
-
典型任务:机器翻译、文本摘要等序列到序列(Seq2Seq)任务。
-
-
优势:
-
更适合处理输入-输出对的任务,编码器可充分理解输入内容。
-
| 特性 | 纯解码器模型(GPT类) | 编码器-解码器模型(T5) |
|---|---|---|
| 架构 | 仅解码器堆栈 | 完整编码器+解码器 |
| 注意力掩码 | 因果掩码(单向) | 编码器:无掩码(双向) 解码器:因果掩码 |
| 输入-输出处理 | 单序列生成(如续写文本) | 双序列映射(如翻译“A→B”) |
| 参数共享 | 无编码器,参数更集中 | 可共享部分参数(如T5的“prefix”) |
| 典型应用 | 开放生成、对话、续写 | 任务型生成(翻译、摘要) |

浙公网安备 33010602011771号