大模型的学习率很难试。每个候选值都要消耗昂贵算力,在小模型上调好的数字,直接拿到大模型又可能发散。μP 把问题往前移了一步。它会按网络宽度改变不同参数的初始方差和学习率,让各层的更新对激活产生近似不随宽度变化的影响。

我查了 Tensor Programs V 论文的迁移流程、超参数分类和大模型实验。论文把这套参数化称为 Maximal Update Parametrization,简写μP。实际流程叫μTransfer,先把目标模型按μP 实现,再缩小宽度或深度做代理模型,调好参数后直接复制到大模型。

参数化方式会改变最佳学习率

论文先在标准参数化里训两层 MLP,宽度从 256 增到 8192,最佳学习率移动了约一个数量级。小模型的最佳值用到最大模型,表现会很差,甚至发散。μP 对照中,宽度 128 与 8192 的最佳学习率保持稳定,同一组参数下,更宽的模型也持续不差于较窄模型。

Transformer 版本不只改一个全局学习率。输入、输出和隐藏权重要按各自形状缩放,论文还把注意力分数从除以维度开方,改成除以维度。只给学习率乘一个系数,其他参数仍按普通方式初始化,得不到论文里的稳定迁移。

能迁的内容也有清单。学习率、动量、Adam 的 beta、学习率调度、初始化方差和部分权重乘数是论文重点。Dropout、权重衰减等正则化参数不会稳定迁移,因为它们同时受模型大小和数据量影响。宽度、深度、批量、序列长度和训练时间属于迁移跨过的规模,也不是要原样复制的超参数。

论文还用 400 万参数的代理 Transformer 为 4000 万参数模型调参,在 IWSLT14 德英翻译里比同算力预算下直接调大模型更稳。WMT14 实验则从 1500 万参数代理模型迁到 2.11 亿参数模型,三组随机超参数候选就能追平 fairseq 默认设置。小模型调参仍有抽样误差,候选组数太少时,大模型直接调可能略好,只是成本高得多。

大模型实验有收益,也有口径差异

论文用约 1300 万参数的 BERT 原型调参,同时迁到 1.1 亿参数的 BERT-base 和 3.5 亿参数的 BERT-large。总调参成本约等于完整训一次 BERT-large。迁移后的 BERT-large 预训练损失为 1.683,Megatron 默认结果为 1.731;直接用普通参数化做朴素迁移则发散。

GPT-3 6.7B 实验从约 4000 万参数的代理模型调参,代理模型小 168 倍,调参成本为总预训练成本的 7%。μP 版本在多个评测上超过论文已发布的 6.7B 结果。作者同时承认了对照限制,他们重跑的基线用了不同的位置注意力,μP 模型还因数值问题使用 FP32,原模型和重跑基线用 FP16。这些差异使它不是只改参数化的完美对照。

使用μP 时,应先检查模型是否完整按它的规则实现,再确认代理模型已超过太小而不稳定的范围。论文实验中,宽度约 256、深度约 4、批量约 32、序列长度约 128 和训练约 5000 步是开始看到稳定迁移的经验下限,这些值不是通用定理。

参考资料