Advertisement

大语言模型的持续预训练

阅读量:

大语言模型的持续预训练

收录于合集#论文速递258个

概述

本文的研究背景在于大型语言模型的预训练过程通常需要从零开始进行大量计算工作以获取高质量的数据标注集,并且耗时费力。
为了提升效率并解决现有方法未能有效应对的问题,
作者提出了一种新的方法:
通过逐步递增学习率的方式实现对已有预训练权重的微调,
从而避免了传统方法中反复从零开始重新构建大规模数据集所带来的高计算成本。
这种方法不仅考虑到了计算资源的有效利用,
还具备良好的扩展性。
具体而言,
本文提出了一种基于线性启动阶段与余弦衰减策略相结合的预训练权重重置方法,
并在不同阶段引入不同的检查点以优化权重更新效果。
此外,
作者还尝试了多种不同的学习率设置以及重启动长度参数组合,
以探索最优的重启动策略。
为了验证该方法的有效性,
所有实验均在Pythia 410M语言模型架构上进行。
通过困惑度等指标评估发现:
虽然在初始阶段重启会导致上游与下游任务的数据损失有所增加,
但经过长期运行后会显著提升下游任务的表现水平。
与传统从零开始微调的方式相比,
该方法在大规模下游数据集上的性能表现更为优异。

图片

重要问题探讨

1. 为什么在预训练模型中加入新数据会导致在旧数据上的性能下降?

当在预训练模型中引入新的数据时,其可能导致的数据分布变化会引发一系列问题。这些引入的新数据所造成的分布偏移可能会影响模型对旧数据集的性能表现。具体而言,在这种情况下,原始预训练过程中获得的知识和表征可能与引入的新数据分布存在不匹配。

在进行新的数据集训练时为何需要调整并重新设置较高的学习率?答:当处理新的数据集时为何要提高学习速率的原因在于这些参数能够帮助模型更快地适应新的模式和特征变化,并且能够加速收敛速度以减少总的计算资源消耗和时间开销

3. 为什么在长期训练中重新增加学习率可以提高下游任务表现?

答:可能在初始阶段重新增加学习率会导致上游和下游数据可能被损失所影响;但经过长期训练则可使 downstream task 的 performance 被提升。这是因为随着 training 的推进 model 可能会被 training data 的 distribution 逐渐适应并学会更优地表示 features;这样 downstream performance 就会被 model 所提升。

4. 新数据的规模对于重新增加学习率的效果有何影响?

新数据的规模会对重新增加学习率的效果产生影响。较大程度的新数据可能会需要更长的重新增加学习率的阶段, 以便模型能够充分地适应新的数据分布。较小规模的新数据不需要重新增加学习率的过程, 因为模型能够迅速地适应新数据

相较于无预训练模型的纯数据训练方法而言,在使用预训练模型并融合新数据进行微调时会带来哪些具体的优势?

当使用预 trained 模型结合新数据进行 training 时...

论文链接:https://arxiv.org/abs/2308.04014.pdf

全部评论 (0)

还没有任何评论哟~