MiniCPM一直都是开源领域的小钢炮,其预训练报告中的发现也是非常值得大家阅读。
具体细节打击可以阅读原文,本文仅仅记录一下最终发现和结果。
- 1 最优的batch_size为4M Tokens。
- 2 最优学习率为0.01
- 3 最优学习率调度器为WSD
- 3.1 cosine调度器的step应该为训练全部step,loss才会降到最低。
- 3.2 WSD的第二阶段的loss比cosine高,但是第三阶段DECAY阶段只需要10%的Step的loss即可和cosine一致甚至更低
- 4 Batch_size调度,训练过程中逐渐扩大Batch_size会降低loss,但是这种结果不一定完全适用。
- 5 固定大小的模型持续训练最多可以达到5倍大模型的效果,拟合loss和计算量曲线得到;使用指数形式和幂律形式你和loss和计算量的曲线,幂律形式更佳。
- 6 持续友好的训练策略,DECAY退火阶段使用高质量数据效果非常好,例如在预训练时将SFT中的高质量数据放在DECAY阶段使用。