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。注意监控训练动态,防止过拟合或退化。

相关推荐
lzj_pxxw3 小时前
W25Q64存储芯片 软件设计刚需常识
stm32·单片机·嵌入式硬件·mcu·学习
Slow菜鸟3 小时前
AI学习篇(四) | AI设计类Skills推荐清单(2026年)
人工智能·学习
念恒123063 小时前
Python(列表进阶)
python·学习
QYQ_11274 小时前
嵌入式学习——杂项设备、Platform总线和设备树源文件
学习
wuxinyan1235 小时前
大模型学习之路03:提示工程从入门到精通(第三篇)
人工智能·python·学习
十安_数学好题速析6 小时前
【多选】曲线方程:四步避坑判断曲线类型
笔记·学习·高考
千寻girling7 小时前
五一劳动节快乐 [特殊字符][特殊字符][特殊字符]
java·c++·git·python·学习·github·php
波特率1152007 小时前
git指令学习
git·学习
eLIN TECE8 小时前
Golang 构建学习
开发语言·学习·golang