欢迎关注我的公众号“ NLP前沿 ”,日更最新论文/博客速读,周更AI领域近一周发生的那些事儿 。欢迎投稿! 行文仓促,有理解错误,欢迎指正 !
https://arxiv.org/pdf/2403.08763
挺长的一篇关于Continually Pre-train的实验性的文章,42页,这里写一下重要结论。
Continually Pre-train 一般是基于开源模型,在一个新的数据集上继续预训练,这个过程分为弱迁移以及强迁移,对应的就是数据差异大不大,比如基于llama3,微调中文的数据集,就是强迁移。
结论一 :warmup的时间对最终迁移的影响不大。下面上下2张图,分别对应弱迁移和强迁移;左右2张图,分别表示,原始预训练阶段的的数据集对应的损失,右边的表示新领域的数据集的损失。,warmup不同的比例,最终收敛后,达到的损失都差不多。
结论二 :预热到最大学习率在衰减是非常有必要的,几条线,分别测试达到第一阶段学习率的0.5、1、2,以及不进行warmup。进行了warmup的右边2副图明显损失更低,对新领域适应的更好。但是这里跟旧领域的损失之间有个平衡。
结论三 :数据重播,预训练数据的混合比例测试,混合的比例越高,遗忘的越少,但是同等算力下,新领域适应的就越差。领域接近的cpt,大概用5%,领域差的多的用25%
结论四 :预训练学习率用余弦衰减或者无限学习率再退火能达到相同的效果。学习率分为4个阶段,线性上升阶段,冷却阶段,稳定阶段,退火阶段。
结论五 :无限学习率更好的进行下游的cpt,因为可以直接取退火前的ckpt继续预训练,这样持续训练到最后在退火,跟3次重新warmup cosine衰减得到的损失是一致的。
最终的一个迁移结果,如下表,2阶段cpt可以达到跟混合的600b数据一起训练几乎相同的结果。