原文:https://zhuanlan.zhihu.com/p/707751901
1 背景
去年,国内大模型赚钱最爽的一个方向,就是卖数据。
我也跟一些卖数据团队咨询过,他们把国内各个你能想到的主流中文平台的数据都爬下来,打包卖了。国内的头部玩家,手头数据是一定不缺的,买就行了。
同时,这些玩家显卡资源管够的情况下,肯定是会把能train的数据都train一轮。除非是预训练数据有大的更新,例如清洗的质量更高了,生成数据有大的突破。或者训练手段有大的迭代,重训大模型的价值是在不断降低的。
但底座模型的通用能力,本身就是有上限的,它就是做不到所有都很强。我们想要把某个领域加强,别的领域就或多或少的会被影响。
从2022年这篇OpenAI这篇论文开始,Training language models to follow instructions with human feedback。Aligntment Tax就一直存在。

但很多场景,例如,教育,代码场景,用户的需求往往比较集中。那么保证通用能力不跌很多的情况下,努力把domain效果提上去就好了。
也就是做continue pretrain(领域大模型)
以及,从反馈来看,如果发现continue pretrain后,domain和通用效果都涨了,大概率是底座通用domain训练的不够充分。除此之外,英文到中文的continue pretrain,例如:把llama增训成中文(国内很多公司的操作,这并不丢人,效果还挺好)、long context的continue pretrain。
近期邀请了张舸、浩然、刘乾等人,关于continue pretrain做了一个小范围分享,具体参看论文。
https://arxiv.org/pdf/2406.01375
https://arxiv.org/abs/2404.03608
以及,我们科研小团队,在long context continue pretrain也有一些踩坑经验。
得到了一些比较有趣的结论,这里把不敏感信息分享给大家。
2 continue pretrain的步骤
continue pretrain的步骤整体分成三步。
2.1 扩词表
不建议去轻易扩词表,满足以下两个条件,可以去尝试。
底座模型的词表跟你的domain的词表分布差距很大,增训的domain语料足够多。
大部分词表都是有基础字的,比如原来 「北京」 -> [12, 15]。扩了词后,现在假设变成了「北京」-> [10233]。这种因为动了高频词,刘乾试过各种warmup,frozen,都是想要有正面作用,需要训练更久的时间。
但多语言的continue pretrain,很多小语种的语料就这么点,还没变正向,样本就用完了。。
还有一种情况,大家可以试试,就是你扩充的都是低频词,原有的高频字/词不被影响。
大家还是选一个词表好的底座模型来做continue pretrain更合适,对比于底座训练不充分,词表的坑更大。
2.2 Domain Continue Pretrain
这里参考了张舸和浩然,刘乾他们两个方向的工作。小马过河,大家自行判断和尝试了。
2.2.1 Replay
需要采样pretrain阶段的数据。
还有一个潜在的坑,现在的pretrain往往会在最后阶段混入sft数据,关于这个的合理性,我在之前的文章中有过讨论。
<
最低0.47元/天 解锁文章
897

被折叠的 条评论
为什么被折叠?



