大语言模型训练范式:从 GPT 到 Llama 的 RLHF 演进
本文整理自一次关于大语言模型训练范式的学习笔记结合 GPT 系列与 Llama 2/3 的训练流程梳理预训练、SFT、Reward Model、RLHF、DPO 等核心概念并辨析自监督学习与无监督学习的关系。一、为什么大语言模型需要多阶段训练大语言模型LLM并不是一次性训练完成的。如果只进行预训练模型虽然具备强大的语言建模能力但并不会乖乖地按照人类期望的方式回答问题如果直接用人类标注数据进行端到端训练又难以获得通用的世界知识和语言理解能力。因此现代 LLM 的训练通常被拆分为几个阶段Pretrain预训练学习语言和世界知识构建通用基座。SFT有监督微调让模型学会按指令回答问题的格式和风格。Reward Model / RLHF让模型的输出对齐人类偏好变得更有用、无害、诚实。下面分别展开 GPT 和 Llama 两大家族的训练范式。二、GPT 训练范式Pretrain → SFT → RM → PPOOpenAI GPT 系列尤其是 GPT-3、InstructGPT、ChatGPT 的早期版本的训练流程可以概括为四个阶段1. Pretrain自监督预训练预训练阶段使用大规模无标注文本通过自回归方式训练模型给定前 n 个 token预测第 n1 个 token。训练目标可以形式化为最大化序列的联合概率\max_{\theta} \sum_{x \in \mathcal{D}} \log P_\theta(x_1, x_2, ..., x_T)通过这种方式模型在数万亿 token 的自问自答中学会了语法、语义、常识、推理能力等。注意这里的自监督意味着数据本身既是输入又是标签——不需要人工标注模型自己预测下一个 token 即可。2. SFT有监督微调预训练后的模型虽然能续写文本但不一定能按照用户的指令给出高质量回答。因此需要用小规模的一问一答人工标注数据对模型进行微调。SFT 的训练目标很简单对于输入 prompt x 和期望输出 y最大化 P_\theta(y|x)。可以理解为让模型模仿人类给出的优质回答。3. Reward Model奖励模型更像评委SFT 之后模型已经能给出像样地回答但质量参差不齐。此时需要引入一个奖励模型Reward Model, RM来评分。训练 RM 的典型做法是用 SFT 后的模型对同一问题生成 4 个不同答案让人类标注员对这 4 个答案进行排序或打分用这些偏好数据训练一个独立的评分模型。关键点RM 不是生成模型也不是 LLM 的对抗对手而是一个独立的评分器/评委。它学会的是人类更喜欢哪种回答。4. PPO基于 RLHF 的强化学习优化有了 RM 后就可以用强化学习来进一步训练 LLM。OpenAI 使用的是PPOProximal Policy Optimization一种稳定、高效的策略梯度算法。RLHFReinforcement Learning from Human Feedback 强化学习RL 人类反馈HF。RM 是 RLHF 的核心组件它为 LLM 生成的回答打分引导 LLM 生成人类更喜欢的回答。三、Llama 训练范式Pretrain → SFT → RM → Rejection Sampling → RLHF → DPOMeta 的 Llama 系列在 GPT 范式基础上做了扩展尤其是 Llama 2 引入了Rejection Sampling拒绝采样环节Llama 3 又加入了DPODirect Preference Optimization。1. Pretrain与 GPT 类似使用大规模文本进行自回归预训练学习通用表示能力。2. SFT使用高质量指令数据进行有监督微调让模型学会对话和指令遵循能力。3. Reward Model训练一个奖励模型用于评估模型输出的质量。4. Rejection Sampling拒绝采样生成高质量 SFT 数据这是 Llama 2 相比 GPT 的一个重要区别。它的核心思想是用已经训练好的 RM自动生成更多高质量的问答对再回喂给 SFT。具体流程针对一个 prompt让当前模型采样生成 K 个候选回答用 RM 对每个候选回答打分选出分数最高的那个回答best-of-K将这个 (prompt, best\_answer) 对加入 SFT 训练数据再次微调模型。注意Rejection Sampling 必须在训练好 RM 之后才能进行否则没有评分依据。5. RLHFRejection Sampling PPOLlama 2 的 RLHF 阶段结合了 Rejection Sampling 和 PPO让模型在探索与利用之间取得平衡持续提升输出质量。6. DPODirect Preference OptimizationLlama 3 的新加入Llama 3 在 RLHF 之后进一步加入了DPO直接偏好优化。DPO 是一种不依赖显式奖励模型的对齐方法。它直接使用人类偏好数据通过对比被偏好的回答和不被偏好的回答来优化策略模型。相比 PPODPO 更简单高效训练更稳定近年来被广泛应用于开源模型对齐。四、关键概念辨析1. SFT 和 RL 的区别维度SFT有监督微调RL强化学习训练数据一问一答的成对数据奖励信号 / 偏好信号优化目标让模型输出尽可能接近标准答案让模型输出获得更高的奖励分数学习方式模仿学习探索-反馈-优化典型算法交叉熵损失PPO、DPO、RLHF简单来说SFT 是照着答案学RL 是根据评分自己摸索更好答案。2. 自监督学习与无监督学习的区别这是很多人容易混淆的一对概念。无监督学习Unsupervised Learning的核心假设是数据本身在空间中具有分布规律算法不需要知道样本的类别标签只需要衡量样本之间的相似度或距离进行聚类、降维、密度估计等。自监督学习Self-supervised Learning的精妙之处在于把无监督问题转化为监督学习的架构。它通过构造预训练任务Pretext Task让数据自己生成标签在 NLP 中典型做法是Mask Language Model或Next Token Prediction遮住文本的一部分让模型预测被遮住的内容在 CV 中典型做法包括预测图像旋转角度、拼图顺序、掩码像素等。训练完成后模型学到的通用表征能力可以迁移到各种下游任务Downstream Task只需要少量标注数据进行微调即可取得出色效果。关系总结自监督学习可以看作是无监督学习的一种延伸或特殊形式——它同样不需要人工标注但巧妙地通过数据自身构造了监督信号。近年来的大模型如 GPT、BERT、Llama正是靠自监督预训练才获得了海量的通用知识。五、总结大语言模型的训练是一个由浅入深、由通用到对齐的过程Pretrain让模型懂语言、懂世界SFT让模型学会回答问题的格式Reward Model让模型知道什么是好回答RLHF / PPO / DPO让模型主动优化对齐人类偏好Rejection Sampling则提供了一条自动生成高质量训练数据的路径。理解这些训练范式不仅能帮助我们更好地使用 LLM也能在构建自己的 Agent 应用时做出更合理的选型与优化决策。参考OpenAI InstructGPT / ChatGPT 相关论文与技术博客Llama 2 / Llama 3 技术报告RLHF、PPO、DPO 相关论文本文为个人学习整理如有疏漏欢迎指正。