详细摘要 摘要
生成:2025-06-04 13:35摘要详情
- 音频文件
- Stanford CS336 Language Modeling from Scratch | Spring 2025 | Scaling laws 2
- 摘要类型
- 详细摘要
- LLM 提供商
- openai
- LLM 模型
- gemini-2.5-pro-exp-03-25
- 已创建
- 2025-06-04 13:35:11
摘要内容
概览/核心摘要 (Executive Summary)
本讲座深入探讨了大规模语言模型(LLM)的缩放法则(Scaling Laws)及其在实践中的应用,重点关注了超参数调优、模型参数化以及计算效率等问题。讲座首先回顾了Chinchilla等早期研究,并对其有效性提出疑问,随后通过分析Cerebras-GPT、MiniCPM、DeepSeek等近期模型的详细缩放研究案例,展示了现代LLM构建者如何运用缩放法则指导设计过程。核心讨论点包括µP(Maximal Update Parametrization)在稳定超参数(尤其是学习率)跨尺度调优中的作用和理论基础。研究表明,µP通过特定方式调整初始化和层级学习率,可以使得模型在宽度增加时,最优学习率保持相对稳定,从而简化大模型训练。此外,讲座还介绍了WSD(Warmup-Stable-Decay)学习率调度器,它通过分离预热、稳定和衰减阶段,使得在进行Chinchilla式数据与模型规模权衡分析时,能够以接近线性的成本估算不同数据量下的模型性能,避免了为每个数据点从头训练模型的巨大开销。案例分析显示,不同团队采用了多样的缩放策略:Cerebras-GPT和MiniCPM依赖µP稳定超参数;DeepSeek则直接对学习率和批量大小进行缩放分析;Llama 3等更新的模型虽然细节较少,但也进行了IsoFLOP分析。讲座最后深入剖析了µP的理论推导(基于激活值和梯度更新在初始化时保持Θ(1)的假设)及其在Transformer模型中的具体实现,并通过第三方研究(Lingle的预印本)探讨了µP的鲁棒性——它对某些架构变体(如SwiGLU)和操作(如不同批量大小)具有鲁棒性,但可能在RMSNorm增益、特定优化器(如Lion)或强权重衰减下失效。总体而言,讲座强调了精心设计的缩放策略和参数化方法对于成功训练高性能LLM至关重要。
动机与核心问题
讲座旨在探讨以下核心问题,以理解大规模语言模型(LLM)缩放的最佳实践:
* LLM缩放和超参数调优的最佳实践是什么?
* Chinchilla的缩放方法是否真的有效?(例如,IsoFLOP曲线是否能准确指导数据权衡?能否用于设定最优学习率?)
* 在训练和拟合这些模型时,我们能否节省计算资源?
* 我们是否应该选择特定的架构或参数化方法以实现良好的缩放性?
讲者提到,自DeepMind的Chinchilla论文(2022年)和ChatGPT出现后,LLM领域的竞争格局改变,许多前沿实验室对数据和缩放细节变得非常保密。因此,需要依赖其他公开来源了解实践中的缩放方法。
近期模型缩放实践案例研究
讲座重点分析了以下几个公开了详细缩放策略的模型:
Cerebras-GPT
- 模型概况:由Cerebras Systems开发,包含0.1到130亿参数不等的模型,采用Chinchilla法则进行训练(即token与参数量的比例接近最优)。
- 核心发现:使用µP(Maximal Update Parametrization,最大更新参数化)可以使模型缩放更加稳定和易于处理。
- 对比实验显示,使用µP的Cerebras-GPT(橙色线)相比标准参数化(蓝色线,Cerebras-GPT)以及Pythia、GPT-J等模型,在Pile测试集上展现出更平滑的损失下降曲线。
- µP的优势:Cerebras-GPT作者发现µP参数化能带来更可预测的缩放。标准参数化模型在预测的缩放点附近有较大振荡(可能因为需要随规模调整学习率),而µP模型(橙色线)更接近其缩放法则的拟合线。
- µP实施细节:
- Cerebras-GPT的附录G提供了µP与标准参数化(SP)的详细对比表,关键差异在于:
- 初始化:非嵌入参数通常以
1/宽度进行初始化。 - 学习率:层级学习率按
1/宽度进行缩放。 - 具体调整包括增加逐元素激活张量缩放、调整受影响层的初始化器、为特定层增加层级学习率缩放。
- 初始化:非嵌入参数通常以
- 超参数调优策略:结合µP与积极的缩放策略。
- 在4000万参数的代理模型(proxy model, $d_{model}=d_{model,base}=256$, $n_{layers}=32$, $d_{head}=128$)上进行200个样本的随机超参数搜索(训练6亿token,批大小13.1万token)。
- 获得的µP调优超参数为:$\eta_{base}=6e-3$, $\sigma_{base}=0.08$, $m_{emb}=10$。这些超参数随后被迁移到1.11亿至27亿参数的模型中。
- 这些值与Yang et al. (2021) 使用的超参数接近。
- Cerebras-GPT的附录G提供了µP与标准参数化(SP)的详细对比表,关键差异在于:
- 发言人观点:讲者认为Cerebras-GPT是µP的首批公开验证之一,并指出许多进行LLM缩放的实验室都密切关注网络参数化、初始化(随模型规模变化)以及层级学习率,以实现更稳定的缩放。例如,Llama 4据称使用了一种名为Meta P的µP变体。
MiniCPM
- 模型概况:由清华大学和Modelbest Inc.于2024年发布的小型、高性能语言模型(12亿和24亿参数)。其性能优于当时多数20亿参数模型,并能媲美许多70亿参数模型。
- 核心策略:通过精心的、广泛的缩放计算,并结合µP来稳定和简化缩放过程。
- µP应用:
- 其µP参数与CerebrasGPT类似:
Scale_emb = 12(CerebrasGPT为10),lr=0.01(CerebrasGPT为6e-3),init_std = 0.1(CerebrasGPT的 $\sigma_{base}=0.08$)。 - 具体操作包括:嵌入输出缩放、残差连接缩放、张量初始化(二维张量参数的初始化标准差设为
init_std/$\sqrt{d_{m}/d_{base}}$)、张量学习率缩放(二维张量参数的学习率调整为其他部分学习率的 $1/(d_{m}/d_{base})$ 倍)、LM Head输出缩放。
- 其µP参数与CerebrasGPT类似:
- 缩放策略:
- 使用µP进行初始化。
- 固定模型各部分的宽高比(aspect ratio)。
- 逐步扩大整体模型尺寸(从9M到0.5B参数进行试验性缩放,实际训练模型约为此最大试验模型的5倍)。
- 通过缩放分析直接拟合最优批量大小、学习率和token与模型大小的比率。
- 最优批量大小(Optimal Batch Size):
- 通过在三种模型尺寸(9M, 30M, 170M)上改变数据量和批量大小,观察损失变化,绘制3D图(批量大小 vs 处理数据量,颜色代表损失)。
- 识别每个数据量下的最小损失点,确定模型大小/数据集大小组合的“最优批量大小”。
- 遵循Kaplan 2020年的分析,绘制最优批量大小与最终损失的关系图,得到拟合趋势:
log(BS) = -6.24 * log(L) + 20.91。这表明随着损失降低,应以多项式级别增加批量大小。
- 最优学习率(Optimal Learning Rate):
- 根据µP理论,最优学习率应大致稳定。
- 实验结果(不同模型尺寸0.04B到2.1B的损失 vs 学习率图)显示,应用µP(Tensor Program)后,不同模型尺寸的最优学习率确实非常相似(约为0.01)。
- WSD(Warmup-Stable-Decay)学习率调度器:
- 动机:传统的Chinchilla式缩放分析需要为不同数据量目标从头训练模型(因余弦学习率调度在不同总步数下形状不同),成本高昂(从n到$n^2$)。
- WSD机制:将学习率分为预热(Warmup)、稳定(Stable)、衰减(Decay)三个阶段。其优势在于,可以从稳定阶段的任意检查点开始衰减,都能达到与完整训练到该数据点的余弦调度器相当的最优损失。
- 效果:允许研究者精确测量最优缩放特性,而无需为不同数量的token从头重新训练模型,从而使沿数据轴的缩放定律测量更加高效(线性成本 $O(mC)$)。
- MiniCPM使用WSD对6种尺寸(0.04B到2B)的模型进行数据和模型轴的缩放定律测量,每个模型从稳定训练阶段的10N到60N数据的检查点开始进行6次衰减。
- WSD调度器在稳定阶段损失下降较慢,但在衰减阶段损失迅速下降(约占总训练步数的10%)。
- Chinchilla式分析:
- 利用WSD学习率获得的数据点,拟合损失函数 $L(N,D)=C_{N}N^{-\alpha}+C_{D}D^{-\beta}+L_{0}$。
- MiniCPM作者采用了Chinchilla的方法1(下包络线法)和方法3(联合拟合)。
- 方法1显示数据带来的收益递减相对较低。
- 方法3(联合拟合,如"Ultratext"数据集的2D热力图所示)是其主要的缩放方法,拟合结果为:$\frac{7.54\times10^{-2}}{N^{0.30}} + \frac{2.92\times10^{-1}}{D^{0.30}} + 0.25$,$K^2 = 0.01$, $\eta = -0.00$, $\frac{D_{opt}}{N_{opt}} |_{C=10^{21}} = 95.60$。
- 结论:他们发现非常高的数据与模型大小比率,平均数据量应为模型大小的192倍,远高于Chinchilla的20倍。他们认为这与Llama 3等模型使用更高数据模型比的趋势一致,表明通过更仔细的优化,可能远超20倍的经验法则。
- 其缩放曲线拟合在不同模型尺寸和数据量下(如代码、英文Wikihow数据集)总体良好。
DeepSeek LLM
- 模型概况:由DeepSeek AI于2024年发布的70亿和670亿参数模型,在当时与其他开源LLM相比具有高性能,大致与同等规模的LLaMA 2模型相当。
- 核心策略:不使用µP,而是直接估算最优批量大小和学习率。
- 批量大小和学习率的缩放分析:
- 在小规模实验(算力预算1e17 FLOPs,模型177M FLOPs/token;算力1e20 FLOPs,模型2.94B FLOPs/token)上进行批量大小和学习率的网格搜索。
- 结果显示,在较宽的参数空间内,泛化误差保持稳定,表明在相对较宽的参数选择范围内可以实现接近最优的性能。
- 收集“接近最优”(最小损失0.25%以内)的模型数据点,拟合最优批量大小和学习率随训练FLOPs变化的曲线:
- 最优批量大小:$B_{opt}=0.2920 \cdot C^{0.3271}$
- 最优学习率:$\eta_{opt}=0.3118 \cdot C^{-0.1250}$
- 讲者对学习率拟合的可靠性表示了一定的怀疑(“看起来有点可疑”)。
- 类WSD学习率调度器:
- 采用多步学习率调度器:2000步预热达到最大学习率,处理80%训练token后降至最大学习率的31.6%,处理90% token后再降至10%。梯度裁剪设为1.0。
- 这种调度器通常能匹配余弦学习率的性能,并有助于进行Chinchilla式分析。
- 数据规模权衡分析(Chinchilla方法2):
- 采用直接的IsoFLOP式分析来选择模型规模的权衡。
- 绘制不同总计算预算下的IsoFLOP曲线(验证集上每字节比特数 vs. 非嵌入FLOPs/token)。
- 推导出最优模型规模(非嵌入FLOPs/token)和最优数据规模(Tokens)随总训练FLOPs变化的线性趋势(对数-对数坐标)。
- 缩放预测最终模型损失:
- 拟合的缩放模型(基于小规模实验)能够准确预测DeepSeek LLM 7B和67B的最终泛化误差(验证集上每字节比特数)。
其他近期模型的缩放提及
- Llama 3 (Meta, 2024):
- 进行了IsoFLOP式缩放分析(验证损失 vs 训练Token数),近似测量使用二阶多项式。
- 发现最优数据与模型大小比率约为39:1。
- 研究了计算量到下游任务准确率的缩放关系(通过负对数似然NLL转化)。
- Hunyuan-Large (Tencent, 2024):
- 针对MoE(Mixture of Experts)模型进行了IsoFLOP式缩放分析(训练损失 vs 激活参数量)。
- 得出最优激活参数量与最小计算预算的缩放关系。
- 最优数据与激活参数比率为96:1。
- MiniMax-01 (MiniMax, 2025):
- 研究了不同注意力架构(Softmax Attention, Lightning Attention, Hybrid-lightning)的缩放法则。
- 采用Chinchilla方法1(下包络线)分析损失、最优模型参数量、最优训练token数与计算量(PFLOP/s-days)的关系。
- 结论是Lightning Attention和Hybrid版本与Softmax Attention性能相当。
近期缩放法则配方总结
- CerebrasGPT:使用µP使超参数对规模不敏感;直接使用Chinchilla缩放公式。
- DeepSeek:假设多数Transformer超参数对规模不敏感;对批量大小/学习率进行缩放分析确定最优缩放;IsoFLOP分析确定模型规模;使用分段线性调度使Chinchilla缩放成本降低。
- MiniCPM:使用µP使Transformer+学习率对规模不敏感;使用分段线性调度为Chinchilla方法3(曲线拟合)获取样本。
- Llama 3 / Hunyuan:近期(2024年末+)但细节较少;主要是IsoFLOP分析。
- MiniMax:关注架构选择/决策的缩放。
深入理解与验证 µP (Maximal Update Parametrization)
µP旨在实现“尺度不变”的超参数调优,核心思想是使模型在宽度增加时,最优学习率保持稳定。
µP 的理论基础 (基于 Greg Yang 等人的 "A Spectral Condition for Feature Learning")
µP基于以下两个关于网络宽度 $n_l$ 的断言:
1. A1: 初始化时激活值应保持 $\Theta(1)$ (即有界常数)。
* 对于单个激活值坐标而言。如果激活向量范数为 $||h_l||_2$,则应为 $\Theta(\sqrt{n_l})$。
2. A2: 一次梯度步骤后,激活值的变化量也应为 $\Theta(1)$。
推导 µP (条件 A1 - 初始化):
* 考虑深度线性网络 $h_l = W_l h_{l-1}$,初始化 $W_l \sim N(0, \sigma^2 I_{n_l \times n_{l-1}})$。
* 随机矩阵理论表明 $||W_l|| \rightarrow \sigma(\sqrt{n_{l-1}} + \sqrt{n_l})$。
* 且 $||h_l||2 \approx ||W_l|| ||h||2$。
* 若选择初始化标准差 $\sigma = \frac{\sqrt{n_l}}{\sqrt{n$。}}}(\sqrt{n_l} + \sqrt{n_{l-1}})^{-1} = \Theta(\frac{1}{\sqrt{n_{l-1}}} \min(1, \sqrt{\frac{n_l}{n_{l-1}}}))$,约等于 $1/\sqrt{\text{fan-in}
* 通过归纳法,假设 $||h_{l-1}||2 = \Theta(\sqrt{n)$,满足A1。}})$,则可以证明 $||h_l||_2 = \sqrt{n_l} + o(\sqrt{n_l
推导 µP (条件 A2 - 更新):
* 权重更新 $\Delta W_l = -\eta_l \nabla_{h_l}L \cdot h_{l-1}^T$ (对于SGD,秩为1)。
* 激活值更新 $\Delta h_l = W_l \Delta h_{l-1} + \Delta W_l (h_{l-1} + \Delta h_{l-1})$。
* 目标是使 $\Delta h_l$ 的范数为 $\Theta(\sqrt{n_l})$。
* 关键在于选择学习率 $\eta_l$ 使得 $|| \Delta W_l ||* \sqrt{n)$。}} = \Theta(\sqrt{n_l
* 假设损失更新 $\Delta L = \Theta(1)$,且 $\Delta L = \Theta(\langle \Delta W_l, \nabla_{W_l}L \rangle)$。
* 对于SGD,推导出学习率 $\eta_l = \Theta(\frac{n_l}{n_{l-1}})$ (即 fan-out / fan-in)。
* 对于Adam优化器,学习率应为 $\Theta(\frac{1}{n_{l-1}})$ (即 $1/\text{fan-in}$)。
µP 小结:
* 初始化:设为 $\Theta(\frac{1}{\sqrt{n_{l-1}}} \min(1, \sqrt{\frac{n_l}{n_{l-1}}}))$。
* 学习率:SGD设为 $\frac{n_l}{n_{l-1}}$;Adam设为 $\frac{1}{n_{l-1}}$。
* 与标准参数化(SP)相比,SP通常初始化为 $1/\sqrt{n_{l-1}}$,学习率设为 $\Theta(1)$。主要区别在于Adam的学习率调整和当fan-out $n_l$ < fan-in时的初始化差异。
Cerebras-GPT中的µP实现 (回顾):
* 嵌入层特殊处理,其范数不随词汇表大小线性缩放。
* 其他所有层的权重初始化按 $1/\text{width}$ 缩放,学习率也按 $1/\text{width}$ 缩放(针对Adam)。
* 表格显示了SP和µP下各组件(嵌入、LN、偏置、MHA、QKV、O、FFN1、FFN2、输出logits)的初始化和学习率公式。例如,MHA中的注意力缩放从 $1/\sqrt{d_{head}}$ (SP) 变为 $1/d_{head}$ (µP)。QKV权重LR从 $\eta_{base}$ (SP) 变为 $\eta_{base}/m_{width}$ (µP)。
µP 的大规模探索 (Lucas Dax Lingle的预印本)
该研究旨在通过大量实验验证µP的有效性及其鲁棒性,主要关注宽度缩放(深度L=24固定,宽度M在{128, 512, 2048}间变化)。
* µP的有效性:实验表明,在µP下,学习率确实可以在模型尺寸间可靠迁移。小模型(宽度128)的最优基础学习率能直接预测大模型(宽度512、2048)的最优值。
* µP对架构变体的鲁棒性:
* 非线性激活函数:SwiGLU、Squared ReLU与基线ReLU在µP下具有相同的最优学习率,且SwiGLU和Squared ReLU性能略优。µP迁移有效。
* 批量大小:增大或减小4倍批量大小,µP迁移仍然有效。
* 初始化变体:如SP Unembedding Init(输出层使用 $1/M$ 而非 $1/M^2$ 初始化)、Zero Query Init(查询矩阵置零),µP迁移均有效。
* µP不具鲁棒性的情况:
* RMSNorm Gains (可学习增益):若RMSNorm层包含可学习的增益参数(无论是向量还是标量形式),并且这些增益的学习率按 $\Theta(1)$ 缩放,则µP的最优学习率迁移会失效。移除这些增益后,µP恢复有效,且移除增益对最大µP模型性能影响甚微。
* 奇异优化器 (Exotic Optimizers):如Lion优化器(基于梯度符号),µP迁移失效。这符合预期,因为µP是为特定优化器(如AdamW)设计的。
* 强权重衰减 (Strong Weight Decay):例如0.1的解耦权重衰减,µP迁移失效。这是少数几个显著的µP失败案例之一。
* µP的实用性:
* 与标准参数化(SP)相比,SP在不同宽度下最优学习率变化显著,若使用相同学习率,大模型性能会急剧下降或崩溃。
* µP即使在扩展到100亿参数模型时,最优基础学习率($2^{-6}$)依然保持稳定。
* 当前证据表明,µP参数化/初始化可能更容易调优。
实践中的缩放挑战与解决方案回顾
- 设置模型架构超参数(宽度等)
- 设置优化器超参数(学习率、批量大小)
- 拟合Chinchilla式大规模扫描所需的计算量
一些解决方案:
1. 假设稳定性(或使用µP)。
2. 在小规模上搜索最优学习率/批量大小,然后固定或预测其缩放。
3. 使用替代学习调度(如WSD类)以降低拟合缩放定律的成本。
讲者总结,获取正确的学习率(以及批量大小)是核心关切之一。µP通过操纵初始化和层级学习率这两个“自由变量”,试图实现学习率的尺度不变性,从而简化实验。
核心观点总结
大规模语言模型的缩放是一个涉及多方面权衡的复杂过程。µP参数化通过调整初始化和层级学习率,为稳定超参数(尤其是学习率)跨不同模型宽度提供了有效途径,其理论基础在于控制激活值和梯度更新的尺度。WSD学习率调度器则显著降低了进行Chinchilla式数据-模型规模分析的计算成本。Cerebras-GPT、MiniCPM和DeepSeek等模型的案例研究揭示了不同的实用缩放策略,包括µP的应用、直接拟合超参数缩放曲线以及IsoFLOP分析。尽管µP在多种情况下表现鲁棒,但也存在其局限性,例如在引入可学习的RMSNorm增益或使用特定优化器时可能失效。总体而言,精心设计和验证的缩放策略对于经济高效地训练强大的大型语言模型至关重要。