揭秘Continually Pretrain技巧,让你的chinese llama3模型更上一层楼

人工智能与算法智能内容智能应用

欢迎关注我的公众号“ NLP前沿 ”,日更最新论文/博客速读,周更AI领域近一周发生的那些事儿 。欢迎投稿! 行文仓促,有理解错误,欢迎指正


        
          
https://arxiv.org/pdf/2403.08763  

      

挺长的一篇关于Continually Pre-train的实验性的文章,42页,这里写一下重要结论。

Continually Pre-train 一般是基于开源模型,在一个新的数据集上继续预训练,这个过程分为弱迁移以及强迁移,对应的就是数据差异大不大,比如基于llama3,微调中文的数据集,就是强迁移。

结论一 :warmup的时间对最终迁移的影响不大。下面上下2张图,分别对应弱迁移和强迁移;左右2张图,分别表示,原始预训练阶段的的数据集对应的损失,右边的表示新领域的数据集的损失。,warmup不同的比例,最终收敛后,达到的损失都差不多。picture.image

结论二 :预热到最大学习率在衰减是非常有必要的,几条线,分别测试达到第一阶段学习率的0.5、1、2,以及不进行warmup。进行了warmup的右边2副图明显损失更低,对新领域适应的更好。但是这里跟旧领域的损失之间有个平衡。

picture.image

结论三 :数据重播,预训练数据的混合比例测试,混合的比例越高,遗忘的越少,但是同等算力下,新领域适应的就越差。领域接近的cpt,大概用5%,领域差的多的用25%

picture.image

结论四 :预训练学习率用余弦衰减或者无限学习率再退火能达到相同的效果。学习率分为4个阶段,线性上升阶段,冷却阶段,稳定阶段,退火阶段。

picture.image

结论五 :无限学习率更好的进行下游的cpt,因为可以直接取退火前的ckpt继续预训练,这样持续训练到最后在退火,跟3次重新warmup cosine衰减得到的损失是一致的。

picture.image

最终的一个迁移结果,如下表,2阶段cpt可以达到跟混合的600b数据一起训练几乎相同的结果。picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生机器学习系统落地和实践
机器学习在字节跳动有着丰富业务场景:推广搜、CV/NLP/Speech 等。业务规模的不断增大对机器学习系统从用户体验、训练效率、编排调度、资源利用等方面也提出了新的挑战,而 Kubernetes 云原生理念的提出正是为了应对这些挑战。本次分享将主要介绍字节跳动机器学习系统云原生化的落地和实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论