人工智能咨询培训老师叶梓 转载标明出处
为了解锁大模型在特定下游应用中的全部潜力,通常需要通过微调(finetuning)来适配任务。尽管微调已成为一种常规做法,但关于不同微调方法的归纳偏差,尤其是规模特性的理解仍然有限。为了填补这一空白,一篇由Biao Zhang、Zhongtao Liu、Colin Cherry和Orhan Firat撰写的论文《WHEN SCALING MEETS LLM FINETUNING: THE EFFECT OF DATA, MODEL AND FINETUNING METHOD》,在ICLR 2024上发表,系统地研究了不同的规模因素,包括LLM模型大小、预训练数据规模、新的微调参数规模和微调数据规模,对微调性能的影响。
设置
研究者们选择了机器翻译和多语言摘要作为微调的下游任务,基于以下几个原因:
- 这些任务需要处理跨语言理解与生成问题,这些问题在技术上具有很高的复杂性并且颇具挑战性。
- 这些任务在自然语言处理(NLP)领域已经非常成熟,并且有大量的微调语料库可用。
对于机器翻译任务,研究者们采用了WMT14英语-德语(En-De)和WMT19英语-中文(En-Zh)数据集。而对于多语言摘要任务,他们将多语言摘要数据集的德语、西班牙语(Es)和法语(Fr)部分与CNN/Daily-Mail英语数据集合并,形成了一个统一的数据集,简称为MLSum。在MLSum中,不同语言的数据集被直接串联起来进行训练和评估,每篇文章的前面都加上了一个指示语言的提示,例如“Summarize the following document in {lang}:”。
在预训练阶段,研究者们使用的模型是一个仅解码器的Transformer,具有多查询注意力机制,并使用修改后的UL2目标进行训练。为了确保研究结果的普遍性,研究者们预训练了两组双语LLMs,即英语-德语和英语-中文LLM。预训练数据是两种语言的单语数据混合,使用了大约280B(英语-德语)和206B(英语-中文)个token来预训练相应的LLM。模型参数大小从1B到16B不等,通过改变模型配置实现。所有LLMs都使用Adafactor优化器进行了一个训练周期,并在余弦学习率衰减计划下进行优化。
研究者们主要研究了三种微调方法的规模:
- 全模型微调(Full-Model Tuning, FMT):这是最传统的微调方式,简单地优化所有LLM参数。
- 提示调整(Prompt Tuning):在输入嵌入前添加一个可调的“软提示”,并将其与输入嵌入连接后提供给LLM。在微调期间,只优化提示参数。提示长度默认设置为100。
- 低秩适应(LoRA):更新预训练模型权重,使用可训练的秩分解矩阵对权重进行调整,而不是修改LLM输入。在微调期间,只有分解矩阵是优化的。
![](https://i-blog.csdnimg.cn/direct/51b0741466564187bed8f64e2749a92b.png)
研究者们探索了四种不同的规模因素,如表1b所示。所有实验都基于相应的1B LLM进行,除非是LLM模型规模的实验。对于预训练数据规模的实验,由于计算预算限制,采用了中间预训练检查点作为代理。
评估使用基于开发集上的token级困惑度(PPL)的最佳检查点。对于规模法则,研究者们报告了测试集上的PPL;对于一般生成,使用了贪婪解码,并分别报告了翻译和摘要的BLEURT和RougeL分数。对于零样本评估,使用了Flores200,并在多种语言对的翻译中进行了评估。为了评估规模法则,研究者们将经验数据点分为两组,经验拟合和保留集,前者用于拟合规模参数,后者用于评估。为了减少噪声,进行了三次运行,每次使用不同的随机微调数据子集,并报告平均性能。在对MLSum进行采样时,保持了不同语言的混合比例固定。
为什么选择乘法联合规模法则?
研究者们在本研究中考虑了四个规模因素,但联合建模所有这些因素在时间和资源上都是耗费巨大的。因此,他们选择将微调数据作为关键因素,并分别与其他每个因素进行联合规模分析。
研究者们首先独立地检查了不同LLM模型大小下微调数据规模的单一变量公式,即 +E。这里,A、β 和 E 是使用Huber损失和L-BFGS算法估计的参数。图1展示了这种单一变量公式在不同模型大小和微调方法下对LLM微调数据规模的描述非常准确,预测误差很小。
![](https://i-blog.csdnimg.cn/direct/31bc8f61f2584e48aceb40d1a89c437a.png)
图1还显示了LLM模型大小的一些规模模式,表明存在一个联合规模法则。研究者们探索了两种公式:乘法(如公式1所示)和加法(如Hoffmann等人(2022)所描述),并通过实证实验进行比较。
在这两种公式中,α 和 β 分别反映了因素X和微调数据大小对性能的影响,这些是因素特定的。E是一个模型和任务依赖的项,描述了不可减少的损失。研究者们注意到,β 和 E的含义在不同的因素X上是通用的,因此他们提出首先基于LLM模型和预训练数据规模的结果来估计它们。
![](https://i-blog.csdnimg.cn/direct/52ba67e8be534794ab2e2e8c4f8deff9.png)
为了减少过拟合并提高外推能力,研究者们采用了联合拟合损失方法,即在不同的因素X上固定 β 和 E,然后分别重新拟合其他参数。表2显示了两种联合法则表现相似,但乘法法则在平均外推误差上略低。因此,研究者们选择了乘法法则用于后续分析。
通过上述分析研究者们得出结论,乘法联合规模法则更适合描述LLM微调的性能,因为它在实证数据上的外推误差更低,并且能够更好地捕捉不同因素之间的相互作用。这种法则有助于更准确地预测不同规模设置下的微调性能,从而为实际应用中的模型选择和资源分配提供指导。
![](https://i-blog.csdnimg.cn/direct/3cd665390f3e48e78cc190cc0fd2270b.png)
图2展示了在WMT14 En-De、WMT19 En-Zh和MLSum数据集上,使用乘法联合规模法则拟合的LLM模型大小和微调数据规模的结果。图中的∆e和∆h分别表示拟合数据和保留数据上的绝对平均偏差,而和β分别表示LLM模型大小和微调数据规模的规模指数。研究者们在1B到16B的LLM上进行了工作。这些图表和数值结果进一步验证了乘法联合规模法则的有效性和适用性。
大型语言模型微调的规模结果
研究者们展示了LLM模型大小、预训练数据和PET(参数高效调整)参数规模在WMT14英语-德语(En-De)、WMT19英语-中文(En-Zh)和MLSum数据集上的实证结果。这些结果通常与PPL(困惑度)分数高度相关。拟合的规模参数总结在表4中。
研究者们提出的乘法规模法则能够捕捉不同因素与微调数据大小之间的规模关系。在每组实验中,他们保留了一些数据点作为保留集,以展示拟合和预测能力。图3展示了预训练数据大小与微调数据大小的乘法联合规模法则,其中是预训练数据大小的规模指数。
![](https://i-blog.csdnimg.cn/direct/990ef16f0af04026b761388e050b3429.png)
- FMT(全模型微调):在WMT En-De数据集上,当模型大小为1B时,e=0.005,h=0.006,表明模型在拟合数据和保留数据上的表现相近,拟合误差和外推误差较小。
- Prompt(提示调整):在WMT En-De数据集上,e=0.007,h=0.006,显示了与FMT相似的趋势。
- LoRA(低秩适应):在WMT En-De数据集上,e=0.006,h=0.008,同样显示出较小的误差。
研究者们发现,在微调中,LLM模型规模的增加比预训练数据规模的增加对性能的提升更为显著。尽管在预训练阶段,模型大小和数据大小对规模的影响相似,但在微调中,模型大小的规模指数通常大于预训练数据大小的规模指数
,即
。这表明在微调中,使用更大的LLM模型比使用更大的预训练数据集更受青睐。
对于LoRA和Prompt,增加PET参数规模(即增大提示长度或LoRA的秩)对微调性能的提升非常有限。图4和表4显示,增大PET参数规模的影响微乎其微,规模指数远小于
在某些情况下(例如En-De上的LoRA)甚至出现了逆向规模效应。
![](https://i-blog.csdnimg.cn/direct/33ff6588c16f4daeb5c74957b42d9183.png)
微调数据规模对FMT的影响比对PET更为显著。表4显示,FMT的规模指数β通常显著高于PET,表明FMT更依赖于更多的微调数据。LoRA在微调数据规模上的表现通常略优于Prompt,后者在只有几千个微调样本时表现更好。
研究者们注意到,规模效应的高度依赖于具体任务。他们选择的封闭生成任务(翻译和摘要)可能会产生有偏见的观察结果,对于更具创造性的生成任务,更大和更多样化的预训练数据可能更为重要。
微调方法的选择应基于可用的微调示例数量。当只有几千个微调示例可用时,应首先考虑PET,无论是Prompt还是LoRA。随着数据集规模的增加,LoRA由于其稳定性和稍好的微调数据规模性能而更受青睐。对于百万级别的数据集,FMT可能是一个好选择。另外微调对基础LLM的泛化能力的影响是方法和任务依赖性的,总的来说Prompt和LoRA在大型基础LLM上比FMT表现更好,这主要是因为LLM参数被冻结,学到的知识得到了继承。这表明,当泛化能力是一个重要考虑因素时,应考虑使用PET。
总结与讨论
研究者们指出,虽然从直觉上看,存在一个临界点,在这个临界点之上,某种微调方法的性能会超过另一种方法。但是,由于联合规模法则的高度非线性,使得人们无法通过分析方法直接确定这些点。尽管当两种方法之间的性能差异固定时,微调数据大小遵循幂律,研究者们还是通过外推拟合的规模法则来采用经验方法。
![](https://i-blog.csdnimg.cn/direct/367e28a8441147c0a9baaa3aa24d55e5.png)
图5展示了在不同任务上,基于拟合的联合规模法则估计的不同微调方法之间的关键微调数据大小。使用scipy.optimize.fsolve
进行估计。"A vs. B"的关键点是指在基线模型条件下,A和B性能相等的微调数据大小(y轴),这个值在不同任务中差异很大。
研究者们建议,微调方法的选择应基于微调样本的可用性。当只有几千个微调样本时,应首先考虑PET(参数高效调整),无论是Prompt还是LoRA。当数据集略大时,由于其稳定性和稍好的微调数据规模性能,LoRA更受青睐。对于百万级别的数据集,全模型微调(FMT)将是一个好的选择。
研究者们还探讨了微调对基础LLM泛化能力的影响。尽管针对特定任务的数据进行微调可以提高该任务的性能,但可能会使基础LLM专业化,从而损害模型的泛化能力。研究者们通过对在WMT14 En-De和WMT19 En-Zh上微调的LLMs进行零样本翻译来检验这一点。他们专注于对相关任务的泛化,其中目标语言是共享的,即德语(De)和中文(Zh),泛化应该相对容易。
![](https://i-blog.csdnimg.cn/direct/039cac8e5ba0488ea134146a1e34c819.png)
图6展示了结果。尽管专门针对下游任务进行微调,微调仍然可以激发并改善对密切相关任务的泛化,尽管整体零样本翻译质量较差。值得注意的是,微调是否有利于泛化取决于方法和任务。总体而言,特别是当基础LLM较大时,Prompt和LoRA比FMT取得了相对较好的结果,这主要是因为LLM参数被冻结,学到的知识得到了继承。这也表明,当泛化能力是一个重要考虑因素时,应考虑使用PET。
由此得出结论,微调方法的选择应基于特定任务的需求、可用数据量以及对模型泛化能力的考量。此外,微调对模型泛化能力的影响是多方面的,需要在具体应用中仔细权衡。通过这些深入的讨论,研究者们为LLM微调方法的选择提供了有价值的见解,并指出了未来研究的方向。
论文链接:https://arxiv.org/abs/2402.17193