参数就该”越往后越瘦”:Mila/康奈尔发现大模型里的”免费午餐”
> 论文:Tapered Language Models(arXiv:2606.23670) > 机构:Mila × Cornell University > 核心发现:把MLP宽度从”一刀切”改成”越往后越窄”,不用多烧一滴算力,就能显著提升模型效果
—
一个被默认了九年的偏见
2017年,Transformer诞生。从那以后,几乎所有大语言模型都遵循一个不成文的规矩:每一层长得一模一样,参数量平均分配。
Transformer、RNN、Mamba、Titans……表面上看千差万别,但骨架都一样:一摞L个相同的层块,每个块里一个token-mixing模块(注意力/循环/记忆),再加一个MLP。MLP的中间层宽度d_ff,从第一层到最后一层,分毫不差。
这个”均匀分配”从来没有人质疑过。它方便、直觉、工程上省事。但Mila和康奈尔的研究团队问了一个极其简单的问题:
如果每一层做的事不一样,凭什么它们该分到一样多的参数?
—
实验:把440M模型切成三段,给它们不同的伙食
研究团队做了一个粗暴但直白的实验。把一个440M参数的Transformer切成三段:
– 前1/3(浅层) – 中1/3 – 后1/3(深层)
在总参数量不变的前提下,给这三段分配不同的MLP中间层宽度:
| 配置 | 浅层 | 中层 | 深层 | 验证困惑度 |
|---|---|---|---|---|
| 均匀基线 | 标准 | 标准 | 标准 | 16.28 |
| 宽前窄后 (A) | 加宽 | 标准 | 收窄 | 15.96 ✅ |
| 窄前宽后 (B) | 收窄 | 标准 | 加宽 | 17.29 ❌ |
| 中间宽 (C) | 标准 | 加宽 | 标准 | 16.61 ❌ |
结果一目了然:把参数往前推(浅层加宽、深层收窄)效果最好,比均匀基线提升了0.32个困惑度点。反过来(深层加宽、浅层收窄)直接崩盘,困惑度飙高了1个多点——在同样的参数预算下,仅仅是”分配方向”不同,效果差距超过1个点。
中间层加宽也废了。这说明:不是哪里宽都好,而是有方向性的——往前堆,往后削。
—
核心洞察:深层在”摸鱼”,不是比喻,是数学
为什么深层不需要那么多参数?因为后来的层基本在”摸鱼”。
研究团队用余弦相似度度量了一个关键量:每一层MLP的输出,跟它进入该层之前的残差流(residual stream)有多”对齐”。
– 如果余弦相似度接近0:MLP输出跟现有残差几乎正交——它在计算全新的特征 – 如果余弦相似度接近1:MLP输出跟现有残差高度同向——它在强化已有的内容
测量结果非常一致(在GPT-2家族的不同规模上都成立):
– 浅层: 很低 → MLP在真正干活,输出新特征
– 深层:
逐渐攀升 → MLP越来越像”复读机”,只是微调已有的残差流
Pearson相关系数在0.49到0.71之间——这不是噪音,是系统性的趋势。层越深,MLP越没有必要拥有那么宽的隐藏层,因为它已经没什么新东西可算了。
这就解释了为什么”宽前窄后”有效:你把钱(参数)花在真正在创造新信息的地方(浅层),从已经”饱和”的地方(深层)把钱省回来。总预算不变,但花在了刀刃上。
—
Tapered Language Models:三种”瘦身曲线”
基于这个发现,研究团队提出了Tapered Language Models(TLMs)——一种架构设计原则:
> 在总参数预算固定的情况下,让某个参数承载维度随着层深度单调递减。
具体到MLP宽度,就是用一个”衰减函数”决定每一层的d_ff(l):
1. 线性衰减(Linear)
匀速下降。没有平台期,但也没有过渡的急刹车。
2. 余弦衰减(Cosine)⭐ 最优
两端都有柔软的”平台”——浅层和深层各自维持一段时间稳定,中间过渡平滑。在实验中 consistently 碾压线性和Sigmoid。
3. Sigmoid衰减
变化集中在中间某一小段,前后两段几乎”冻结”。效果最差——因为它把大部分层要么钉死在d_start,要么钉死在d_end,没有充分利用中间宽度的多样性。
最优配置:余弦 + d_start/d_end = 1.5/0.5。也就是说,最浅层的MLP宽度是基线的1.5倍,最深层是0.5倍,中间平滑过渡。
—
跨架构、跨规模的验证:这不是Transformer的专属trick
真正让这篇论文从”有趣的小发现”升级为”架构层面的原则”的,是它的通用性。
研究团队在4种完全不同的token-mixing架构上测试了 tapering:
| 架构 | 核心机制 | Tapering效果 |
|---|---|---|
| 标准Transformer | Softmax自注意力 | ✅ 困惑度和下游任务均提升 |
| Gated Attention | 输出门控注意力 | ✅ 困惑度和下游任务均提升 |
| Hope-attention | 自修改记忆(多层频率) | ✅ 困惑度和下游任务均提升 |
| Titans | 神经长期记忆模块 | ✅ 困惑度和下游任务均提升 |
三种规模(440M、760M、1.3B)也全部一致。这说明tapering的增益跟token-mixing的具体形式无关——它关乎的是参数如何在深度维度上分配,这是一个架构无关的通用原则。
—
效果:免费午餐,真的免费
以余弦 tapering(1.5/0.5)在440M Transformer上的效果为例:
– 验证困惑度:从16.28 → 14.44,提升1.84个点 – WikiText困惑度:改善 – LAMBADA困惑度:改善 – 8个常识推理基准的平均准确率:一致提升
关键是:零额外成本。
– 总参数量不变 – 训练FLOPs不变 – 推理FLOPs不变
你只是在重新分配已有的资源。从深层”摸鱼”的MLP那里收回不需要的宽度,补贴给浅层真正在干活的MLP。这不是”更大的模型”,而是“更聪明的模型”。
—
一个更大的图景:深度感知的架构设计
TLM的真正意义不在于”MLP该瘦多少”,而在于它揭示了一个被忽视的设计维度:
深度不是平等的。
浅层负责从原始输入中提取新特征——token之间的关系、语法模式、局部语义。深层负责精炼和整合——把已经提取出来的特征推向最终的预测。但精炼不需要和提取一样多的”原材料处理带宽”。
这个不对称性,不仅在Transformer中存在,在RNN、Mamba、Titans中也存在。这意味着深度感知的容量分配(depth-aware capacity allocation) 是一个普适的设计轴,跟模型家族无关。
论文还指出,tapering不仅限于MLP宽度: – 注意力头数量(attention head count) – Key-Value维度(key-value dimension) – 循环状态大小(recurrent state size) – 记忆槽数量(memory slot count) – MoE中的专家数量(expert count)
任何”随着层深度变化”的参数维度,理论上都可以taper。
—
局限与未解问题
1. 最优比例不是普适的:1.5/0.5是在440M规模上找到的,其他规模可能不同。U形曲线在不同配置下最低点可能偏移。
2. 只在decoder-only模型上验证:Encoder-decoder架构(如T5、BART)是否适用?论文没测。
3. 与训练动态的关系:tapering在pre-training阶段有效,但fine-tuning时是否保持优势?尤其是当下游任务需要深层”重新编程”时,收窄的深层MLP会不会成为瓶颈?
4. 与LayerNorm的交互:论文提到为了回避LayerNorm对方向的扭曲,余弦相似度的参考点用了未归一化的残差。这暗示tapering和归一化策略之间可能有微妙的交互。
—
一句话总结
> 大模型的深层在”摸鱼”——它们只是微调已有的残差流,而不是创造新特征。既然它们不需要那么多参数,不如把参数从深层挪到浅层。不用多烧一滴算力,效果就能提升。这不是炼丹技巧,而是架构设计的基本原则。
Mila和康奈尔团队把这篇文章定位为”a free lever hidden in plain sight”(一个藏在眼皮底下的免费杠杆)。九年无人质疑的”均匀层宽”,被一篇6页的论文轻轻推翻了。
—
参考
– 论文:Tapered Language Models (arXiv:2606.23670) – 作者:Reza Bayat (Mila), Ali Behrouz (Cornell), Aaron Courville (Mila) – 核心概念:Tapered Language Models (TLMs), 深度感知容量分配 (depth-aware capacity allocation), 余弦衰减 (cosine tapering) – 关键词:Transformer架构, MLP宽度, 残差流对齐, 模型效率
#论文 #架构设计 #Transformer #Mila #Cornell #免费午餐 #参数效率
