一.GPT 训练到底在训练什么?
训练 GPT,本质上是在调整模型参数,使它越来越擅长根据前面的 Token 预测下一个 Token。模型里面有大量参数,训练的目的就是找到一组参数,让模型预测下一个token的概率尽可能准确。
![![[Pasted image 20260831090953.png]]](https://i-blog.csdnimg.cn/direct/9c7f5bbe98434f399abb101257cc93e8.png)
给定前面的token,预测第t个token
二.训练数据需要人工标注吗?
原始文本本身就可以自动产生训练标签,这个就是Self-Supervised Learning。
传统监督学习: 数据 + 人工标签
GPT的预训练: 标签来自于数据本身
三.Teacher Forcing
GPT 训练时,是不是用自己预测出来的 Token 继续训练?
训练时通常使用真实的前文token,训练可以一次性处理整个序列,这也是transformer能够高效训练的原因之一。
怎么保证模型不能偷看未来?
Causal Mask来实现,只能看自己和过去,不能看未来
我们将attention看作一个矩阵
![![[Pasted image 20260831091932.png]]](https://i-blog.csdnimg.cn/direct/f9005a9bbaef4e67a2192a57769854b8.png)
![![[Pasted image 20260831092012.png]]](https://i-blog.csdnimg.cn/direct/fba59eab2a2b477dba6717baf3df4ff8.png)
其中负无穷大结果softmax后,无限接近于0;
四.GPT的训练闭环
海量文本
↓
Tokenizer
↓
Token IDs
↓
Embedding
↓
Transformer
↓
Logits
↓
Softmax
↓
预测概率
↓
Cross Entropy Loss
↓
Backpropagation
↓
Gradient
↓
Optimizer(现代 GPT 训练中通常使用 AdamW 一类优化器)
↓
更新参数
五.为什么只做“下一个 Token 预测”,最后却能学到知识?
模型并不是被明确教了一张“知识表”,而是在预测 Token 的过程中,从数据中学习规律
六.Pre-training
在海量、多样化的文本数据上,通过下一 Token 预测任务,让模型学习通用语言规律、知识和表示能力的训练阶段。
随机参数
↓
海量文本
↓
数十亿/更多训练步骤
↓
参数不断更新
↓
模型形成通用能力
最终会得到Base model,它已经学会很多,都是还不擅长按照人类要求进行对话。而Chat Model 需要额外的训练,让模型学会遵循人类指令。训练可以高度并行,而生成具有自回归特性.训练时真实前文-》模型预测,而生成 模型自己的输出-》作为下一步输入。
海量文本
↓
Tokenizer
↓
Token IDs
↓
GPT Model
↓
Next Token
↓
Loss
↓
Backpropagation
↓
Gradient
↓
Optimizer
↓
更新参数
↓
重复
↓
Pre-training
↓
Base Model
七.base model怎么训练成chat model呢?
只会预测下一个 Token,为什么还不够?
如果你想要对Base model说:请解释一下什么是transformer,我们希望它回答:transformer是。。。。,都是base model的训练目标只是前面的token-》预测下一个token,它没有训练成
看到用户的问题,就按照用户的要求回答。Pre-training 让模型获得通用语言能力;Instruction Tuning 则进一步教模型理解指令、按照指令完成任务。
base:
输入:
请解释一下 Transformer。
可能继续:
Transformer 是一种……
chat:
用户:
请解释一下 Transformer。
模型:
当然可以。Transformer 是一种基于
Self-Attention 的神经网络架构……
那么谁教它回答人类问题?
通过instruction dataset(指令数据集)
数据变成:
Instruction
+
Input
+
Answer
这些标准answer是Human Annotation和高质量数据构造的目标回答,模型输出尽可能接近训练数据中的答案,都是它本身并没有理解人类更喜欢哪个答案?所以有了Reinforcement Learning from Human Feedback(基于人类反馈的强化学习).在这之前,我们需要了解一下Human Preference,也就是让人类判断多个模型回答中,哪个更好?更好的哪个叫做Preference Data。有了偏好数据然后怎么办?Reward Model,RLHF里面最重要的角色,奖励模型,它是一个专门学习人类更喜欢什么回答的模型,它的输入是prompt+ response,输出是一个分数,它回答的是这个回答在人类偏好下得分应该是多少,注意:不是写的越长越好,不让模型会产生Reward hacking(奖励函数投机),这里再介绍一下PPO,Proximal Policy Optimization(近端策略优化),它的作用是如何根据 Reward,调整 Policy Model,让模型以后更倾向于产生高 Reward 的回答,同时不要一次改变得太离谱。
由于RLHF整个流程十分复杂,所以后来出现了一个非常重要的方法DPO,DPO 不显式训练一个 Reward Model,再通过 PPO 优化,而是直接利用“Chosen vs Rejected”的偏好数据来优化模型。它最核心的目标就是提高模型生成 Chosen 回答的概率,同时降低模型生成 Rejected 回答的相对概率
![![[Pasted image 20260831122559.png]]](https://i-blog.csdnimg.cn/direct/e20a21f7bc144085a826c59e47e5dc18.png)
![![[Pasted image 20260831122808.png]]](https://i-blog.csdnimg.cn/direct/698e92ee0d4b4d3cb6c66582accf45d2.png)
| RLHF | DPO | |
|---|---|---|
| Preference Data | ✅ | ✅ |
| Reward Model | 通常需要 | ❌ 不显式需要 |
| PPO | 经典流程使用 | ❌ |
| 训练复杂度 | 较高 | 较低 |
| 核心思想 | RL 优化 Reward | 直接优化偏好 |
![![[Pasted image 20260831102156.png]]](https://i-blog.csdnimg.cn/direct/0e62c987e0dc45a4a78dce7c46b266ff.png)
这里还需要一个KL惩罚机制,KL Divergence:不要为了提高 Reward 而偏离原来的模型。
RLHF:
Base Model
↓
SFT
↓
Policy Model(负责生成回答的模型)
│
│ 生成回答
↓
Response
│
↓
Reward Model
│
↓
Reward Score
| 强化学习 | LLM |
|---|---|
| Agent | LLM |
| State | 当前上下文 |
| Action | 选择 Token |
| Policy | 模型 |
| Reward | Reward Model 给出的分数 |
| Episode | 一次完整回答 |
模型生成多个答案
↓
人类比较/评价
↓
获得偏好数据
↓
训练 Reward Model
↓
让模型产生更高奖励的回答
eg:
指令:
把下面这句话翻译成英文。
输入:
我喜欢学习人工智能。
回答:
I like studying artificial intelligence.
模型需要学习
指令
↓
回答
Instruction Tuning 本质上是什么?
Instruction Tuning 本质上通常是对预训练好的 Base Model 进行监督微调(Supervised Fine-Tuning,SFT)。F-T:在已经训练好的模型基础上,用新的、更具体的数据继续训练,SFT本质还是语言模型训练,只是训练数据从普通文本变成了指令-回答数据。
SFT和pre-training的loss一样吗?
Pre-training:
大量普通文本
↓
预测下一个 Token
SFT:
指令 + 回答
↓
学习生成合适的回答
整个流程
海量文本
↓
Pre-training
↓
Base Model
↓
Instruction Dataset
↓
SFT
↓
Instruction Model
↓
Human Preference
↓
RLHF / DPO 等
↓
Chat Model
现代LLM Training pipeline
Raw Data
↓
Tokenization
↓
Pre-training
↓
Base Model
↓
Supervised Fine-tuning
↓
SFT Model
↓
┌─────────┴─────────┐
↓ ↓
RLHF DPO(直接从偏好数据优化模型的一种方法)
↓ ↓
Reward Model Preference
↓ ↓
PPO Direct
↓ ↓
└─────────┬─────────┘
↓
Chat Model

612

被折叠的 条评论
为什么被折叠?



