科学家们进行试错程序,这些试验多次导致科学突破。同样基础研究提供了开发大规模人工智能系统的理论见解,从而减少了所需的试错量,并且非常具有成本效益。
微软团队调整了成本太高而无法多次训练的大规模神经网络。为此采用了一种特定的参数化,该参数化在不同的模型大小中保持适当的超参数。使用的 µ-Parametrization是一种在无限宽度限制内学习所有特征的独特方法。研究人员与 OpenAI 团队合作,测试该方法在各种实际案例中的实际效益。
研究表明,训练大型神经网络,因为行为随着规模的增长而变化是不确定的。许多作品建议尝试在初始化时保持激活尺度的一致性的启发式方法。然而随着训练的进行,这种一致性会在不同的模型宽度上中断。
此外训练行为更难进行数学分析。为了最大限度地减少数值上溢和下溢,该团队旨在实现可比较的一致性,以便随着模型宽度的增加,训练期间激活尺度的变化保持一致并类似于初始化。
它们的参数化确保了训练期间的完全一致性。它基于两个关键见解:
- 当宽度很大时,梯度更新的操作与随机权重不同。这是因为梯度更新基于数据并包含相关性,而随机初始化则不包含相关性。因此必须以不同的方式缩放。
- 当宽度较大时,不同形式的参数响应不同。虽然参数通常根据权重和偏差进行划分,前者是矩阵,后者是向量,但有些权重在大宽度情况下表现得像向量。
这些关键见解促使研究人员创建了 µP,以确保具有不同且足够大宽度的神经网络在整个训练过程中表现相似。这使得它们收敛到一个理想的极限(特征学习极限),而不仅仅是在整个训练过程中保持激活尺度一致。
缩放理论允许创建一种跨模型大小传输训练超参数的方法。如果不同宽度的 µP 网络具有可比的训练动态,它们可能具有相似的最优超参数。因此应该简单地将最好的超参数从一个小模型应用到一个更大的版本。然而研究结果表明,P 可以在没有替代初始化和学习率缩放规则的情况下完成相同的结果。这种实用的方法被称为“ µTransfer ”。
通过在 PyTorch 默认值和 µP 的初始化和学习率缩放之间进行插值来更改参数化。µP 实现了模型的最佳性能。此外对于给定的学习率,更广泛的模型总是表现更好。
µTransfer自动运行用于 Transformer 和 ResNet 等高级设计。它还可以同时传输大量超参数。它基于张量程序的理论基础。张量程序 (TPs) 的概念使研究人员能够计算任何通用计算图的极限,因为它的矩阵维度变得巨大,就像 autograd 使从业者能够计算任何通用计算图的梯度一样。当应用于神经网络初始化、训练和推理的底层图时,TP 方法给出了重要的理论结论。
缩放现代神经网络需要的不仅仅是宽度。该团队还考虑了如何通过将 P 与非宽度维度的基本启发式方法相结合,在实际训练环境中使用 P。
该团队将经过验证的单独超参数组合在一个更现实的场景中。为了直接调整它,比较了 µTransfer(将调整后的超参数从小型代理模型传输到大型目标模型)。在这两种情况下,调整都是使用随机搜索完成的。
在机器翻译数据集 IWSLT14 De-En 上将相对调整计算预算与调整后的模型质量(BLEU 分数)进行了比较。结果表明µTransfer 的计算效率提高了一个数量级左右(以 10 为底),可以在所有计算预算水平上进行调整。
据研究人员称,从头开始实施 µP(启用 µTransfer)可能很困难。为了解决这个问题,设计了 mup 包,以使从业者能够将 P 合并到自己的 PyTorch 模型中,就像 PyTorch、TensorFlow 和 JAX 等框架使 autograd 成为给定的一样。
这种新技术可以通过大大降低预测要使用的训练超参数的需求来加快对 GPT-3 等大型神经网络以及可能更大的继任者的研究。该团队认为将 TP 理论扩展到深度、批量大小和其他尺度维度,将是未来大型模型超越宽度的可靠扩展的关键。
该团队已经在 GitHub 网站上发布了一个 PyTorch 包,该包提供了将技术集成到现有模型中的说明。
论文:
https://www.microsoft.com/en-us/research/uploads/prod/2021/11/TP5.pdf
Github:
https://github.com/microsoft/mup
参考:
https://www.microsoft.com/en-us/research/blog/µtransfer-a-technique-for-hyperparameter-tuning-of-enormous-neural-networks/?OCID=msr_blog_enormousneuralnetworks_TW