大语言模型的 Scaling:扩展方向、收益规律与训练配置
Scaling laws 的核心价值,是估计扩大模型与训练量的收益,并在计算预算内找到更好的配比。 它把"投入更多资源通常能降低损失"的经验,变成可以测量、拟合和检验的关系。这里的主要质量指标是语言建模交叉熵;具体任务是否改善,还要单独评估。
本文重点回答:新增参数应放在深度、主干宽度还是前馈网络(FFN)?模型规模与训练 token 怎样配比?上下文长度、batch 和学习率又怎样校准?讨论以稠密、自回归 Transformer 的预训练为主,从 Kaplan 与 Chinchilla 出发,结合架构实验说明哪些选择已有依据,哪些仍需试验。
全文的中心判断:模型容量、单次输入的信息范围、累计训练量是三个不同的扩展方向。先分清扩大了什么,再比较收益与成本,才能科学配置训练。
下面列出全文最重要的判断,后续各节解释依据与适用条件。
| 核心问题 | 可以带走的判断 | 依据的位置 |
|---|---|---|
| 规模增加有什么规律? | 纯幂律范围内,相同倍率的规模增长对应相同的相对损失下降;这不保证无限外推 | 第一节 |
| 参数如何扩大? | 标准结构且模块比例固定时,主干参数随层数近似线性增长,随主干宽度近似平方增长 | 第二节 |
| 应优先加深还是加宽? | Kaplan 的合理配置中,多种配比损失接近;后续实验发现排名可随规模改变,本文讨论的研究未确立统一最优比例 | 第三节 |
| 延长上下文扩大了什么? | 主要扩大单次预测的可见信息范围,同时增加激活与计算;通常不增加主干参数 | 第四节 |
| 模型与训练量如何配比? | Chinchilla 支持随预算近似同步扩大二者;约 20 token/参数是初始参考,最终配比要校准 | 第五、六节 |
| 考虑部署后怎样选? | 推理需求大时,达到同等质量的较小、训练更久的模型可能降低总成本 | 第七节 |
正文用"实验发现""理论推导""配置实例"和"本文建议"区分信息性质。实测结果说明测试条件下发生了什么;理论结论依赖模型假设;成功配置展示可行路径;配置建议则需要项目实验检验。
一、幂律如何描述规模收益
1. 模型规模、训练量和计算量怎样联系
参数量决定模型规模,累计 token 决定训练量,FLOPs 衡量二者共同产生的计算开销。 先约定三个核心量:\(N\) 表示模型参数量,\(D\) 表示训练累计处理的有效 token 数,\(C\) 表示训练计算量,以浮点运算次数(FLOPs)计量。这里的有效 token 不包括填充位置;数据重复出现时,每次实际参与训练都会计入累计处理量。模型效果先用固定验证集上的平均交叉熵损失 \(\ell\) 衡量,后续再检查具体任务的表现。
权重矩阵计算占主导时,训练成本近似与"参数量 × 累计 token"成正比。 常见稠密 Transformer 的初步估算为:
\C \\approx 6ND. \\
其中,约 \(2ND\) 对应前向计算,反向计算约为其两倍。这个式子适合初步分配预算;长上下文的注意力计算、输出词表投影、激活重计算等细节,可能使实际开销明显偏离它。Kaplan 与 Chinchilla 都使用了与这一估算相关的分析,但参数和计算的统计口径需要分别核对。[[1]](#[1])[[2]](#[2])
由此可以建立一个直接的认识:同一个模型多训练一些 token,需要更多计算;同样的 token 交给更大的模型训练,也需要更多计算。 因此,参数、训练量和计算量不是三个可以完全独立增加的旋钮。在固定计算预算下,增大模型意味着需要减少训练量,反之亦然。
更少 token 达到同样损失,说明数据效率更高;是否节省计算,还要比较参数量与 token 数的乘积。 例如,参数翻倍、所需 token 减半,估算训练计算量相近;参数翻倍而 token 只减少四分之一,计算量反而增加。因此,应同时观察损失随 token 和计算量变化的曲线。
2. Kaplan 怎样把规模经验变成可预测的关系
Kaplan 的实验发现:在各自的资源受限条件下,损失与参数、数据、计算的关系可以近似用幂律描述。 Scaling Laws for Neural Language Models (2020)研究能否通过较便宜的规模实验预测损失,再安排大模型的计算预算。其主要对象是自回归、Decoder-only Transformer,训练语料为 WebText2,绝大多数实验采用 1024 token 上下文,以留出文本上的平均交叉熵作为主要质量指标。[[1]](#[1])
参数、数据和计算的三条幂律分别回答不同问题,不能混用。 作者扫描至约 1.5B 非嵌入参数,数据子集约为 22M---23B token,并分别研究:
| 拟合关系 | 主要实验条件 | 回答的问题 |
|---|---|---|
| 参数与损失 | 数据充分,训练接近收敛 | 容量扩大能将损失降到什么程度? |
| 数据集规模与损失 | 模型容量足够,按测试损失早停 | 增加可用数据能带来多少改善? |
| 计算与最优损失 | 比较模型规模、训练长度与 batch 效率 | 给定计算预算,怎样取得更低损失? |
其他资源成为瓶颈后,不能继续套用原来的单变量拟合。[[1]](#[1])

图源:Scaling Laws for Neural Language Models (2020),图 1。三幅图的纵轴均为测试交叉熵损失,采用双对数坐标。左图的浅色曲线是不同训练过程,虚线描述经 batch 效率修正后的计算最优趋势;中图横轴为数据集 token 数;右图横轴为非嵌入参数量。中、右图考察的是其他资源不构成主要瓶颈时的关系,并不表示任意模型在任意训练阶段都位于拟合直线上。[[1]](#[1])
图 1 展示了多个数量级上的平滑趋势;在数据充分、训练接近收敛的参数受限实验中,拟合为:
\\\ell(N)\\approx cN\^{-\\alpha},\\qquad \\alpha\\approx 0.076, \\
其中 \(c\) 是与实验设置及参数单位有关的系数。数据集规模的幂律描述增加可用数据的收益,不能直接用于同一语料上增加训练轮数。 数据规模实验得到 \(\ell(D_{\mathrm{dataset}})\propto D_{\mathrm{dataset}}^{-0.095}\):这里的横轴是不同规模的数据子集,训练按测试损失早停。本文将其记为 \(D_{\mathrm{dataset}}\),以区别于后文表示累计处理量的 \(D\)。同一语料重复训练增加的是累计处理量,不能据此推断增加了同样多的独特数据。
Kaplan 的贡献,是在明确实验条件后,把"做大通常更好"变成可估计收益的关系。 指数衡量相对规模变化与相对损失变化之间的联系,理解这一点,比记住某个指数更有助于配置训练。
3. 绝对参数增长的收益递减,相同比例增长的收益稳定
纯幂律的数学结论是:每增加固定数量参数,收益逐渐减小;每扩大相同倍率,损失下降比例保持不变。 在幂律仍成立的范围内,把拟合视为 \(\ell(N)=cN^{-\alpha}\),其中 \(c>0\)、\(\alpha>0\)。如果增加固定数量的参数,损失变化取决于导数:
\\\frac{d\\ell}{dN}=-\\alpha cN\^{-\\alpha-1}. \\
随着 \(N\) 增大,导数的绝对值逐渐减小。这表示,在其他条件相应满足时,从 1B 增至 2B 所对应的损失下降量,大于从 100B 增至 101B 所对应的下降量。每次都增加 1B 参数,后一次的改善通常更小。
若考察固定倍率 \(k>1\),结论则不同:
\\\frac{\\ell(kN)}{\\ell(N)}=k\^{-\\alpha}. \\
右侧没有 \(N\)。取 Kaplan 的 \(\alpha=0.076\),每次参数翻倍,有:
\\\frac{\\ell(2N)}{\\ell(N)}=2\^{-0.076}\\approx 0.949. \\
只要同一个纯幂律拟合在所比较的范围内仍适用,1B→2B 与 100B→200B 都对应约 5.1% 的相对损失下降。 后一次需要新增 100B 参数,前一次只需新增 1B;而且两次的损失基数不同,所以绝对损失下降量也不同。固定倍率收益与绝对边际收益递减并不矛盾。

图中曲线按 \(\ell(N)/\ell(1\mathrm{B})=(N/1\mathrm{B})^{-0.076}\) 计算,属于数学示意,不是新增模型的实测结果。左图使用线性坐标,曲线逐渐变平;右图对两个坐标轴都取对数,同一条曲线呈直线。橙色和绿色点分别标出两次倍增,它们的损失比相同,但参数增量不同。将 1B 作为归一化基准,不表示原论文已验证到 200B。
双对数坐标的意义,可以直接从公式推出:
\\\log\\ell=\\log c-\\alpha\\log N, \\qquad \\frac{d\\log\\ell}{d\\log N}=-\\alpha. \\
在 Kaplan 的这个纯幂律拟合下,参数小幅增加 1%,损失约下降 0.076%。 上述对数导数称为损失对参数量的弹性,表示相对规模变化对应的相对损失变化。有限幅度应使用精确倍率关系,例如参数增加 1% 时,损失比为 \(1.01^{-0.076}\)。
指标边界:loss 下降约 5.1%,不等于准确率提高约 5.1%。幂律预测的是损失,任务收益必须通过任务评估确认。
4. 实验中的幂律,为什么不能无限外推
Kaplan 的实验没有证明参数扩大后可以永远按同一比例降低损失。 固定倍率的数学性质以"同一个拟合继续适用"为前提。Kaplan 的模型规模实验主要覆盖至约 1.5B 非嵌入参数;据此计算 100B→200B 的 5.1%,是在解释公式的性质,尚不能作为该规模下的实测结论。模型架构、数据分布、训练充分程度和损失统计方式改变后,系数、指数及可用范围都可能变化。
实验发现:可用数据固定时,继续增大模型会逐渐进入收益饱和区。 Kaplan 的联合规模实验观察到,小数据集上的曲线较早变平,更多数据则使参数扩展的收益延续到更大规模:

图源:Scaling Laws for Neural Language Models (2020),图 9。左图横轴为非嵌入参数量,纵轴为早停后的测试损失,不同颜色表示不同规模的数据子集。数据较少时,曲线随着模型变大逐渐变平;数据更多时,模型扩展的收益可以延续到更大规模。右图横轴为论文联合拟合中的 \(N^{\alpha_N/\alpha_D}/D_{\mathrm{dataset}}\),纵轴为有限数据损失相对于数据充分基准的额外比例,并不是训练损失与测试损失的差。该联合拟合的指数与单变量拟合略有不同。[[1]](#[1])
含非零损失下限时,固定倍率收益作用于"超过下限的损失",而不是总损失。 对 \(\ell(N)=\ell_0+cN^{-\alpha}\),有:
\\\ell(kN)-\\ell_0=k\^{-\\alpha}\\bigl(\\ell(N)-\\ell_0\\bigr). \\
此时,总损失的弹性为:
\\\frac{d\\log\\ell}{d\\log N} =-\\alpha\\frac{\\ell-\\ell_0}{\\ell}. \\
接近下限后,即使参数继续翻倍,总损失的相对改善也会趋小。 当损失接近 \(\ell_0\),上述弹性趋近于零,不再保持纯幂律的比例。Chinchilla 后续采用包含下限项的联合拟合;固定训练量时,其中的数据不足项也会成为参数扩展无法消除的常数项。拟合中的下限本身还有估计误差,不能把它当作已精确测定的语言建模极限。[[2]](#[2])
幂律适合在条件相近、实验覆盖充分的范围内预测,并通过更大规模的保留实验检验外推。 实践中既要观察拟合残差和曲率,也要确认更大模型没有转入数据受限、训练不足或不同成本结构的区域。比较验证损失时,还应固定分词器、语料与统计方式;每个 token 的定义改变后,损失数值不宜直接横向比较。
二、模型变大,究竟是哪些参数变多
1. 先把层数、宽度和序列长度分开
层数、主干宽度和 FFN 维度直接改变主干参数;序列长度与累计 token 分别改变输入范围和训练量。 本文采用以下符号:
| 符号 | 含义 | 对应的直观问题 |
|---|---|---|
| \(n\) | Transformer 层数,即深度 | 输入连续经过多少层变换? |
| \(d\) | 主干宽度,即 d_model |
每个 token 用多少维表示? |
| \(f\) | FFN 的中间维度 | 每层前馈网络的内部空间有多大? |
| \(h\) | 注意力查询头数 | 注意力分成多少个头? |
| \(T\) | 一条训练序列的实际长度 | 一次可以利用多少个位置的信息? |
| \(D\) | 累计训练 token 数 | 整个训练过程总共处理了多少 token? |
后续实验应分别记录这些变量,避免把延长输入、扩大容量和增加训练量统称为"增加 token"或"模型变大"。
2. 一层 Transformer 的参数来自哪里
Transformer 主干参数主要来自每层的注意力投影与 FFN 权重矩阵。 Attention Is All You Need (2017)用注意力组合不同位置的信息,用 FFN 对每个位置进行非线性变换,再堆叠这些模块完成序列转换。后续语言模型沿用这一主干,矩阵尺寸因而决定参数增长方式。[[3]](#[3])

图源:Attention Is All You Need (2017),图 1。左侧是编码器,右侧是解码器;框外的 \(N\times\) 表示重复堆叠次数,对应本文的层数 \(n\),并非参数量 \(N\)。原始解码器包含因果自注意力、访问编码器输出的交叉注意力,以及 FFN。本文主要分析的 Decoder-only 语言模型不含编码器和交叉注意力,每层通常保留一个因果自注意力与一个 FFN。后续模型也会调整归一化位置、FFN 与位置编码,因而原图用于解释模块来源,参数统计以实际结构为准。[[3]](#[3])
先考虑标准多头注意力:所有头拼接后的维度等于 \(d\),不使用分组查询注意力(GQA),也不计算偏置和归一化中的少量参数。查询(Q)、键(K)、值(V)和输出四个投影矩阵,各自约有 \(d^2\) 个参数,因此注意力部分约为:
\N_{\\mathrm{attn,layer}} \\approx 4d\^2. \\
普通 FFN 先把每个 token 的表示从 \(d\) 维映射到 \(f\) 维,经过激活函数后,再映射回 \(d\) 维。两个权重矩阵的参数量为:
\N_{\\mathrm{FFN,layer}} \\approx 2df. \\
于是,\(n\) 层主干的参数近似为:
\N_{\\mathrm{core}} \\approx n(4d\^2+2df). \\
若使用经典的 \(f=4d\) 配置,便得到:
\N_{\\mathrm{core}} \\approx 12nd\^2. \\
结构推导:保持 \(f/d=4\) 时,层数翻倍使主干参数约翻倍;主干与 FFN 宽度同步翻倍,使主干参数约为四倍。 这描述参数如何增长,尚不回答损失能改善多少。原始 Transformer 的结构与 Kaplan 的参数估算都支持这一计算方式。[[3]](#[3])[[1]](#[1])
例如,24 层、\(d=2048\)、\(f=8192\) 的主干约有 12.08 亿参数;加深至 48 层约为 24.16 亿,保持 24 层而将 \(d,f\) 同步翻倍约为 48.32 亿。这是参数估算,不是质量排名。
经典配置中,FFN 约占主干参数的三分之二;占比大不等于继续扩大它的收益最高。 每层 FFN 为 \(8d^2\),注意力投影为 \(4d^2\)。三个主要扩展方向的参数变化可直接对照:
| 扩展操作 | 保持什么不变 | 主干参数怎样变化 | 尚需实验回答的问题 |
|---|---|---|---|
| 加深:增大 \(n\) | \(d,f\) | 近似随 \(n\) 线性增加 | 更多连续变换是否改善当前任务? |
| 加宽:增大 \(d\),保持 \(f/d\) | \(n\) | 近似随 \(d^2\) 增加 | 每层更宽是否优于同参数的深窄模型? |
| 扩大 FFN:增大 \(f\) | \(n,d\)、FFN 类型 | FFN 参数随 \(f\) 线性增加 | 增加层内中间空间是否值得占用更多预算? |
这张表给出的是结构计算结果;第三节再比较收益证据。
3. 为什么现代模型的 FFN 不一定是四倍宽度
门控 FFN 多了一份投影矩阵,所以中间维度更小也可能拥有相同的参数预算。 Shazeer 在 GLU Variants Improve Transformer (2020)中研究一种门控设计:让两条输入投影分支逐元素相乘,其中一条经过激活,形成随输入变化的门控,再通过输出投影返回主干空间。这增加了一份矩阵,所以比较新结构时,需要同时调整中间维度,保证参数和计算预算相近。[[6]](#[6])
使用 SwiGLU 等门控 FFN 时,通常需要两个输入投影和一个输出投影,参数近似为 \(3df\)。为了与普通 FFN 的 \(f=4d\) 保持相近的参数预算,可以把门控 FFN 的中间维度设为约 \(8d/3\),再根据硬件要求取整。于是,两者的 FFN 参数都约为 \(8d^2\)。
实验发现:相近参数与计算预算下,SwiGLU、GEGLU 在该去噪预训练实验中优于 ReLU FFN。 论文采用 T5 式结构:主干宽度为 768,编码器与解码器各 12 层,普通 FFN 的中间维度为 3072,门控变体为 2048。在 524,288 步实验中,留出集的对数困惑度从 ReLU 基线的 1.677 降至 SwiGLU 的 1.636、GEGLU 的 1.633。这个结果支持的是相近预算下改变 FFN 结构的收益,并未单独证明不断加大 FFN 就能获得相同收益。[[6]](#[6])
LLaMA(2023)随后采用 SwiGLU,并相应调整中间维度。比较 FFN 的扩展,既要看中间维度,也要看矩阵数量和门控结构。 从 \(4d\) 改为约 \(2.67d\),不等于参数预算同比例缩小;比较不同模型的 intermediate_size 时,应先核对 FFN 类型。[[5]](#[5])
4. 注意力头、Embedding 和参数统计口径
固定主干宽度和注意力总维度时,增加标准多头注意力的头数,不会增加四个投影矩阵的参数量。 每头维度从 \(d/h\) 相应减小,只是重新划分同一个总维度。若同时扩大所有头的总维度,或改变 K/V 共享方式,参数统计才会随之改变。[[3]](#[3])
词嵌入必须计入实际模型容量与存储成本,但不能与主干参数不加区分地分析规模收益。 词嵌入矩阵通常有约 \(Vd\) 个参数,\(V\) 为词表大小。输出层若与输入嵌入共享权重,只计一份独立参数;若不共享,则还要加一份输出矩阵。即使共享参数,输出词表投影仍有计算开销。对于较小的模型,这部分可能占很大比例。
图 6 的实验发现:排除词嵌入后,至少两层的多数非极端模型更接近同一条损失---规模趋势。 左图计入词嵌入时,相同总参数量的不同层数模型损失差别较大;右图改用非嵌入参数,多条曲线更接近。左右图没有重新训练或删除嵌入,只改变了横轴的统计口径,同一模型的纵轴损失保持不变。

图源:Scaling Laws for Neural Language Models (2020),图 6。纵轴是测试损失,越低越好;颜色区分层数,每个点对应一个配置。左图横轴为"嵌入+非嵌入参数",右图只统计非嵌入参数;0 层模型没有对应的主干规模曲线,1 层模型仍明显偏离。两幅横轴的范围不同,应比较曲线是否重合,而非直接比较点在图片上的水平位置。[[1]](#[1])
浅而宽的模型中,\(Vd\) 可能占据很大比例。例如,两个模型主干参数相近时,更宽、更浅的那个可能仅因嵌入更大而拥有更多总参数。这会把它向左图右侧推移,却没有增加相同比例的主干变换。这张图支持"非嵌入参数在该实验中更适合预测损失",没有证明词嵌入无用,也没有测量增加注意力头的收益。
跨论文比较前,应先统一参数口径;MoE 还要分别报告总参数与激活参数。 Kaplan 使用非嵌入参数,不能直接与另一篇论文报告的总参数量比较。对于 GQA,应按实际 K/V 头数计算;对于混合专家(MoE)架构,应同时报告总参数和每个 token 激活的参数。例如 Mixtral 的总参数约为 47B,每个 token 使用的参数约为 13B,二者不能代入同一个稠密模型成本估算而忽略稀疏执行。[[1]](#[1])[[18]](#[18])[[19]](#[19])
三、增加参数时,加深、加宽和扩大 FFN 哪个更有效
本文讨论的研究没有给出"新增参数永远优先加深、加宽或扩大 FFN"的统一答案,但已经提供了可用于筛选配置的实验依据。 必须区分质量比较与预算比较:固定 token 时容量更大可能更好,固定计算时却可能因训练量减少而失去优势;相同参数的架构也可能具有不同的速度与推理开销。
因此,比较扩展方向时,至少要看两组结果:在相近参数量和训练量下,哪一种结构学得更好;在相同计算或实际时间预算下,哪一种结构最终更好。 前一组帮助理解参数分配,后一组帮助做资源决策。
1. Kaplan:测试的合理配置中,非嵌入参数量更能预测损失
Kaplan 的实验发现:固定非嵌入参数预算,在测试的合理配置范围内,多种深宽和 FFN 配比的损失接近。 论文第 3 节与图 5 比较深宽比例、FFN 比例和注意力头配置。图中有一组从 6 层、宽度 4288 到 48 层、宽度 1600 的模型,损失差异在约 3% 内;极浅等极端配置则会偏离这种近似。[[1]](#[1])
这一结果支持把合理的成熟比例作为起点:获得规模收益并不要求把所有新增参数集中在某个模块。它也没有消除对附近候选做进一步优化的价值。

图源:Scaling Laws for Neural Language Models (2020),图 5。纵轴是相对基准的损失增幅;左图改变 \(f/d\),中图改变 \(d/n\),右图改变每个注意力头的维度。中图的左侧偏向深而窄,右侧偏向浅而宽。比较时以非嵌入参数预算为约束,对少量参数差异使用规模拟合校正。曲线较平坦的区域表明多种配比表现接近,向极端配比移动时损失可能上升。这些曲线评价参数分配下的质量,没有测量训练速度。[[1]](#[1])
如何使用图 5:先排除极浅和极端深宽比例,再比较合理候选。曲线平坦说明附近配比质量接近,不代表它们运行一样快,也不代表更大规模仍保持相同排名。
2. 深度与宽度的收益,会随模型规模变化
后续实验发现:同参数预算下,深窄与浅宽模型的优劣可以随总规模改变。 Levine 等人的 The Depth-to-Width Interplay in Self-Attention (2020)专门研究这种变化。作者训练 6---48 层、约 1M---600M 参数的自回归 Transformer,使用 Wikipedia、BookCorpus 与 OpenWebText,并采用 2000 的较小词表,减少嵌入参数对主干比较的影响。[[7]](#[7])

图源:The Depth-to-Width Interplay in Self-Attention,arXiv 修订版 v3(2021),图 2。横轴为参数量,纵轴为测试损失;三个面板分别比较 6/12、12/24、24/48 层。沿单条曲线移动主要是在固定深度下增加宽度,比较同一横坐标上的两条曲线则是在相近参数预算下比较深宽分配。较小规模时曲线接近,部分区域更深配置稍差;规模增大后,更深配置出现优势,转变位置也随所比较的深度变化。
配置含义:小模型上最好的深宽比例,不能直接当作大模型上的最佳比例。 图 2 中,小规模时加深不一定占优;规模增大后,更深配置出现优势,而且转变位置随深度变化。作者对去除非线性和归一化的简化模型作了分离秩分析,解释深宽对输入依赖表达能力的影响;这是理论能力分析,不是实际损失的证明。超过实测范围的配比预测仍属于外推。[[7]](#[7])
工程判断:深度增加串行变换次数,宽度扩大单层矩阵;两者的速度不能只由参数量推断。 加宽可能提高大矩阵的执行效率,也可能增加单层显存与通信;加深则改变流水线划分和串行依赖。相同参数预算下的实际速度,需要在目标硬件上测量。
3. 大型模型实例显示了多种扩展路径
配置实例:GPT-3 与 LLaMA 都通过同时加深、加宽扩大模型,说明这是一条可行路径。 GPT-3(NeurIPS 2020)将参数从 125M 扩展至 175B,并在提示中提供示例进行少样本评估;LLaMA(2023)采用不同规模的深宽配置,同时强调让较小模型训练更多 token,以改善质量和部署成本。这些架构族没有隔离出一个通用最优比例。[[4]](#[4])[[5]](#[5])
以下配置展示了真实模型怎样扩大主干。表格中的参数量沿用各论文的报告口径,用于观察结构变化,不用于跨论文比较损失。[[4]](#[4])[[2]](#[2])[[5]](#[5])
| 模型 | 报告参数量 | 层数 \(n\) | 主干宽度 \(d\) | 可以观察到的扩展方式 |
|---|---|---|---|---|
| GPT-3 125M | 125M | 12 | 768 | 小规模起点 |
| GPT-3 1.3B | 1.3B | 24 | 2048 | 深度、宽度一起增加 |
| GPT-3 175B | 175B | 96 | 12288 | 继续同时加深、加宽 |
| Chinchilla | 70B | 80 | 8192 | 与 Gopher 对照时层数相同 |
| Gopher | 280B | 80 | 16384 | 宽度约翻倍,参数约为四倍 |
| LLaMA 7B | 6.7B | 32 | 4096 | 较小配置 |
| LLaMA 65B | 65.2B | 80 | 8192 | 同时增加深度与宽度 |
Chinchilla 与 Gopher 尤其有助于理解"参数增加在哪里":二者都是 80 层,主干宽度由 8192 增加到 16384,普通 FFN 的中间维度也由 32768 增加到 65536。主干参数近似随 \(d^2\) 变化,所以参数从约 70B 增至约 280B,是以加宽为主要结构变化的实例。
配置表展示"参数增加在哪里",受控消融才能回答"放在哪里收益更高"。 上述模型同时改变了多个训练条件,不能凭它们采用的比例判断同预算下的最优架构。
4. 扩大 FFN 是一条独立路径,但不能只看 FFN 维度
T5 的配置实例表明:层数和主干宽度不变,也能通过扩大层内维度大幅增加参数。 Raffel 等人的 T5(JMLR 2020)采用编码器---解码器,在 C4 等语料上预训练并评估任务迁移。作者同时考虑任务质量与 TPU 的矩阵执行效率,选择扩大层内计算空间。[[8]](#[8])
其 Large、3B 和 11B 配置均保持主干宽度为 1024,编码器与解码器分别保持 24 层,而 FFN 中间维度由 4096 增至 16384、65536。不过,后两种配置同时扩大了注意力内部的总维度。T5 展示了主干宽度不变时的内部扩展路径,但不构成只扩大 FFN 的独立消融。 主干每个 token 仍以 1024 维表示,层内则使用更大的中间计算空间,之后投影回主干;这种结构解释了为什么参数可以大幅增加,而 d_model 不变。[[8]](#[8])
\(12nd^2\) 只适用于特定模块比例,不能覆盖 T5 这样的层内扩展。 若注意力内部总维度为 \(d_{\mathrm{attn}}\),标准投影参数约为 \(4d\,d_{\mathrm{attn}}\);只有 \(d_{\mathrm{attn}}=d\)、普通 FFN 的 \(f=4d\) 时,才得到前述估算。
DeepSeek LLM 的配置实例说明:推理缓存与并行方式也会影响新增参数的放置位置。 其 2024 年论文中,7B 为 30 层、宽度 4096,67B 为 95 层、宽度 8192,二者采用约 \(8d/3\) 的 SwiGLU FFN。67B 减少 K/V 头以降低推理成本,作者将相应参数预算分配给深度,并考虑流水线切分。论文没有通过独立消融证明这项深度分配在同预算候选中最优。[[9]](#[9])
以下把证据直接对应到配置问题:
| 方向 | 本文讨论的研究已经说明什么 | 仍不能据此确定什么 |
|---|---|---|
| 加深或加宽 | Kaplan 的合理比例中损失接近;Levine 的实验中深宽排名随规模变化 | 不能指定所有规模都优先加深或加宽,也没有统一最优层数 |
| 增大 FFN 占比 | Kaplan 做过固定预算的比例比较;T5 展示了扩大层内维度的可行路径 | T5 同时扩大注意力内部维度,不能由它断定单独扩大 FFN 最优 |
| 更换 FFN 结构 | Shazeer 在相近预算下测得门控 FFN 优于其 ReLU 基线 | 改结构的收益不能等同于持续增加 FFN 维度的收益 |
| 增加注意力头 | 固定总维度时,不增加标准注意力投影参数 | 头数增加本身不能代表模型容量按比例增加 |
本文的配置建议:以成熟架构的比例为起点,在相近参数与训练量下比较"基准、深窄、较大 FFN 占比",再用实际预算比较入选方案。质量差距很小时,让吞吐、显存和推理成本参与决策。
这是一套筛选方法,不是论文已经证明的统一最优配方。
5. 一个可以执行的参数分配实验
比较参数分配时,应让候选的参数预算接近,使"多加参数"不能替代"分配得更好"。 下面是本文构造的实验示例,不代表已验证的最优配置。均采用标准多头注意力和普通 FFN,只计算主干参数:
| 候选 | 层数 \(n\) | 宽度 \(d\) | FFN 维度 \(f\) | 主干参数 | 主要比较目的 |
|---|---|---|---|---|---|
| A | 24 | 2048 | 8192 | 约 1.208B | 基准配置 |
| B | 43 | 1536 | 6144 | 约 1.217B | 更深、更窄 |
| C | 24 | 1792 | 10496 | 约 1.211B | 将更多参数分配给 FFN |
三者的主干参数差异不足 1%。实际执行时,还应把词嵌入、输出层计入统一口径,并按注意力头维度、张量并行和流水线划分要求调整候选。43 层只是为演示参数接近而选择的数字,未必符合目标硬件的最佳划分。
两轮比较承担不同任务:
- 比较质量: 固定数据、上下文与累计 token,做相近力度的学习率调优,比较验证损失和训练曲线。
- 比较成本收益: 固定实际 FLOPs 或 GPU 时间,比较最终损失,并记录吞吐与推理延迟。
若 C 在第一轮更好、第二轮更差,说明在该训练量下的质量优势不足以抵消执行成本。
固定参数预算的结构实验比较的是参数分配,而非孤立地增加某一个维度。 A 与 B 比较深宽分配,A 与 C 比较主干宽度和 FFN 的分配;一个部分增大时,另一个部分需要相应减少。
四、增加上下文长度,为什么不等于增加模型参数
1. \(T\times d\) 通常是表示张量的大小
\(T\times d\) 是输入产生的激活大小,不是主干参数量。 每一行对应一个 token 的隐藏表示;换一条输入,激活就会改变,模型使用的权重却可以保持相同。
例如,每个位置都经过同一个 \(d\times f\) 的 FFN 输入投影。序列从 1024 个位置增加到 8192 个位置,这个投影被调用更多次,但权重仍是同一份。注意力的 Q、K、V 投影也在位置之间共享。延长序列,主要让现有参数处理更多位置、建立更远的联系,而不会自动增加对应数量的主干权重。
可学习的绝对位置表是例外:扩展最大支持长度可能增加位置参数。 它通常有约 \(T_{\max}d\) 个参数;扩大这张表会增加参数,在已支持的范围内延长实际输入则无需改表。原始 Transformer 的正弦编码与 LLaMA 的旋转位置编码(RoPE)没有这样的逐位置可学习表。RoPE 上下文扩展主要涉及位置处理与训练适配。[[3]](#[3])[[5]](#[5])[[11]](#[11])
长序列提供更多可见信息,但只有新增信息与预测相关、且模型能利用它时,才有机会改善质量。 因此,延长输入解决的是信息范围约束,增加参数解决的是容量约束,应分别评估。
2. 单条序列更长,与总训练 token 更多,是两件事
增加 \(T\) 让一次预测看到更长前文;增加 \(D\) 让模型在整个训练中处理更多 token,二者可以分别改变。 假设累计训练量固定为 10 亿 token。可以主要用长度 1024 的片段训练,也可以主要用长度 8192 的片段训练。二者处理的总 token 数可以相同,但后者允许一个预测位置看到更长的前文,并形成不同的训练样本结构。
反过来,把上下文长度固定为 1024,多处理一批新的片段,就增加了总训练量 \(D\),却没有提高单个位置可利用的最大上下文长度。
因此,论文声称"扩大 token"时,应先确认它扩大的是历史窗口 \(T\),还是累计训练量 \(D\)。二者对应不同收益机制。

图源:Attention Is All You Need (2017),图 3。图中上下两行对应输入词的位置,线条展示编码器第 5 层、共 6 层时,词 making 对其他位置的注意力;不同颜色代表不同头。部分头对间隔较远的 more difficult 等位置赋予较高权重,展示了注意力组合远距离信息的一种具体行为。它属于内部注意力诊断,不是扩大窗口后的收益曲线,也不能单独证明某条连线决定了预测结果。诊断图帮助提出长距离信息利用的假设,受控截断与任务消融才能进一步检验它。[[3]](#[3])
3. 长上下文主要增加哪些计算与显存
单条序列的注意力计算随长度近似平方增长;固定累计 token 时,整个训练的这一部分开销随上下文长度近似线性增长。 对标准稠密自注意力,一层、一条序列的主要前向计算分为:权重投影和 FFN 约为 \(O(Td^2)\),位置之间的注意力约为 \(O(T^2d)\),这里假设 \(f/d\) 保持固定。
这意味着,单条序列长度翻倍时,第一部分约翻倍,第二部分约变为四倍。但若累计训练 token \(D\) 固定,序列条数大致减少一半,整个训练的注意力计算项只随 \(T\) 近似线性增加:
\C_{\\mathrm{train}} = O\\!\\left(nD(d\^2+Td)\\right). \\
这个数量级推导说明了比较时为什么要明确"固定序列条数"还是"固定总 token"。它也说明,同参数、同训练 token 的长上下文模型,仍可能使用更多 FLOPs。长上下文条件下,直接用 \(6ND\) 对齐预算可能不够准确。Kaplan 在参数与 FLOPs 估算中明确列出了上下文相关的注意力项,并在附录讨论了忽略它的条件。[[1]](#[1])
结构推导:同一上下文长度下,固定主干参数与累计 token,深窄模型的位置间注意力计算比浅宽模型更多。 在 \(N_{\mathrm{core}}\approx 12nd^2\) 的假设下,\(nd^2\) 固定,增加 \(n\) 就会增大 \(nd\);上下文计算项又与 \(nDTd\) 成正比。因此,上下文越长,这项成本差异越突出,质量收益则仍要实验比较。
FlashAttention 减少完整注意力矩阵的存储开销,但标准精确注意力仍包含二次长度的算术计算。 直接存储的注意力分数大小随 \(hT^2\) 增长;FlashAttention 改变计算与访存方式,避免将完整矩阵写入显存。它提高执行效率,并未消除精确注意力的长度相关运算。[[13]](#[13])
4. 有效 token、填充与样本打包
训练量应统计实际有效 token,而不是"序列条数 × 最大长度"的槽位容量。 若一次更新处理 512 条序列,每条均为 10,000 个有效 token,才有约 512 万训练 token。若序列没有填满,实际有效 token 数就少于这个容量。例如平均只有 6000 个有效 token,其余均为 padding,那么有效训练量约为 307.2 万 token。
填充可以帮助组成规则形状的张量,但填充位置通常会被 attention mask 和 loss mask 排除,不提供新的训练信息。至于它是否仍消耗计算,取决于实现是否执行了这些填充位置的运算。训练日志应区分有效 token 与填充槽位。
Packing 主要提高有效 token 占比,不自动创造真实文档中的长距离信息。 它把多个短样本装入长序列,仍需明确文档边界、边界 token 和跨文档注意力的处理。T5 的训练实现就使用了样本打包。[[8]](#[8])
5. 最大支持长度、训练长度和有效利用长度也要分开
最大窗口、实际训练长度、有效利用长度必须分别验证。 三者回答不同问题:
| 长度口径 | 它说明什么 | 怎样检查 |
|---|---|---|
| 最大支持长度 | 实现与位置处理允许输入多长 | 是否能正确执行该长度的输入 |
| 实际训练长度 | 模型训练时接触了哪些长度 | 样本长度分布与长样本占比 |
| 有效利用长度 | 多远的信息仍能帮助预测或任务 | 截断对照、依赖距离与证据位置评估 |
"支持 128K"仅回答第一项,不足以推断后两项。
Lost in the Middle 的实验发现:部分被测模型对中间位置的相关信息利用较差,即使这些信息已经进入窗口。 相同相关信息位于开头或结尾时,任务表现更好。该结果支持在长上下文评估中改变证据位置,不能据此断定所有模型都具有相同弱点。[[10]](#[10])
上下文扩展既需要位置适配,也需要真实长样本与信息利用评估。 YaRN 研究 RoPE 模型的窗口扩展;Fu 等人研究训练数据构成,强调保留领域配比并提高长样本比例。它们分别处理位置方法和训练数据,不能只修改最大窗口便假定长距离能力随之获得。[[11]](#[11])[[12]](#[12])
本文的评估建议:固定预测目标,只改变可访问的前文范围,才能更清楚地识别上下文收益。 让同一组目标分别访问短、中、长的前文,比较损失或任务指标,再改变相关信息的位置。若切片方式同时改变了评价目标,就很难将平均损失变化全部归因于上下文长度。
五、规律怎样变成配比:Kaplan 与 Chinchilla 的核心区别
1. 先分清"更大模型更好"和"固定预算下怎样最好"
固定预算下,最大模型不一定最好:参数增加会挤占可训练 token,容量与训练量必须平衡。 数据和训练充分时,更大模型通常有更低的可达到损失;但有限预算可能无法充分发挥这份容量。
因此,真正的配置问题是:给定预算 \(C\),在满足 \(6ND\approx C\) 的候选中,寻找最终验证损失最低的组合。每一个预算都可以选出一个最好点,这些最好点连接起来,才形成计算最优的规模路径。
举一个用于理解的预算例子。忽略上下文等额外开销,设 \(C=1.2\times 10^{20}\) FLOPs,可以比较:
| 参数量 \(N\) | 训练 token \(D\) | 估算计算量 \(6ND\) |
|---|---|---|
| 0.5B | 40B | \(1.2\times 10^{20}\) |
| 1B | 20B | \(1.2\times 10^{20}\) |
| 2B | 10B | \(1.2\times 10^{20}\) |
三者预算相近,却给容量与训练量分配了不同份额。最优方案应由同预算实验选出;这张表只是候选示例,不包含实测排名。
2. 两篇论文给出了不同的增长路径
Kaplan 的历史拟合建议:预算增加时,参数量比训练 token 增长得更快。 较大模型在训练早期就可能达到较小模型接近收敛时的损失,而继续训练小模型至极低边际收益阶段会消耗预算。因此,其计算最优分析支持在完全收敛前停止,将预算用于更大容量。修正后的最小计算口径下,近似得到:
\N_{\\mathrm{opt}}\\propto C_{\\min}\^{0.73},\\qquad D_{\\mathrm{opt}}\\propto C_{\\min}\^{0.27}. \\
这里的 \(C_{\min}\) 包含对 batch 效率的修正,不能直接当作每次训练实际支付的全部 FLOPs。该结论属于其数据、训练配置与拟合范围下的计算最优分析。[[1]](#[1])
Chinchilla 的实验与拟合建议:参数和训练 token 应随计算预算近似同步增长。 Hoffmann 等人的 Training Compute-Optimal Large Language Models (NeurIPS 2022)重新研究这一配比。论文指出,当时多种大型模型的参数量已经从约 175B 扩大到 530B,训练量却仍集中在约 300B token。由此产生一个具体疑问:新增预算是否过多地投入容量,使模型缺少足够的训练?作者通过超过 400 个模型扩展实验覆盖,规模约为 70M---16B,训练量约为 5B---500B token,并让日程适配各自的训练长度。[[2]](#[2])
研究采用三种方法交叉检查。第一种比较不同规模、不同训练长度的曲线,提取各计算预算下的最低损失,形成包络;第二种直接固定 FLOPs,改变参数量,并相应调整训练 token,寻找同预算曲线的最低点;第三种拟合参数和训练量共同决定的损失函数,再求计算约束下的最优值。三者的采样与拟合方法不同,却都支持参数和训练量应比 Kaplan 的历史建议更均衡地增长。

图源:Training Compute-Optimal Large Language Models (2022),图 3。左图横轴为参数量,纵轴为平滑后的最终训练损失,每种颜色对应一个固定 FLOPs 预算,学习率日程长度与各自的训练 token 匹配。同一曲线向右移动,模型增大而可训练 token 减少;曲线最低点表示该预算下的较优平衡。中、右图将这些最低点对应的参数量和训练 token 对计算预算作拟合。青色线是向 Gopher 计算预算的外推,不是已经覆盖该预算的全部受控实验。[[2]](#[2])
左图的谷底解释了为什么"模型更大"与"同预算效果更好"不能直接画等号:左侧容量不足,右侧训练量不足。第一种方法给出的增长指数约为 \(0.50/0.50\),第二种约为 \(0.49/0.51\),第三种约为 \(0.46/0.54\)。多个方法共同支持近似同步扩展模型与训练量,而非一个精确且通用的 0.5 指数。 这些配比拟合使用训练损失,最终还通过 Chinchilla 的留出语料与下游任务检查预测价值;项目自己的规模实验则应同时跟踪固定验证集表现。
配置含义:按 Chinchilla 的近似增长路径,预算增加四倍,参数与训练 token 各增加约两倍。 两篇论文的分歧集中在新增预算的分配:
| 比较项 | Kaplan(2020) | Chinchilla(2022) |
|---|---|---|
| 最优参数的增长 | 约 \(C_{\min}^{0.73}\) | 各方法约 \(C^{0.46}\)---\(C^{0.50}\) |
| 最优训练量的增长 | 约 \(C_{\min}^{0.27}\) | 各方法约 \(C^{0.50}\)---\(C^{0.54}\) |
| 拟合所建议的方向 | 更多预算用于扩大容量 | 更均衡地扩大容量与训练量 |
| 使用时要核对 | \(C_{\min}\) 含 batch 效率修正 | 数据、训练日程、计算统计与拟合方法 |
两者共同研究固定计算下的配比;指数差异不能解释为扩大模型或增加训练量只有一种有效。
3. 用一个损失模型理解为什么会有最优配比
经验模型解释了最优点的来源:固定预算下,扩大模型会降低容量不足项,却抬高训练量不足项。 Chinchilla 的一种拟合形式为:
\\\ell(N,D)=\\ell_0+\\frac{a}{N\^{\\alpha}}+\\frac{b}{D\^{\\beta}}. \\
\(\ell_0\) 是拟合中的损失下限项,\(a/N^{\alpha}\) 描述模型规模不足对应的损失项,\(b/D^{\beta}\) 描述训练量不足对应的损失项;\(a,b,\alpha,\beta\) 都要由实验拟合。它们是经验模型中的解释,不是把真实训练误差严格拆成互不影响的三种物理来源。[[2]](#[2])
把固定预算关系 \(D=C/(6N)\) 代入,就得到:
\\\ell(N)=\\ell_0+aN\^{-\\alpha}+b\\left(\\frac{6N}{C}\\right)\^{\\beta}. \\
随着 \(N\) 增大,第一个可变项下降,第二个可变项上升,因为模型变大挤占了训练量。对这个近似求最小值,可以得到:
\N_{\\mathrm{opt}}\\propto C\^{\\frac{\\beta}{\\alpha+\\beta}},\\qquad D_{\\mathrm{opt}}\\propto C\^{\\frac{\\alpha}{\\alpha+\\beta}}. \\
最优配比由两类边际收益共同决定,不能只靠一个增长指数算出最终配置。 当 \(\alpha\) 与 \(\beta\) 接近,参数与 token 的增长指数接近一半;具体的最优规模还取决于系数 \(a,b\)。这是经验拟合下的数学推导。
4. "每个参数约 20 个训练 token"怎样使用
约 20 token/参数是相似条件下的训练计算最优参考,不是训练收益的停止线。 Chinchilla 的 70B 模型使用约 1.4T token,得到 \(D/N\approx 20\)。在其表格中的若干计算最优估计里,也出现了接近这一数量级的比例。因此,\(D\approx 20N\) 可以作为相似条件下的初始预算参考。[[2]](#[2])
模型已经选定时,继续训练仍可能降低损失。约 20 的比例回答的是"同预算下怎样分配更划算",不是"这个模型还能不能进步"。改变数据、架构、上下文或成本目标后,应重新校准比例。
完整训练验证:在 Gopher 的计算预算下,较小而训练更久的 Chinchilla 在多项评估中表现更好。 作者将约 280B 参数、300B token 的方案,改为约 70B 参数、1.4T token。按论文表 6,MMLU 的 57 项任务、5-shot 平均准确率为 67.6%,Gopher 为 60.0%。较小模型还降低了存储需求和推理计算,展示了重新分配预算的实际价值。[[2]](#[2])
证据范围:这次验证支持重新分配容量与训练量的完整方案。由于优化器、分词器和数据来源配比也有调整,它没有单独证明全部任务提升都来自参数量与 token 的变化。
5. 两篇论文的差异,不能只归因于一个训练细节
复现研究发现:计算统计、warmup 和随规模变化的优化器调优,会改变测得的最优配比。 Porian 等人修正输出层计算统计、预热时长及规模相关调优后,结果更接近 Chinchilla;他们同时发现,精细的学习率衰减并不是得到该规律的必要条件。[[14]](#[14])
配置含义:先给各规模合理的训练条件,再拟合规模规律,否则配置差异会混入"规模收益"。 具体应核对不同规模的调优力度,检查短训练是否大半处于 warmup,并统一输出层等计算的统计口径。
6. 数据重复以后,累计 token 和新信息量需要分别记录
重复数据会增加累计训练 token,却不会同比增加新信息。 持续使用新数据时,更新次数与累计 token、新数据量同步增长;重复采样有限语料时,只有累计处理量 \(D\) 继续增长。应额外记录去重后的可用 token 量 \(U\),区分更多训练与更多数据。
实验发现:数据重复并非立即无效,但继续重复的收益会递减。 Muennighoff 等人的实验中,最多约四轮重复可接近相同累计 token 的独特数据训练,更多轮数后收益下降。"四轮"是该实验的观察范围,不是所有数据与模型的通用阈值。[[15]](#[15])
配置时,应把累计 token、新数据供应量、采样权重和重复轮数放在同一张记录表里。如果新增 token 主要来自重复,或者数据来源配比发生变化,就应重新验证原有的规模拟合。
7. 研究结论归纳:从规模规律到配置方向
配置训练前,可以把规模收益、参数分配和训练配比归纳为以下八点。 其中,参数增长关系来自结构计算,收益与配比主要来自实验拟合;没有确定答案的问题也应明确保留。
-
规模收益:纯幂律范围内,相同倍率的参数增长对应相同的相对损失下降,固定数量的参数增量则收益递减。 对 \(\ell(N)=cN^{-0.076}\),参数翻倍对应损失约下降 5.1%,与起始参数量无关。这是该拟合成立时的数学性质;实际模型还需要满足数据与训练条件,也不能由损失下降比例直接推算任务准确率的改善。[[1]](#[1])
-
结构规律:模块比例固定时,主干参数随层数近似线性增长,随主干宽度近似平方增长。 在标准 MHA、普通 FFN 且 \(f=4d\) 的结构下,\(N_{\mathrm{core}}\approx12nd^2\):层数翻倍约使参数翻倍,主干与 FFN 宽度同步翻倍约使参数变为四倍。该关系说明模型怎样变大,不能单独预测加深或加宽的质量收益。[[3]](#[3])[[1]](#[1])
-
深宽分配:Kaplan 测试的合理配置中,多种深宽比例的损失接近;极浅或极端比例会明显偏离。 这支持先采用成熟比例,而不是一开始就搜索精确最优形状;它没有证明深宽选择不重要。Levine 等人的实验进一步发现,同参数预算下的深宽排名可以随规模改变,因此这些研究尚未确定统一的最优深宽比例。[[1]](#[1])[[7]](#[7])
-
FFN 分配:经典结构中约三分之二的主干参数位于 FFN,但占比大不代表新增参数应优先全部放在那里。 相近预算下,门控 FFN 在 Shazeer 的实验中优于 ReLU 基线,支持改变 FFN 结构的价值;T5 则展示了扩大层内维度的可行路径。二者都不能单独证明持续增大 FFN 维度最划算,更不能给出通用的最优 FFN 占比。[[6]](#[6])[[8]](#[8])
-
信息范围与训练量:延长上下文 \(T\) 让单次预测看到更多历史,增加累计 token \(D\) 让模型接受更多训练。 两者可以分别增加;延长上下文通常不增加主干参数,却增加激活与注意力计算。新增历史是否改善质量,需要验证它是否包含相关信息、模型是否有效利用这些信息,不能从窗口变长直接推出收益。[[3]](#[3])[[10]](#[10])
-
预算配比:Chinchilla 支持随计算预算近似同步扩大模型参数与训练 token,固定预算下最大模型不一定最好。 按其近似增长路径,预算增加四倍,二者各增加约两倍;约 20 token/参数可作为相似条件下的起始配比。这与 Kaplan 历史拟合更偏向扩大参数的路径不同,也不是"达到 20 后继续训练就无效"的结论。[[1]](#[1])[[2]](#[2])
-
外推边界:现有幂律不能保证无限成立,数据与训练条件变化后必须重新检验。 固定数据集时,参数收益会逐渐饱和;存在非零损失下限时,固定倍率收益作用于超过下限的部分;重复训练也不能按同数量的新数据解释。计算统计、warmup 和优化器调优还会影响拟合出的最优配比。[[1]](#[1])[[2]](#[2])[[14]](#[14])[[15]](#[15])
-
成本目标:大量推理需求会改变最优训练配比,达到同等质量的较小、训练更久的模型可能更省总成本。 服务成本研究将推理需求纳入优化后,方案往往向更小模型、更多训练 token 移动。因此,训练计算最优不能直接等同于生命周期成本最优;第七部分进一步解释这一约束。[[17]](#[17])
这些结论提供了明确的配置方向:合理结构起步,容量与训练量配平,上下文单独评估,再用质量与成本对照校准。对于深宽和 FFN 的统一最优比例,本文讨论的研究仍没有确定答案。
下一部分将这些研究结论转成六条起始准则,并通过具体示例说明怎样逐步确定配置。
六、怎样用小规模实验确定训练配置
前面的研究已经给出一组可用的起始准则:先采用成熟结构与优化设置,把模型规模和训练量配平,再用少量对照调整收益较不确定的部分。 起点不需要从零猜测,但也不应把某篇论文成功使用的数值当成所有项目的最优值。
开始配置前,可以按下面的顺序记住六条判断:
- 先选合理的结构比例,不必一开始就追求精确的最优深宽比。 Kaplan 的测试中,多种合理配比的损失接近;这支持先从成熟架构起步。例如,GPT-3 的 1.3B 配置采用 24 层、宽度 2048,可以为约 1B 数量级提供结构参考。随后比较更深更窄的候选,并在第二个规模复查。这个已使用的配置不是最佳比例的证明,论文也没有给出可通用套用的"非极端比例"阈值。[[1]](#[1])[[4]](#[4])
- FFN 先沿用与结构匹配的成熟比例,再试验是否值得扩大占比。 普通两矩阵 FFN 可从 \(f=4d\) 起步;SwiGLU 三矩阵 FFN 可从 \(f\approx 8d/3\) 起步,再按计算内核要求取整。两者的参数预算接近,不能直接比较中间维度的大小。这些是已使用的基线比例,不是 FFN 收益最高点的证明。[[3]](#[3])[[5]](#[5])[[6]](#[6])
- 先用计算预算估计 \(N,D\),以约 20 token/参数作为配比候选。 若采用 \(D\approx20N\) 与 \(C\approx6ND\),起点为 \(N\approx\sqrt{C/120}\)、\(D\approx20N\)。然后比较附近"更小、训练更多"和"更大、训练更少"的组合。这个比例来自训练计算最优研究;高推理需求、数据重复或数据质量变化时,需要重新校准。[[2]](#[2])
- 上下文长度先满足任务的信息范围,再决定是否扩展。 一般语言建模试验可以先选 2048 作为本文示例的基线,随后比较 4096;若任务明确需要更长依赖,应直接把相应长度纳入候选。2048 不是 scaling law 给出的最优长度。延长窗口要验证新增信息的价值,也要计入注意力成本。
- Batch 先选能稳定运行且吞吐合理的 global token batch,再比较附近数值。 它是一次更新的有效 token 数,不是序列条数。本文示例从约 26.2 万 token/更新起步,比较约 13.1 万和 52.4 万;这些是局部扫描候选,不能从大型模型使用数百万 token batch 推断小实验也应照搬。比较时固定累计 token,并重新核对学习率和日程。
- 优化器可采用论文中的成熟组合,峰值学习率与 warmup 必须围绕当前训练长度校准。 AdamW、\(\beta_1=0.9\)、\(\beta_2=0.95\)、权重衰减 0.1、梯度裁剪 1.0,是 LLaMA 与 DeepSeek LLM 使用过的设置。可以先采用这一组合,将主要试验预算用于峰值学习率、batch 和日程;权重衰减应用在哪些参数上也应明确记录。[[5]](#[5])[[9]](#[9])
这些准则的用途是减少初始搜索范围。合理深宽比仍可能影响质量和速度;20 token/参数仍需配比验证;学习率与 batch 仍需局部调优。"可以从这里开始"与"已经确定最优"是两个判断。
论文中的真实设置,可以帮助建立数量级直觉。 下面列出可追溯的参考值,示例中的新组合会另行标明。
| 参数或日程 | 论文报告的设置 | 怎样用于初始配置 |
|---|---|---|
| 每头维度 | LLaMA 表 2 的各规模均为 128,例如 7B 的 \(4096/32\) | 可作为标准注意力的起点;改变头数时保持总维度的口径清楚 |
| 峰值学习率 | LLaMA 7B、13B 为 \(3\times10^{-4}\);33B、65B 为 \(1.5\times10^{-4}\) | 提供规模相关的参考,不能推出所有小模型都应使用相同值 |
| Global token batch | LLaMA 为约 4M token | 是大型训练的实际配置,不是所有规模的最低或最优 batch |
| Cosine 日程 | LLaMA 预热 2000 步,末端学习率为峰值的 10% | 可以参考日程形状;预热步数需换算成当前训练 token |
| 权重初始化 | DeepSeek LLM 报告初始化标准差 0.006 | 可作为匹配实现下的候选,不能单独保证跨架构的稳定性与最优性 |
| 可复用的分段日程 | DeepSeek LLM 在处理 80%、90% token 后,分别降至峰值的 31.6%、10% | 适合研究共享训练前缀;其比例也经过实验比较,并非固定最优值 |
这些数值分别来自 LLaMA 的第 2 节、表 2,以及 DeepSeek LLM 的第 2.3 节。后者还通过实验研究了较优 batch 与学习率随预算的变化,说明二者值得先校准,再拟合 \(N,D\) 的收益关系。[[5]](#[5])[[9]](#[9])
"初始配置"还应与"权重初始化"分开:前者是训练开始时选择的层数、宽度、token、batch 和日程;后者是权重张量的初始数值分布。初始化标准差必须与归一化、残差处理和参数化一起使用,不能仅凭一个标准差就判断训练方案是否合适。
本文建议分阶段校准:先建立可比基线,再筛架构,随后找模型与训练量的配比,最后校准上下文、batch 和学习率。 这是降低试验成本的方法示例,不是论文证明的唯一流程。
| 阶段 | 要决定什么 | 最少应拿到的证据 |
|---|---|---|
| 建立基线 | 数据、评价与成本是否可比 | 固定验证集、统一口径、实测吞吐 |
| 筛选架构 | 深宽与 FFN 怎样分配 | 相近参数下的质量对照、第二个规模的排名复查 |
| 校准配比 | 预算分给多大模型、多少 token | 多个固定预算下的候选比较、保留实验 |
| 校准输入与优化 | 上下文、batch、日程怎样选 | 信息利用评估、局部扫描、质量与时间曲线 |
| 选择最终方案 | 哪个方案满足使用目标 | 接近目标规模的验证与实际服务基准 |
1. 先固定评价问题,避免同时改动所有条件
先固定数据与评价,再比较配置,才能知道收益来自哪里。 明确训练目标、分词器、数据来源与采样比例,以及应用相关的验证集。把独立文档或数据来源划分好,避免训练和验证之间的信息泄漏。验证时同时保留总体损失和关键任务指标,长上下文任务还要有能够区分信息位置、依赖距离的评估。
然后选择一个成熟的稠密 Transformer 基线,明确层数、主干宽度、FFN 类型、注意力类型和位置编码。此时先固定上下文长度,避免把容量扩展与输入信息扩展同时混入第一轮比较。
实际训练时间也要测量:相同估算 FLOPs 不保证相同 GPU 时间。 记录每秒有效训练 token、每步时间、峰值显存,以及估算或测量的 FLOPs。纸面上相同的 \(6ND\),可能因为并行效率、填充比例和重计算策略,产生不同的 GPU 时间。
2. 用中小模型筛选深宽与 FFN 分配
架构筛选的目标,是找出质量与执行成本都值得保留的候选。 选择一个训练较快、又不被词嵌入完全主导的中小规模,构造三类相近参数候选:基准比例、更深更窄、提高 FFN 参数占比。第三节给出了可参考的计算示例。
先让这些模型处理相同的数据流和训练 token,并分别检查学习率是否合理。记录损失随累计 token、计算量和时间变化的三条曲线。如果不同候选差异很小,可以优先选择吞吐更高、显存更合适、并行和推理更方便的配置。
至少在第二个规模复查架构排名,避免把小模型的最优比例直接外推。 将较优的两种比例放到更大规模验证;若排序改变,应保留两种候选,增加接近目标规模的比较。
3. 用多组固定预算实验校准 \(N\) 与 \(D\)
用固定预算的不同 \(N,D\) 组合寻找最优点,比只沿固定 token/参数比训练更能检验配比。 架构族基本确定后,选择几个计算预算。每个预算下安排较小、中等、较大三个模型,按 \(D\approx C/(6N)\) 给出初始训练量。第五节的三组方案就是一个预算切片。多做几个预算切片,可以观察最优点如何随预算移动。
一个入门设计可以是三个预算、每个预算三个模型,形成九组训练;但九个点不保证足以稳定拟合五个参数的损失模型。若预算紧张,先比较各预算的最佳候选和趋势,比强行给出高精度指数更可靠。若要拟合联合规律,还应让实验覆盖模型不足、训练量不足及二者相对平衡的区域,不能只围绕一个比例采样。
不同训练终点应有适合自身长度的日程;长训练的中间 checkpoint 不能自动视为独立最优终点。 共享训练前缀可以节省试验成本,但不同终点的退火安排与比较口径应记录清楚,避免只让某些候选完成学习率衰减。
拟合能否指导大模型投入,要由未参与拟合的较大规模实验检验。 保留至少一组较大的试验,比较预测损失与实测损失。报告误差范围和对数据点选择的敏感性。如果几种合理拟合给出了相差很大的最佳模型规模,优先增加能区分这些预测的实验点,暂缓根据单一指数投入完整预算。
4. 单独评估上下文长度的收益
上下文试验要同时回答"更多信息是否有用"和"收益是否值得额外成本"。 固定架构,选择短、中、长几个上下文候选。第一组实验固定累计有效 token,比较信息范围扩展的效果;第二组按相同计算或时间预算比较,判断长上下文带来的收益是否值得额外成本。长序列比较要使用含有真实长距离结构的数据,并记录样本长度分布和 packing 方式。
评价时,一方面在共同的预测目标上检查损失,另一方面测试任务是否需要长距离信息。例如,分别把关键证据放在近处、远处和中间位置,观察增加上下文后是否带来稳定收益。还要检查原本的短上下文任务是否退化。
如果数据主要由短且独立的样本组成,把它们拼成很长的输入可能主要提高 packing 效率;如果任务的有效信息本来就位于很远的历史位置,增加上下文才有机会直接提供此前不可见的信息。两种情况的收益机制不同,应分别解释。
5. Batch 应以一次更新的有效 token 为主要口径
Batch 主要改变每次更新汇总多少数据与更新频率,不能替代累计训练量。 micro-batch 是一次实际前向、反向计算处理的样本;global batch 是一次优化器更新汇总的全部样本,可能来自多个设备和多次梯度累积。比较训练配置时,应记录 global batch 的有效 token 数 \(B_{\mathrm{tok}}\)。
若每次更新的有效 token 数近似固定,更新次数为 \(S\),则:
\D\\approx B_{\\mathrm{tok}}S. \\
若样本长度波动较大,就按每次更新的有效 token 实际求和,而不是简单用序列条数乘最大长度。对规则、填满的输入,全局 token batch 才近似等于每卡序列数、设备数、梯度累积次数和序列长度的乘积。
以每条均为 1024 个有效 token 为例,global batch 从 512 条增至 1024 条,每次更新的 token 从约 52.4 万增至 104.9 万:
| 比较时固定什么 | Batch 翻倍后的变化 | 如何理解 |
|---|---|---|
| 累计训练 token \(D\) | 更新次数约减半 | 训练量相同,优化路径改变 |
| 更新次数 \(S\) | 累计 token 约翻倍 | 同时增加了训练量,不能将全部收益归因于 batch |
因此,512 与 1024 的对照首先要说明固定了什么,再比较损失与时间。
更大的 batch 可能提高吞吐,但不会无限提高训练效率或质量。 它会改变梯度估计和更新频率。Kaplan 研究的临界 batch 说明,batch 继续增大后,减少更新次数的收益会递减,计算效率也会变化。因此,应在相近训练量下扫描几个可执行的 global token batch,并结合吞吐与最终损失选择,不能把越大越好当作默认规则。[[1]](#[1])
梯度累积可以在显存受限时达到目标 global batch。若只是改变累积方式、保持 global batch 和其他执行细节相近,优化器的更新频率也可以保持相近;此时主要考察的是运行效率,而不是把它当成扩大训练量。
6. 学习率与日程怎样一起校准
学习率与日程应围绕入选架构、batch 和训练长度局部调优,不能从大模型配置表直接照搬。 在中小模型上扫描几个按倍数间隔的峰值学习率,根据稳定性与最终验证损失缩小范围,再对入选架构和 batch 局部复查。
记录日程时,应同时保存 warmup 和衰减开始位置对应的 token 数及更新次数。训练长度改变后,用 token 数或进度比例设计候选日程较容易保持可比性;但进度比例本身也要通过实验确定,不能把某个固定比例当作所有规模的最优值。
短实验中的 warmup 必须按实际训练进度检查,过长的预热会使比较失真。 Kaplan 使用过 3000 步 warmup;在其 \(2^{19}\) token batch 下,约为 15.7 亿 token。照搬到短实验会使预热占据过大比例,后续复现研究也指出了这一调优问题。[[1]](#[1])[[14]](#[14])
Cosine decay 可以作为基线,但仍要检查其峰值、结束位置和最低学习率。长训练可以试验先保持、后退火等日程,并保留训练曲线证据。这里需要形成的经验是:对照实验应给予候选合理的日程,而不是让所有候选机械地共用同一个数值配置。
\(\mu\)P 提供了特定参数化下的跨宽度超参数迁移方法,不保证普通参数化可以照搬学习率。 \(\mu\)Transfer 通过相应初始化、参数化与学习率缩放,将部分小模型上调优的超参数迁移到更宽模型;它不能替代深宽排名或上下文扩展的验证。[[16]](#[16])
7. 最终配置应该带着哪些证据
最终配置应同时给出选择依据,说明它为何优于附近候选、为何适合预算与服务目标。 建议把配置与支撑实验保存在同一份记录中:
| 配置项 | 应记录的内容 | 支撑选择的实验 |
|---|---|---|
| 模型结构 | \(n,d,f\)、FFN 类型、查询头与 K/V 头、位置编码 | 相近参数及预算下的结构对照 |
| 参数口径 | 主干、嵌入、总参数;MoE 另报激活参数 | 实际实现的参数统计 |
| 训练量 | 累计有效 token、可用独特数据、采样与重复方式 | 多组 \(N,D\) 配比及数据检查 |
| 上下文 | 最大支持长度、训练长度分布、packing 与边界处理 | 长短任务与信息位置评估 |
| Batch | micro-batch、设备数、累积次数、global 有效 token | 吞吐、更新频率与质量比较 |
| 学习率 | 峰值、warmup、衰减形式与终点,均关联 token 进度 | 局部扫描、稳定性和终点损失 |
| 成本与质量 | FLOPs、GPU 时间、显存、验证损失和任务指标 | 最终规模的保留试验与服务基准 |
正式投入前,保留一组更接近目标规模的验证;候选差距很小时,重复试验以判断差异是否稳定。这样才能区分可信收益与一次训练的波动。
8. 一个完整示例:从约 1.28B 模型的起始配置到逐步校准
把前面的准则连接起来,可以先得到一个可计算的方案,再明确每轮试验要决定什么。 假设要从零训练一个通用自回归语言模型,先研究训练计算效率,最终训练的粗略预算约为 \(2\times10^{20}\) FLOPs。架构筛选和校准实验另行计入开发预算;它们的总成本不能算作只训练一次模型。
示例性质:以下是本文构造的训练设计,没有实际运行。结构与优化起点参考已有论文,但整个组合未经验证;后面的判断规则不是虚构的实验结果。
第一步:写出一份能算清参数与训练进度的基线。 选用 Decoder-only、Pre-Norm、RMSNorm、RoPE、标准多头注意力和 SwiGLU,线性层不使用偏置。为便于统计,词表设为 32,000,输入嵌入与输出权重共享;数据去重、采样比例与固定验证集均在试验前确定。
| 配置项 | 示例起点 | 选择依据 |
|---|---|---|
| 层数与宽度 | \(n=24\),\(d=2048\) | 采用第三节相近数量级的基准,后续比较深宽分配 |
| SwiGLU 中间维度 | \(f=5504\) | \(8d/3\approx5461\),向上取为 128 的倍数;实际取整应检查内核要求 |
| 注意力 | 16 个 Q/K/V 头,每头 128 维 | 总维度仍为 2048,先保持标准 MHA |
| 上下文 | \(T=2048\) | 示例任务的起点,随后评估 4096 的收益 |
| 累计训练量 | \(D\approx25.6\mathrm{B}\) token | 对约 1.28B 参数采用约 20 token/参数的初始配比 |
| Global token batch | \(B_{\mathrm{tok}}=262,144\) | 本文选择的可扫描起点,不是论文测得的最优 batch |
| 优化器 | AdamW,\(\beta=(0.9,0.95)\),权重衰减 0.1,梯度裁剪 1.0 | 参考 LLaMA 与 DeepSeek LLM;示例仅对矩阵权重衰减,RMSNorm 缩放参数不衰减 |
| 峰值与末端学习率 | 预热至 \(3\times10^{-4}\),随后按 cosine 降至 \(3\times10^{-5}\) | 参考 LLaMA 的数量级与末端比例,再扫描峰值 |
| Warmup | 总训练 token 的 1%,约 256M token | 本文的日程候选,用于演示进度计算,不是通用最优比例 |
| 权重初始化 | 矩阵权重先试 \(\mathcal{N}(0,0.006^2)\),RMSNorm 缩放参数置 1 | 标准差参考 DeepSeek LLM;用于本组合属于新的试验选择,需检查稳定性 |
表中的结构组合、取整、batch、预热比例与衰减参数分组是本文的设计选择。论文只为相应组件和参考数值提供依据,没有证明这份完整配置最优。[[5]](#[5])[[9]](#[9])
SwiGLU 主干按三矩阵统计,参数近似为:
\N_{\\mathrm{core}}\\approx24\\left(4\\times2048\^2+3\\times2048\\times5504\\right) =1,214,251,008. \\
共享嵌入约为 \(32,000\times2048=65,536,000\) 参数,忽略少量归一化参数,合计约 1.28B 。据此,\(D\approx25.6\mathrm{B}\)、\(C\approx6ND\approx1.97\times10^{20}\) FLOPs。这里统一使用总参数做预算初估;词表输出和注意力的实际开销仍需测量,不能将这个估算直接当作硬件运行量。
同一份配置还能明确算出 batch 与日程的关系。 若有 8 个数据并行设备,每设备 micro-batch 为 2 条,每条填满 2048 个有效 token,梯度累积 8 次,则:
\B_{\\mathrm{tok}}=8\\times2\\times2048\\times8=262,144. \\
总更新次数约为 \(25.6\times10^9/262,144\approx97,656\),1% token 预热约为 977 步;具体终点按实际有效 token 计数。若序列有填充,就按有效 token 求和。若 global batch 翻倍,在相同训练量下更新次数约减半;保持同样的预热 token 时,预热步数也约减半。
第二步:先在短试跑中排查执行问题,再给各候选合理的学习率。 可先用少量 token 检查损失、梯度、显存与吞吐,确认数值稳定和 token 计数正确。试跑用于检查能否正常训练,不能凭几十或几百次更新确定最终架构排名。
随后为约 1.28B 基线设置三个峰值候选:\(1.5\times10^{-4}\)、\(3\times10^{-4}\)、\(6\times10^{-4}\)。在相同的短训练 token 预算下比较终点验证损失与稳定性,日程覆盖各自完整试验;例如先以 1B token 作为局部试验长度,1% 预热此时就是 10M token,而不是继续使用完整训练的 256M。这些扫描数值和 1B 长度均为示例选择。短实验筛选出范围后,仍要在较长训练上复查。
第三步:同参数附近比较分配,让实验回答加深或扩大 FFN 是否值得。 以下均为 SwiGLU、标准 MHA,每头 128 维、共享 32,000 词表;参数量含主干与共享嵌入,忽略少量归一化参数。
| 候选 | 层数 \(n\) | 宽度 \(d\) | FFN 维度 \(f\) | 近似总参数 | 比较目的 |
|---|---|---|---|---|---|
| A | 24 | 2048 | 5504 | 1.280B | 基准比例 |
| B | 44 | 1536 | 4096 | 1.295B | 更多参数分配给深度 |
| C | 24 | 1792 | 7168 | 1.290B | 更多参数分配给 FFN |
三个候选总参数差异约在 1.2% 内,但不是完全相同;比较时记录这一差异,并核对实际 FLOPs。先让它们各训练相同的 2B token,使用相同数据顺序、上下文、batch 和日程长度,同时给每个候选相近力度的学习率调优。这轮判断的是给定训练量下的质量;下一轮再按相同 GPU 时间比较。每个候选的开发成本都应累加到实验预算。
如果 B 与 A 的质量接近、B 的实测速度却更慢,可以优先保留 A;如果 C 的质量优势稳定,且同时间预算下仍更好,就保留 C,并在第二个模型规模复查。这样,"深宽不用一开始过度纠结"转化成了一个具体动作:先比较少量合理候选,收益很小时优先考虑执行成本。
第四步:在选定架构族后,检查容量与训练量是否配平。 最终预算约 \(1.97\times10^{20}\) FLOPs 时,有以下三组近似候选:
| 近似总参数 \(N\) | 累计训练 token \(D\) | Token/参数 | 估算 \(6ND\) |
|---|---|---|---|
| 0.64B | 51.2B | 80 | \(1.97\times10^{20}\) |
| 1.28B | 25.6B | 20 | \(1.97\times10^{20}\) |
| 2.56B | 12.8B | 5 | \(1.97\times10^{20}\) |
这张表展示同预算的选择,不能预先认定中间的"20"一定获胜。 开发阶段先按本节第 3 小节的方法,在更低的几个计算预算下比较不同 \(N,D\),检查最优点与预测误差,再用较大规模的保留实验检验。拟合后决定哪个方案值得完整训练,不必为了套用表格就把三组大预算候选全部训练到底。
判断方向很具体:同预算下,如果较小模型、更多 token 的候选更好,就向训练量分配更多预算;如果较大模型、较少 token 的候选更好,就向容量分配更多预算。单个模型的损失仍在下降,不能单独说明它就是同预算下的最佳方案。
第五步:最后校准输入范围、batch,并检查部署成本。 先分别比较 \(T=2048/4096\),保持累计有效 token 相同,验证新增前文是否帮助共同预测目标;再按相同时间预算比较。扩大到 4096 后重新测吞吐与显存,不因主干参数相同就沿用原来的成本估算。
在入选上下文上,扫描 global token batch 为 131,072、262,144、524,288,固定累计 token,复查峰值学习率与以 token 表达的预热位置。最后测量目标硬件上的推理延迟、吞吐和 KV cache;如果预计推理需求很大,再比较较小模型与更多训练 token 的方案。
示例留下的配置经验:24 层、2048 宽度与匹配的 SwiGLU 比例可以构成一个明确起点;约 20 token/参数给出初始预算;batch 与日程换算成 token 后就能直接比较。每轮只解决一个选择问题,最后把质量与总成本一起判断。
七、把推理成本加入后,最优训练配比还会变化
加入大量推理需求后,达到同等质量的较小、训练更久的模型可能比训练计算最优方案更省总成本。 原因是推理开销随模型使用量持续累积,可能超过一次性训练成本;因此,优化目标应从训练预算扩展到生命周期预算。
在最简化的稠密模型估算下,设整个生命周期的输入与输出 token 总量为 \(D_{\mathrm{inf}}\),可以写成:
\C_{\\mathrm{total}}\\approx 6ND+2ND_{\\mathrm{inf}}. \\
Sardana 等人的研究将推理需求纳入规模优化,得到的方案往往比只优化训练计算时更小、训练更久:额外训练投入可由大量请求中的推理节省补偿。其进一步实验也提醒,极高 token/参数比下,需要重新校准损失拟合。[[17]](#[17])
总 FLOPs 是初步估计,最终部署选择还必须满足实测延迟、吞吐和显存要求。 长输入的 prefill、逐 token 解码、服务 batch、精度与量化都会影响成本。应在目标硬件和真实长度分布上测量请求吞吐、首 token 延迟、生成速度及显存。
固定其他条件时,KV cache 随层数、缓存长度和 K/V 总维度线性增长。 若层数为 \(n\),缓存长度为 \(T\),K/V 头数为 \(h_{\mathrm{kv}}\),每头维度为 \(d_{\mathrm{head}}\),一个序列的 K/V 缓存元素数近似为:
\M_{\\mathrm{KV,elements}}\\approx 2nT h_{\\mathrm{kv}}d_{\\mathrm{head}}. \\
再乘每个元素的字节数和并发序列数,才是相应的内存量。GQA 通过让多个查询头共享较少的 K/V 头,减少这部分缓存及相应开销。它体现了"改变注意力配置以满足服务约束"的扩展思路,不能单凭参数总量判断其成本。[[18]](#[18])
最终选择标准:在目标质量达标的候选中,比较训练投入与预期推理成本,并检查服务指标。约 20 token/参数不适合直接作为高推理需求场景的最终配方。
八、向推荐系统迁移的研究方法
向推荐系统迁移的应是扩展变量的区分与实验方法,具体指数和配比必须重新测量。 推荐任务的数据组织、目标函数与服务约束不同,不能由语言建模损失的拟合直接确定其训练配置。
阅读后续推荐论文时,先把它的 scaling 操作对应到具体变量:
| 论文中的扩展操作 | 需要核对的具体含义 |
|---|---|
| 增加模型参数 | 增加层数、主干宽度、FFN、Embedding,还是专家数? |
| 增加行为序列 token | 延长每次输入的历史序列,还是增加累计训练交互量? |
| 增加上下文窗口 | 实际有效历史是否增加,新增历史是否包含相关信息? |
| 增加训练数据 | 是更多用户、交互、更新鲜的数据,还是重复采样? |
| 增加计算预算 | 改变了哪几个变量,预算用 FLOPs、GPU 时间还是费用衡量? |
| 声称某方向收益更高 | 是否固定参数、训练量、预算和评价样本,并报告成本? |
"长历史有效、加宽收益弱"提示信息范围可能比容量更受限,但这仍是需要消融验证的解释。 应先核对累计训练量、预算和评价样本是否一致,再通过截断历史、改变信息位置等实验判断新增历史的作用。
本文建议先诊断信息范围、容量和训练量各自的约束,再用固定预算实验确定配比,最后加入优化与部署条件。 这能把"扩大哪一个变量"转化为明确的实验问题:新增信息是否有用,新增参数是否有效,同一预算怎样分配更好。已有论文提供起点,项目数据决定最终答案。
参考文献
1 Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., et al. (2020). Scaling Laws for Neural Language Models . arXiv:2001.08361. https://arxiv.org/abs/2001.08361
2 Hoffmann, J., Borgeaud, S., Mensch, A., Buchatskaya, E., Cai, T., Rutherford, E., et al. (2022). Training Compute-Optimal Large Language Models . NeurIPS 2022. arXiv:2203.15556. https://arxiv.org/abs/2203.15556
3 Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., et al. (2017). Attention Is All You Need . NIPS 2017. arXiv:1706.03762. https://arxiv.org/abs/1706.03762
4 Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., et al. (2020). Language Models are Few-Shot Learners . NeurIPS 2020. arXiv:2005.14165. https://arxiv.org/abs/2005.14165
5 Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M.-A., Lacroix, T., et al. (2023). LLaMA: Open and Efficient Foundation Language Models . arXiv:2302.13971. https://arxiv.org/abs/2302.13971
6 Shazeer, N. (2020). GLU Variants Improve Transformer . arXiv:2002.05202. https://arxiv.org/abs/2002.05202
7 Levine, Y., Wies, N., Sharir, O., Bata, H., & Shashua, A. (2020). The Depth-to-Width Interplay in Self-Attention . arXiv:2006.12467. NeurIPS 2020 会议版本题为 Limits to Depth-Efficiencies of Self-Attention . https://arxiv.org/abs/2006.12467
8 Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer . Journal of Machine Learning Research, 21(140), 1--67. https://www.jmlr.org/papers/v21/20-074.html
9 Bi, X., Chen, D., Chen, G., Chen, S., Dai, D., Deng, C., et al. (2024). DeepSeek LLM: Scaling Open-Source Language Models with Longtermism . arXiv:2401.02954. https://arxiv.org/abs/2401.02954
10 Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the Middle: How Language Models Use Long Contexts . Transactions of the Association for Computational Linguistics, 12, 157--173. https://aclanthology.org/2024.tacl-1.9/
11 Peng, B., Quesnelle, J., Fan, H., & Shippole, E. (2024). YaRN: Efficient Context Window Extension of Large Language Models . ICLR 2024. arXiv:2309.00071. https://arxiv.org/abs/2309.00071
12 Fu, Y., Panda, R., Niu, X., Yue, X., Hajishirzi, H., Kim, Y., & Peng, H. (2024). Data Engineering for Scaling Language Models to 128K Context . arXiv:2402.10171. https://arxiv.org/abs/2402.10171
13 Dao, T., Fu, D. Y., Ermon, S., Rudra, A., & Ré, C. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness . NeurIPS 2022. arXiv:2205.14135. https://arxiv.org/abs/2205.14135
14 Porian, T., Wortsman, M., Jitsev, J., Schmidt, L., & Carmon, Y. (2024). Resolving Discrepancies in Compute-Optimal Scaling of Language Models . NeurIPS 2024. arXiv:2406.19146. https://arxiv.org/abs/2406.19146
15 Muennighoff, N., Rush, A. M., Barak, B., Le Scao, T., Piktus, A., Tazi, N., et al. (2023). Scaling Data-Constrained Language Models . NeurIPS 2023. arXiv:2305.16264. https://arxiv.org/abs/2305.16264
16 Yang, G., Hu, E. J., Babuschkin, I., Sidor, S., Liu, X., Farhi, D., et al. (2021). Tensor Programs V: Tuning Large Neural Networks via Zero-Shot Hyperparameter Transfer . NeurIPS 2021;arXiv 版本发表于 2022 年,编号 2203.03466。 https://arxiv.org/abs/2203.03466
17 Sardana, N., Portes, J., Doubov, S., & Frankle, J. (2024). Beyond Chinchilla-Optimal: Accounting for Inference in Language Model Scaling Laws . ICML 2024. arXiv:2401.00448;本文参考修订版 v3(2025)。 https://arxiv.org/abs/2401.00448
18 Ainslie, J., Lee-Thorp, J., de Jong, M., Zemlyanskiy, Y., Lebrón, F., & Sanghai, S. (2023). GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints . EMNLP 2023, 4895--4901. https://aclanthology.org/2023.emnlp-main.298/
19 Jiang, A. Q., Sablayrolles, A., Roux, A., Mensch, A., Savary, B., Bamford, C., et al. (2024). Mixtral of Experts . arXiv:2401.04088. https://arxiv.org/abs/2401.04088