该如何调好数据混合比例训练大模型?

前言

当对一个垂直领域进行继续预训练完后,大模型的通用能力会被遗忘,为此惯用的技巧是混一些通用能力+领域内的数据一起训练,这样的话既能学习新领域知识又能维持住通用能力。

但是混合的比例该是多少呢?混太多领域内数据势必会造成通用能力下降,相反又会造成领域内知识学习不充分,同时不同参数量大小的模型对混合比例的感知可能也是不一样的以及混合比例也要考虑你手上已有的可用数据量级供你源源不断的使用(因为不可能有无限的数据)等等。

那么这些所有因素之间的关系(或者业界的专业术语叫Scaling Law曲线)到底是什么样的?今天就给大家带来一篇最新的paper,作者花了大量实验绘出了这条宝贵的Scaling Law。让我们对这些现象能够一睹为快。

论文链接:https://arxiv.org/pdf/2407.17467

方法

方法比较朴实:基于loss来说明一切。

过去已有一些工作证明了预训练的loss和下游的效果有着高度密切相关性。再说的直白点就是预训练loss的高低可以衡量模型的性能。作者所有的实验也是基于这个基础理论进行的即loss低了就认为模型性能被训练的还不错,反之亦然。注意这里说的loss是在验证集上的loss

关于这个理论笔者觉得是相对的,也就是你用的数据必须是高质量的,如果你的数据比较差模型拟合的越好反而不好。

因此作者通过观察领域(Domain)loss和通用能力(General)loss的变化来看两者能力的变化曲线。

数据方面作者先从百科全书、书籍、新闻、报纸和社交媒体网站收集了一个220B token的预训练数据(中文、英文、代码的占比分别是44%、36%、20%.)作为通用能力的训练数据。然后又收集了金融和学术paper(来自Arxiv)作为两个领域domain的预训练数据来实验。

训练方面作者先用220B预训练一个base模型,然后基于其热启进行本文的研究。

实验结论

论文中为了规范,给了大量的数学化定义,为了简单笔者这里就不一一说了(其实都很好理解,愿感兴趣的直接看原论文),直接给大家看关键结论。作者通过实验想回答两个核心问题:

(1)最好的混合比例是否存在?

(2)存在的话,这个混合比例是否可以被预测(这个问题有着重大意义,因为一旦可被预测就意味着我们可以天然的知道现有条件下我们最好的混合确切是多少?)

下面我们一个一个看实验曲线。

  • 混合比例是否存在

答案是存在。

∆Domain Loss指的是继续预训练后domain loss-没训练domain loss。因为domain训练后的loss后肯定比没训练的低,所以看到图中都是负数且愈来愈大。∆General Loss指的是继续预训练后通用能力loss-没训练通用能力loss。可以看到大部分变化趋势是先不变,然后开始上升最后趋于稳定。然后不同颜色种类代表不同规模的模型。不同颜色深度代表的是不同混合比例(domain数据的占比)

我们的目标是通过一个混合的比例训练后,domain的loss在不断降低且通用能力general loss保持不变或者稍微升一点(在一个可接受的∆区间内,具体公式见论文3.1节)

通过上图实验结果我们可以看到各个size的模型都存在多个混合比例可以满足上述目标(黄色箭头)且越大的模型存在的满足混合比例集合越多。

那么在这么多满足的混合比例集合中,哪一个最好呢?这里作者进一步定了一个概念也即这篇论文的核心***CMR:最大的那个临界比例就是最好的。***因为超过这个临界值,∆General Loss就不会收敛,小于这个临界值∆Domain Loss就不会下降的更好(领域知识学的不好)。所以这个值是最好的。

同时可以看到在混合比例是1/4的时候,四个不同size的模型在有限的训练数据集下都可以达到上述目标(出现了拐点),但是当混合比例上升到1/3时,460M的模型在当前的有限训练数据下没有出现拐点,也就是说***更大的模型可容纳更高的混合比例。***这其实也符合直觉,因为当模型小了后没有那么多容量来存放新的知识,只能以遗忘掉老知识为代价来存放新的知识。而更大的模型有更多的空余存储空间来记新的知识。

  • CMR是否存在可以被预先预测

答案是可以预测。即在给定一个规模size和最大可训练的步数(其实是取决于你手里有的最大数据是多少)下预测CMR是多少?

作者在上诉的两个领域都做了实验来证明结论的可靠性。

最关键的一张图来了也即混合比例的Scaling Law

这种图非常直观的给出了不同size以及不同数据量级下CMR的预测图。比如当T=100下对于460M、940M、1.6B、3.1B规模的模型其CMR分别是29.8%、34.9%、41.4%、47.8%。

同时作者也直观的给出了不同混合比例下General Loss在不同数据量级下训练的变化

上诉结果都是在为了进一步说明金融domain领域实验的,为了验证Scaling Law的普适性,作者进一步在第二个domain领域即学术paper进行了实验,发现同样存在可预测的Scaling Law(在460M下CMR是是36.69%)

不过论文也指出的不足就是没有在更大的模型规模上验证Scaling Law。后续工作可能会加上这方面的实验。

总结

论文的核心结论和实验图标就算给大家展示完了,更多图表和细节可以看原论文的正文和附录。

那么返回头来看,这篇paper的结论怎么指导我们在实际工作中落地呢?

这篇论文的更多价值在于给了我们一个定心丸即告诉我们最好的混合比例是存在的且是可以被预测的。但是具体是多少是没有一个定论的,不同domain的具体Scaling Law是不一样的,也就是说看完这篇paper不等于你直接就能得到一个确切的混合比例用在你的domain。它只是给了定性的结论和一些趋势(比如更大的模型通常会咋样等等)。

所以说当我们真的想实践得到自己的Scaling Law,那么大概率我们需要去做实验,画出几个关键点,然后拟合出曲线进而预测。

最后总结一下通过论文的实验我们大致可以得到几个比较有趣的定性结论:

(1)最好的混合比例是存在的且是可以被预测的。

(2)领域loss随着训练一版来说都是一直下降的,但是通用领域的loss是先保持不变然后开始下降。

(3)可训练的数据量以及模型规模和CMR都是呈现正相关的,比如更大的模型通常可以容纳更高的混合比例(当模型足够大数据足够多,那么理论上CMR可以是1),当拥有的domain数据量不是那么多的时候,CMR要低一些。

进而我们从论文中的实际数值得到的一些小经验是(不考虑不同领域带来的显著不同)在规模是3.1B时CMR就可以是47.8%左右,那么按照趋势当上升到7b以上这个比例可能达到50%也即1:1混合。当训练更大的模型时,还可以更高。同时这个比例是在可训练数据量达到20B左右的情况下的,当我们的训练数据没有这么大的情况下,按照Scaling Law,我们的混合比例还得进一步指数降低,之前笔者看做sft的话通用能力的数据最好占比不超过1/3。

关注

欢迎关注,下期再见啦~

知乎csdngithub微信公众号

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值