Command Palette
Search for a command to run...
小规模实验:我们到达彼岸了吗?
小规模实验:我们到达彼岸了吗?
Nicholas Lourie Kyunghyun Cho Karen Ullrich Sanae Lotfi
摘要
缩放定律曾承诺实现高性价比的实验;六年过去,这一承诺仍未完全兑现。相反,研究者发现缩放定律在小规模(从 4M 参数开始)下并不可靠,并据此认为无法回避较大规模的模型。我们证明事实并非如此:干扰因素在于超参数。小模型对超参数高度敏感,但这种敏感性会随规模增大而减弱。这种小规模敏感性使得缩放定律容易被忽视,因为它们只在充分调优的前沿上才会显现,而要达到该前沿所需的搜索范围远超大多数研究者实际执行的规模。通过对缩放定律基本流程进行消融分析,我们表明,经过良好调优的超参数比任何其他要素都更重要。此外,我们揭示了这些超参数为何随规模增大而更易找到:随着规模增加,超参数损失曲面变得维度更低。然而,尽管缩放定律在小模型中确实存在,外推仍会受到统计局限性的制约。因此需要一种整体性的方法。综合我们的见解与近期文献,我们提出了一套面向以模型为中心的研究的新方法论,并在一个曾耗费该领域数年才得以解决的问题上进行了演示:在 Transformer 架构中应将归一化层置于何处。通过小规模实验,我们复现了大规模下的结论:随着模型规模增大,前置归一化表现更优。借助正确的工具和更深入的理解,小规模实验能够兑现缩放定律期待已久的承诺。
一句话总结
Meta MSL 的 FAIR 与纽约大学的研究人员证明,造成 scaling laws 混淆的是超参数敏感性,而不是模型规模;他们提出一种以模型为中心的方法,从小规模实验中恢复出大规模结论:随着 transformer 模型增大,pre-normalization 效果更好。
核心贡献
- 论文表明,小模型只有在经过大量超参数调优后才可能呈现出 scaling laws;论文指出超参数是主要混淆因素,并报告称,经过良好调优的超参数比 scaling law 配方中的任何其他成分都更重要。
- 论文解释了超参数敏感性的规模依赖性:随着模型规模增大,敏感性减弱,超参数损失曲面变得更低维,因此在小规模上调好的配置迁移到更大模型时几乎无需调整。
- 论文基于这些见解开发了一种以模型为中心的小规模实验方法,并通过复现大规模发现来验证该方法,即随着 transformer 模型增大,pre-normalization 效果更好。
引言
基础模型高度依赖规模,这使大规模实验极其昂贵,因此研究人员一直希望进行廉价的小规模研究,并将发现迁移到更大的模型上。然而,scaling laws 在小规模上一直不可靠:有影响力的先前工作对参数与数据应如何扩展得出了相互矛盾的结论,后来的研究发现,用参数量约 1 亿或更少的模型拟合出的规律往往无法复现。作者将核心问题追溯到小模型中的超参数敏感性,并表明在严格调优下,scaling laws 可以向下延伸到约 4M 参数,这种模型在单块 GPU 上不到一小时即可完成训练。他们通过超参数损失曲面分析解释了这一行为:更大的模型变得更容易调优。主要贡献是一种面向模型研究的实用方法:在小规模上充分探索超参数,使用噪声二次极限、scaling laws 和困惑度与能力对应关系等诊断手段检查假设,然后用简单规则将所得见解迁移到大模型。
方法
作者提出了一种从小规模实验估计 scaling laws 的方法,强调超参数调优是关键因素。他们首先研究了参数定义的影响,指出注意力、嵌入和反嵌入层的不同选择对所得 scaling law 的影响很小。如下图所示,各种参数计数方式都能给出合理的 scaling laws,不过作者更倾向于有效参数(计入注意力和反嵌入但不计嵌入),以直接匹配每 token 的 FLOPs,保持 c=6pd 精确。
除参数定义外,作者通过具体方法选择改进了估计过程。尽管从每个规模的最佳运行结果中可以拟合出可识别的 scaling law,但进一步改进后精度显著提高。针对每个参数-数据预算调优超参数可将测试 MSE 降低 50%,对学习率进行衰减可将其降低 98%。而将缩放指数绑定 (ι=κ) 的结果并不一致。
小规模实验的核心方法论基于三个原则:能力仅取决于预训练损失;在严格调优下,scaling laws 可延伸至极小规模;模型随规模增大对超参数不再那么敏感。这意味着超参数损失曲面在更大规模下变得低维且更容易优化。因此,小规模需要大量搜索,而大规模更容易适配。
为演示该方法,作者进行了一项比较 pre-norm 与 post-norm transformer 架构的案例研究。他们在相隔较远的规模(4M、34M 和 134M 参数)上采样配置,以拟合并验证 scaling laws。他们使用一系列定性诊断来理解这些架构。首先,检查是否出现噪声二次极限,以表明调优是否充分。该极限在 pre-norm 中容易显现,而 post-norm 需要深入到尾部才显现,说明后者对超参数更敏感。
其次,他们研究超参数敏感性如何随规模变化。随着模型增大,良好配置应占据更多空间。虽然两种架构都呈现这一趋势,但 post-norm 仍保持一个次优峰,确认其调优难度持续存在。
第三,他们验证预训练损失能够跟踪下游能力。在各种任务和架构中,相同的预训练损失意味着相近的能力,这验证了将损失作为性能代理指标的合理性。
最后,他们通过按预算调优超参数并衰减学习率来估计 scaling laws,以相同的不可约误差联合拟合各 scaling laws,或令其自由变化,以在留出规模上验证外推。
实验
实验在从 4M 到 268M 参数不等的模型规模上使用随机搜索,并采用 warmup-stable-decay 调度,以研究 scaling laws 和超参数损失曲面。实验发现,参数定义等方法选择影响很小,而按预算进行超参数调优和学习率衰减可大幅提高 scaling law 的精度;在小规模上大量调优必不可少。随着模型增大,超参数损失曲面变得更低维、更不敏感,使更大模型更易调优。比较 pre-norm 和 post-norm transformer 的案例研究表明,pre-norm 的扩展更可靠且更易调优,不过 scaling laws 的外推在统计上仍然有限。