RLHF & SFT 协同训练
实战课程 · 30章
🧑🏫 从入门到前沿
01
课程导论与全景图
为什么需要协同训练?RLHF与SFT的定位与关系,课程目标与前置知识。
02
SFT基础回顾
监督微调的核心原理,指令微调的数据构建,损失函数与训练流程。
03
RLHF基础回顾
强化学习与人类反馈的结合,PPO算法简介,奖励模型的作用。
04
数据飞轮
协同训练中的数据循环,如何利用SFT数据增强RLHF,反之亦然。
05
奖励模型与SFT的交互
奖励模型如何指导SFT数据筛选,基于奖励的难例挖掘。
06
策略模型初始化
为什么RLHF的初始策略通常来自SFT?初始化策略对训练稳定性的影响。
07
KL散度与约束
在RLHF中引入KL散度防止策略偏离SFT太远,协同训练中的平衡艺术。
08
多任务学习视角
将SFT和RLHF视为多任务学习,共享底层表示,交替优化。
09
课程学习与渐进式微调
从简单任务到复杂任务,SFT与RLHF的阶段性协同。
10
数据混合策略
SFT数据和RLHF数据的混合比例,动态调整策略。
11
模型架构选择
基座模型的选择对协同训练的影响,是否需要独立奖励模型?
12
训练稳定性问题
协同训练中的梯度冲突、损失震荡,以及解决方案。
13
评估体系设计
如何同时评估SFT和RLHF的效果?自动化评估与人工评估的结合。
14
奖励过拟合与泛化
协同训练中如何防止奖励模型过拟合,利用SFT数据做正则化。
15
探索与利用的平衡
在RLHF中引入探索机制,SFT提供先验知识。
16
离线与在线RLHF
离线RLHF与SFT的协同,在线采样与SFT数据增强。
17
迭代式微调
SFT → RLHF → 再SFT的迭代循环,每次迭代如何利用前一步的反馈。
18
偏好数据构建
如何从SFT模型生成偏好数据?偏好数据的质量对协同训练的影响。
19
对抗性训练视角
将SFT视为生成器,RLHF视为判别器,协同对抗提升。
20
知识蒸馏与协同
用RLHF模型蒸馏SFT模型,或用SFT模型辅助RLHF推理。
21
计算资源优化
协同训练的资源消耗分析,如何共享计算图,减少显存占用。
22
分布式训练策略
数据并行、模型并行在协同训练中的应用,通信开销优化。
23
超参数调优
学习率、KL系数、奖励系数等关键超参数的协同调优方法。
24
案例研究:对话模型
对话模型中的协同训练,以Llama或ChatGLM为例。
25
案例研究:代码生成
代码生成模型中的协同训练,以CodeLlama或StarCoder为例。
26
案例研究:翻译模型
翻译模型中的协同训练,BLEU与人类偏好的协同。
27
工具与框架
Hugging Face TRL、DeepSpeed Chat、ColossalAI等框架的协同训练支持。
28
开源项目实战
基于开源项目搭建一个简单的SFT+RLHF协同训练流水线。
29
前沿趋势
DPO、KTO等替代方法,以及它们与SFT的协同可能性。
30
课程总结与未来展望
协同训练的最佳实践总结,未来研究方向(如多模态协同)。