为什么要增量预训练(Pretrain)?
预训练学知识,指令微调学格式,强化学习对齐人类偏好;
所以要想大模型有领域知识,得增量预训练。
进行增量预训练需要做哪些工作准备?
1、模型底座选型
2、数据收集
3、数据清洗
增量预训练训练流程是怎样的?
1、数据预处理
2、分词器
3、原始模型
4、训练参数
5、观测训练进展
6、模型转换
7、模型测试
增量预训练一般需要多大的数据量?
首先要确保足够大的数据集,至少有几B的token;
否则几十条数据的情况土建使用模型微调;
增量预训练过程中,lr如何设置?
学习率是一个很重要的参数,因为lr的大小会出现以下问题:
- 如果lr过大,那loss值收敛会更困难,旧能力损失的会更大;
- 如果lr过小,那可能难以学到新知识;
当数据集比较小的时候,建议使用较小的学习率。如果可以使用pre-train阶段最大学习率的10%。通常7B模型pre-train阶段的学习率大概是0.0001,所以我们可以选择0.00001。
并且需要根据你的Batch size做相应缩放。通常lr缩放倍数为Batch size倍数的开方。比如Batch size增加4倍,学习率对应扩大2倍即可。