LLM学习-day04

如何训练一个LLM

数据准备

高质量数据是训练LLM的基础。

Pretrain阶段需要海量文本数据,通常来自公开数据集如Common Crawl、Wikipedia、BooksCorpus等。数据需经过清洗、去重、过滤有害内容等预处理步骤。

SFT阶段需要人工标注的高质量对话或指令数据。数据规模较小但质量要求极高,通常由专业人员编写或筛选。

RLHF阶段需要人类反馈数据,包括排序或评分形式的偏好标注。

Pretrain训练

Pretrain采用自监督学习,通过预测下一个词的任务训练模型。使用Transformer架构,在分布式计算集群上运行。关键参数包括batch size、learning rate、dropout等,需根据硬件条件调整。

训练目标是最小化交叉熵损失函数:

其中表示第i个词,表示前文。

SFT微调

SFT阶段使用监督学习微调Pretrain模型。输入是指令或问题,输出是期望的回答。训练数据形式为对,x是输入文本,y是目标输出。

损失函数与Pretrain类似,但只计算y部分的损失: M是y的长度。

RLHF优化

RLHF分为奖励模型训练和策略优化两步。奖励模型训练使用人类偏好数据,学习一个映射的函数,r表示回答质量。

策略优化通过PPO算法微调SFT模型,最大化奖励同时限制与SFT模型的KL散度: 其中是归一化后的奖励,是调节系数。

评估与迭代

每个阶段都需要严格评估。Pretrain评估困惑度(perplexity),SFT评估任务完成率,RLHF评估人类偏好得分。根据评估结果调整数据、模型架构或训练策略,形成迭代优化闭环。

训练过程需大量计算资源,建议使用分布式训练框架如Megatron-LM或DeepSpeed。注意监控训练动态,防止过拟合或退化。

相关推荐
遇印记5 小时前
传输层,网络层
运维·服务器·网络·windows·学习
clorinda7 小时前
PyQt5学习:从界面搭建到与机器学习实战
学习
欣欣之王来了8 小时前
Vue3项目脚手架:Vite vs Vue CLI怎么选?
前端·学习·架构·项目·vue3教程
kaixin_啊啊8 小时前
【零基础学AI】第 7 章——让 AI 辅助学习和办公
人工智能·学习
信奥卷王8 小时前
[GESP202506 六级] 学习小组(含视频)
学习
宛 禾10 小时前
Qt 控件入门:QLabel 从拖拽到对象树,一篇讲透
c++·qt·学习
无敌贵点大王10 小时前
嵌入式软件面试经(自用)
c语言·stm32·单片机·学习·mongodb·面试·职场和发展
Xudde.10 小时前
PwnLab: init 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
我命由我1234511 小时前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
别动我齐刘海11 小时前
实时控制学习2
linux·c++·人工智能·学习·算法