⚠️6不是数学公理,不是必须等于6,是2017年论文在机器翻译任务上,做消融实验得到的效果、算力、训练成本三者的平衡点

业务通俗比喻

把每一层Block想象成一道加工工序

  • 第1‑2层:看懂字面、词语、局部语法(看懂相邻词语关系)
  • 第3‑4层:理解句子句法、短语关系
  • 第5‑6层:提炼全局深层语义、长距离逻辑(跨很远的词的指代、逻辑)

句子(张量)一层层流过每道工序,逐层把原始输入打磨成高级语义特征。

👉 如果层数太少(比如2‑4层)会怎样?

工序太少,加工不够。

  • 只能看懂简单短句、局部词语关系;
  • 处理不了长句子、复杂逻辑,长距离关联抓不住(比如长翻译句子里代词指代很远的名词);
  • 翻译出来容易漏含义、逻辑错乱,BLEU翻译分数明显下跌。

业务类比:工厂只走2道粗加工,半成品质量差,成品不合格。

👉 如果层数加多(8、10层,更多)会发生什么?

论文实验:4→6层,翻译效果大幅提升;6→8层,效果只涨一点点,收益边际递减。 代价:

  1. 算力、显存、训练时间几乎线性上涨。2017硬件是P100 GPU,算力有限,层数每多加,训练时间、内存开销直接上去;线上推理速度也变慢。
  2. 容易过拟合:训练集表现很好,但真实业务新句子效果变差(模型死记训练数据)。
  3. 虽然有残差Add&Norm缓解梯度消失,但层数太深依旧会带来训练不稳定,调参难度上升。

业务类比:再加2道工序,产品质量只提升一点点,但是电费、工时成本大幅暴涨,性价比很差。

论文当时实验结论(WMT2014英德翻译)

  • N=4:效果不错,但还有明显提升空间
  • N=6:效果大幅提升,算力成本可控,性价比最高
  • N=8:性能提升微弱,成本飙升,不划算

所以作者就选了N=6作为基准超参。Encoder、Decoder都设置6层,两者层数保持对称,是该翻译任务的最优实验配置

重要:现在为什么BERT用12/24层,LLaMA用32层?

时代变了:

  1. GPU算力暴涨(A100/H100),可以扛住更大模型;
  2. 训练数据集规模大得多;
  3. 任务复杂度提升:不只是短句翻译,要做长篇文本、推理、问答。

✅关键点:6只是原始翻译任务的基准参考值,不是铁律

  • 小数据集、简单业务(比如你的供应链销量预测),4层、3层Transformer完全够用;
  • 大数据、复杂推理任务,再往上堆12、24层。

一张极简总结表

层数表现业务代价适用场景
2‑4层表达能力不足,复杂逻辑学不到训练快、显存占用低简单任务、小数据集(时序预测等)
6层(论文原版)效果与算力均衡中等算力开销机器翻译(论文场景)
8层以上收益很小算力爆炸、易过拟合需要超大训练数据,现代大模型才会这么干