Loss Function才是深度学习涌现关键:超越模型参数的优化艺术

IMG_256

大语言模型中的涌现能力(Emergent Ability)研究指出,伴随着模型参数的增大会出现能力涌现。但过去的观察却发现:1)小模型也可以在涌现出的能力上有较高的表现;2)用于衡量这些能力的指标存在非连续性。

为了更深刻地理解这个问题,我们训练了30多个不同模型参数和数据规模的语言模型,并评估了他们在 12 个英文和中文数据集上的表现。我们观察到,涌现现象与 pre-training loss 有比较密切的关系。

基于这些观察,我们认为应当从 Pre-training Loss 的角度重新定义“涌现能力”:只有当 Pre-training Loss 低于某个阈值时,模型才具有该能力。

IMG_256

论文链接:https://arxiv.org/abs/2403.15796

1. 数据集

我们研究了语言模型在12个下游任务上的表现与Pre-training Loss之间的关系。实验中评估的英文和中文数据集见下表。

IMG_257

2. Pre-training Loss  vs 性能

在第一个实验中,我们训练了三个参数为1.5B、6B和32B的模型,

IMG_258

我们评估了训练过程中 checkpoint 在12个下游任务上的性能表现,如下图所示:

IMG_259

图:1.5B、6B和32B模型的性能与损失曲线。每个数据点代表三个模型之一的中间 checkpoint 的损失(x轴)和性能(y轴)。我们用黑色虚线标记随机猜测的结果。

通常情况下,随着训练损失的降低,任务性能会提高,这与模型大小无关。在MMLU、C-Eval、GSM8K和GSM8K-Chinese上,三种大小的模型在预训练损失降至约2.2之前都表现为随机水平,之后随着损失的增大,性能逐渐提高。

不同模型大小的 performance-vs-loss  数据点落在同一条趋势曲线上。也就是说,忽略颜色差异(模型大小),不同模型的数据点是无法区分的。例如,当训练损失降至大约2.00时,TriviaQA上的绿色和橙色点是无法区分的。这表明,模型在下游任务上的性能在很大程度上与预训练损失相关,而与模型大小无关。

我们发现不管是在中文,还是英文任务中,overall training loss 都是一个较好的指标。这说明,在多语言预训练中,英文和中文 tokens 的学习动态可能非常相似。

3. Tokens vs 性能

为了探究训练 tokens 量与模型性能之间的关系,我们用不同的tokens 量分别训练了 28 个相对较小的模型。

IMG_260

我们观察到的结果如下图所示:

IMG_261

与上一个实验观察到的结果相似,不同模型大小和训练 tokens 的数据点在很大程度上落在同一条趋势曲线上。换句话说,无论 tokens 数量和模型大小如何,具有相同 pre-training loss 的模型在 12 个下游任务上表现出相同的性能。

MMLU、C-Eval、GSM8K和GSM8K-Chinese 上的性能曲线并没有显示出上升趋势,这意味着这些模型在这四个任务上的性能接近随机。

为了验证我们的观察结果的普遍性,我们也对 LLAMA 系列模型做了分析,观察到基本一致的现象。

4. 涌现 vs 连续性指标

一种解释认为,涌现能力是由于研究者选择的非线性或不连续指标而产生的。

为此,我们针对MMLU 和 C-Eval 两个评测,选用三种不同的指标做实验,分别为 Accuracy、CorrectChoiceProb、BrierScore。其中

Accuracy 是原始的指标,为非连续的指标;

CorrectChoiceProb 为预测正确答案的概率,是连续性的指标;

BrierScore 是《Are Emergent Abilities of Large Language Models a Mirage?》中使用的连续性指标,是一个根据正确答案和非正确答案概率计算出来的量。

实验结果如下图所示:

IMG_262

可以看到,不管是非连续指标,还是连续指标,当 pre-training loss 达到某个转折点时,语言模型的涌现能力就会出现。连续指标无法消除观察到的转折点。

5. 不足

尽管我们做了以上研究,但仍存在不足。

首先,我们没有考虑不同的模型架构和训练算法。虽然我们验证在我们的模型和LLAMA 系列模型上成立,但我们不能保证在其他架构模型中依然有效。

其次以pre-training loss的视角研究涌现能力的缺点是,pre-training loss受到分词器和预训练语料库分布的影响。在不同语料库上训练的语言模型的pre-training loss值并不直接可比。一个可能的解决方案是在一个公共验证集上评估不同的语言模型,使用归一化的困惑度来考虑不同的词汇量。

另外,本文并不是在推动训练超出当前已有的参数规模和数据大小的模型。我们不能保证在更大规模的模型上会有新的转折点。此外,预训练也不是提高涌现能力的唯一途径。例如,指令微调也可以提高语言模型在未见任务上的零样本性能。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容