多团队联合揭示“灾难性过度训练”现象,模型扩展需被重新审视

B站影视 港台电影 2025-03-31 22:07 1

摘要:模型训练,并非越多越好?近日,来自美国卡内基梅隆大学、斯坦福大学、哈佛大学和普林斯顿大学的研究人员发现一种名为“灾难性过度训练”现象。

模型训练,并非越多越好?近日,来自美国卡内基梅隆大学、斯坦福大学、哈佛大学和普林斯顿大学的研究人员发现一种名为“灾难性过度训练”现象。

他们发现在多个标准大语言模型基准测试中,OLMo-1B 模型在 3T tokens 上进行预训练后的性能水平,不如在 2.3T tokens 上进行预训练后的性能水平,甚至下降到了仅用 1.5T tokens 预训练后的性能水平。

结合实验结果和理论分析研究团队证明:之所以出现灾难性过度训练的现象,是因为预训练参数对于各种修改的广义敏感度出现了系统性增加。

大语言模型的预训练基于不断增长的 token 规模,其核心假设是——预训练阶段的性能提升,将会直接转化为下游模型的效果改进。

而本次研究团队不仅挑战了这一假设,并证明长时间的预训练会使模型更加难以进行微调,进而会导致模型最终性能的下降。

这说明:人们有必要针对预训练设计方案进行批判性重估,以便将模型的下游适应能力纳入核心考量。

核心发现:训练数据并非越多越好

此前,在“数据越多越好”的准则下,大模型厂商在扩展预训练和后训练方面投入了大量资金。

2022 年,曾有研究人员指出:每个模型参数大约分配 20 个 token 是最优比例。但是,当前模型的训练规模已经远远超过这一标准。

例如,Llama-2-7B 的训练使用 1.8T 的 tokens,这是上述推荐比例的 13 倍之多。而 Llama-3-8B 则在此基础上进一步扩大到 15T tokens。

这一趋势是由零样本性能的持续提升所推动的。然而,除了少数情况之外,事实上扩大规模并没有起到作用。

本次研究表明,当前广泛采用的语言模型预训练规模扩展策略,无法百分百地确保在后训练阶段提升模型性能。

为了理解灾难性过度训练现象为何会发生,研究团队设计了一些精心控制的实验。

其发现,在修改预训练模型的参数之后,会导致先前习得的能力被遗忘,这种遗忘程度取决于参数修改幅度的大小。

然而,影响遗忘的另一个关键因素则是渐进敏感性:即对于同等幅度的修改,经过更长时间预训练的模型表现出更大的遗忘幅度。

当训练后修改所导致的总遗忘数量,超过训练前取得的总进步数量时,就会出现灾难性过度训练。

尽管针对训练后参数修改的幅度加以限制,可以在一定程度上缓解这种退化,但是这也会导致预训练模型的适应能力和学习能力遭到限制。

同时,研究团队针对线性迁移学习设置进行了理论分析,以便精确地描述灾难性过度训练和渐进敏感性的特征。

通过研究增量式特征学习到底是如何引发渐进敏感性的,以及研究为何无法避免灾难性过度训练现象的背后原因,研究人员发现:微调过程中的正则化可以延迟模型的启动时间,但是会以牺牲下游性能为代价。

总体而言,本次发现挑战了“扩大预训练数据规模是绝对有益的”的这一普遍性假设。

首先,研究团队证明在现有语言模型和任务中普遍存在灾难性过度训练,这表明较长的预训练会在指令调优和多模态微调之后降低模型的性能。

其次,研究团队发现渐进敏感性是导致灾难性过度训练的关键机制,其中长时间的预训练会增加模型参数对于后续更新的脆弱性。

再次,研究团队在线性迁移学习框架下,针对灾难性过度训练进行了形式化表征,借此证明增量式特征学习会引发渐进敏感性,最终会导致模型性能的必然性退化。

长时间预训练或给后续训练造成负面影响

研究中,为了分析过度训练所带来的影响,研究团队针对三个具有开源中间检查点的语言模型开展实验,这三个语言模型分别是:OLMo-1B、OLMo-2-7B 和 LLM360-Amber-7B。

对于每个模型,他们都会在中间检查点上进行训练后处理。同时,他们使用 Anthropic-HH 和 TULU 这两个数据集来进行指令调优,并使用 LLaVA 视觉指令调优框架进行多模态微调,然后在每个数据集上训练每个中间检查点。

研究团队从以下两个关键维度评估模型性能:一是评估域内性能(ID,In-Distribution Performance),即基于一些微调任务进行评估;二是评估域外性能(ODD,Out-of-Distribution Performance),即基于一套包含推理、问答、常识和知识提取等十个常见大语言模型评估基准进行计算。

对于每个检查点研究团队都会调整学习率,并选择域内性能最佳的模型。需要说明的是,学习率指的是控制模型参数更新步长的超参数。

随后,在不同的预训练预算之下,他们比较了所训练的 OLMo-1B 模型的性能。

借此发现:当延长预训练时间的时候,确实会让基础模型性能得到持续提高。比如,在其所评估的所有下游任务中,模型性能均能得到持续性提升。

而过长的预训练,反而会损害模型在后续训练阶段的性能表现。

具体来说,在 Anthropic-HH 数据集上进行指令跟随微调后,与仅预训练 2.3T tokens 的模型相比,预训练 3T tokens 的基础模型的响应率降低了 3%。

在诸如 ARC-Easy、ARC-Challenge、HellaSwag 和 PIQA 等基准测试上评估时,研究团队发现在推理和问答等各种开放域对话任务上,模型性能也出现了类似的下降。

而对于多模态微调,其发现通过延长预训练时间,能够持续提高视觉语言模型性能分数。

然而,那些在更多 tokens 上进行预训练的模型,在各种域外性能基准测试中,表现出更大的遗忘幅度和性能下降。

在 PIQA 等数据集上,模型性能会出现严重下降,以至于在延长预训练时间之后,反而会损害后训练之后的模型性能。

这说明,虽然延长预训练时间确实能够提高预训练性能,但是这些提升并不都能转化为后训练性能的提升。

何时以及为何发生灾难性过度训练?

为了厘清为何在更多 tokens 上进行预训练、为何消耗了更多计算资源反而会降低性能的这一问题,以及这种情况到底何时会发生,研究团队深入探讨了这一现象。

研究团队将性能首次开始下降时的 token 训练量临界值称为“拐点”。需要注意的是,在各种下游评估任务中,即使是同一个模型其性能下降的具体表现也可能有所不同。

当研究团队针对 OLMo-1B 进行后训练以便进行指令调优和多模态微调,进而将其放在标准基准上进行评估时,他们观察到了灾难性过度训练现象。

于是,他们重点探讨了以下两个问题:灾难性过度训练发生于何时以及为何会发生?哪些因素会影响“拐点”的出现?

研究中,他们聚焦于针对不同数据集进行微调来修改预训练模型,同时还向模型权重添加了独立高斯噪声。需要说明的是,高斯噪声——是一种符合正态分布的随机扰动,常用于模型训练和鲁棒性测试之中。

研究中,他们研究了在高斯噪声扰动之下的过度训练效应,并构建了一个直观的理论图示。随后,在受控实验环境中将这一分析拓展至微调场景。

根据实验结果,其给出这样的总结:在 Anthropic-HH 和 TULU 等数据集上进行指令调优时,当 tokens 预算超过 2.5T tokens 时,OLMo-1B 模型会出现灾难性过度训练现象,这表现为模型在域内性能任务和域外性能任务上的性能下降。

对于多模态微调,OLMo-1B 模型在超过 2.5T tokens 时也出现了灾难性过度训练。然而,这种退化具有一定的任务依赖性,即尽管在某些泛化任务上模型的性能有所下降,但是在超过一定的 tokens 阈值后,模型的域内性能并未出现退化。

在相同的微调设置和评估设置之下,针对预训练 tokens 预算高达 3T tokens 的 OLMo-7B 模型,研究团队并未观察到灾难性过度训练现象。

基于这些观察结果,他们探索了以下问题:在预训练 tokens 预算更大的情况下,OLMo-7B 模型是否会出现灾难性过度训练现象?为什么在特定数据集上进行微调时某些下游任务更有可能出现灾难性过度训练现象?一些微调数据集是否更有可能导致灾难性过度训练?

为了回答这些问题,研究团队使用了单次训练运行中公开可用的检查点。由于退火调度策略,每个预训练预算都对应于不同的最终学习率。(注:退火调度,在物理学中是一种热处理工艺。但在大模型领域它是一种优化策略,通过逐渐降低某些参数来帮助模型实现更稳定的收敛。)

为了消除这一混淆因素,研究团队在由此前 Google 团队打造的 C4 数据集上,从零开始针对模型进行预训练。这些模型的大小从 15M 到 90M 参数不等,覆盖的 token 预算从 4B 到 128B 不等。

研究团队采用余弦退火调度策略进行训练,从而将每个模型的学习率逐渐退火至零,并基于多个数据集针对模型进行微调,同时在预训练权重上添加高斯扰动作为预热。

微调——是针对基于大量数据训练而来的预训练模型进行的某种修改,这些修改旨在提升某些特定的性能指标。然而,正如前人论文中所描述的:这类修改可能会无意中扭曲预训练知识,导致模型的域外性能出现下降。

因此,研究团队主要测量了修改后的下游模型的 C4 困惑度,以此作为衡量原始预训练知识保留程度的指标。困惑度,是衡量语言模型在预测下一个词时的不确定程度的一个指标。其发现,C4 困惑度的下降可能预示了这种知识的丢失,因此这可能会导致模型域外性能的下降。

与此同时,研究团队还通过困惑度指标,来评估模型在微调数据同分布测试集上的性能表现。

借此发现:在扰动量固定的情况之下,基础模型和扰动模型之间的困惑度变化,会随着预训练 tokens 的数量而出现单调递增。基于此,他们绘制了基础模型的绝对 C4 困惑度示意图。

其还观察到,基础模型的困惑度会随着预训练 tokens 数量的增加而降低。

在这一实验设定下,灾难性过度训练的产生源于两种效应的相互作用:即“噪声敏感性的渐进增强”与“基础模型随预训练进程的性能单调递增”。

警示:模型扩展需要被重新审视

总的来说,本次研究证明随着预训练 token 数量的增加,模型对扰动的敏感性会系统性增强,这一规律导致了灾难性过度训练的发生。

当预训练任务与微调任务存在目标偏差时,这种适应能力的退化会变得尤为严重。在此情况下,即便对微调过程施加正则化,灾难性过度训练仍然可能无法避免。

同时,研究团队证明灾难性过度训练有时只能通过正则化来缓解,但一些其他策略比如数据回放或线性探测微调可能会给保持预训练性能带来帮助。

此外,类似于 WiseFT 等方法在也有可能在出现灾难性过度训练情况时发挥作用。

最后,尽管本次工作主要关注在微调和简单扰动背景之下的灾难性过度训练,但这一现象也适用于语言模型参数受到扰动的其他情况,比如模型编辑或模型遗忘等。

因此,研究人员指出灾难性过度训练对于语言建模的未来发展具有重大影响。

那些为了高效部署模型而减少模型参数的做法,可能会加剧灾难性过度训练的负面影响,因为这会让模型对于参数变换越来越敏感。

此外,随着推理时动态推理(inference-time reasoning)技术、验证方法以及其他新兴后训练范式的面世,会让推理时间成本不断上升,也会加剧灾难性过度训练情况的出现。

总之,本次研究表明人们需要重新审视模型扩展,同时也需要认真考虑模型的整个训练流程。

参考资料:

运营/排版:何晨龙

来源:DeepTech深科技一点号

相关推荐