R49.md · 可读全文

这里保留原文的中文、公式标记、代码和链接。可直接交给 Agent 读取,也可选取下方原文复制。此入口返回 HTML;原始 .md / .py 文件仍保留,完整候选包同时包含 UTF-8 原件。

# R49 · 归一化位置:从优化问题到可检验改动

目标与可见范围选好了,新块仍可能训练不稳。接回L2的学习率和梯度经验,以归一化位置为例检查一个结构改动怎样得到可检验的训练理由。

<span id="r49-b0"></span>

## 状态 b0

两条残差路径并置,LayerNorm分别在相加后与分支前。先看归一化位置怎样改变计算通路,再联系初始训练稳定性。

<span id="r49-b1"></span>

## 状态 b1

论文对照新增两种训练配置。对齐两列的归一化位置与学习率调度,找出同时变化的条件;结果接近时也不能只归因于位置。

较早达到相近checkpoint表现,不等于在同一硬件上已经证实墙钟加速。

<span id="r49-b3"></span>

## 状态 b3

四格把位置与warmup分别组合。先用稳定性指标检查训练能否可靠进行,再看固定预算验证质量;这是待执行比较。

<span id="r49-b2"></span>

## 状态 b2

展开完整局部结构,检查pre-LN堆叠末端的最终LN。单个分支前归一化不是完整网络的全部归一化位置。

## 公式与算例详情

### 位置改变了哪条计算路径

post-LN 为 $y=\operatorname{LN}(x+F(x))$;pre-LN 为 $y=x+F(\operatorname{LN}(x))$,完整 pre-LN 堆叠末端另加最终 LN。两者改变子层看到的输入以及残差路径经过归一化的位置。[Xiong et al.(ICML 2020)](https://arxiv.org/abs/2002.04745) §3 分析初始化时的梯度,§4 再检查训练与任务表现;前向公式本身不等于训练稳定性的实验结论。

### 原论文比较了哪些设置

Figure 4 使用 IWSLT14 德→英:6 层 encoder+6 层 decoder,$d=512$,4 个 head,FFN 宽度 1024;Adam $\beta=(.9,.98)$,最大/初始学习率 $5\times10^{-4}$。post-LN 使用 4000 步 warmup 与逆平方根衰减;pre-LN 不使用 warmup,第 8 个 epoch 把学习率降至 .1 倍。两者约 34 BLEU;pre-LN 第 9 个 checkpoint 与 post-LN 第 15 个近似相当。位置与学习率调度同时改变,因此这不是只改变位置的因果对照;checkpoint 数也不是统一硬件下的墙钟时间。

### 怎样区分位置与 warmup 的作用

待执行的设计是位置×warmup 的 2×2:固定数据、tokenizer、初始化种子组、更新数、batch、优化器、最大学习率及 warmup 结束后的调度函数。先观察 loss 曲线、各层梯度范数和失败率,再比较固定预算下的验证 NLL/BLEU,并包含已调优 post-LN 基线。前述数字来自论文;本轮没有执行这组训练。

### 参考与采用

- [On Layer Normalization in the Transformer Architecture](https://arxiv.org/abs/2002.04745):Pre-LN moves normalization inside the residual branch; paper analyzes initialization gradients and warm-up behavior. 复核位置:Primary abstract read.

原课页采用记录:[M27 attention 之后的 block](sources.html#M27)、[M32 现代归一化与 FFN 变体](sources.html#M32)。页码均按PDF物理页计。

### 继续学习

若问题是归一化具体改变哪条路径,读[归一化:放在哪里,处理哪一个轴](https://codingai-lec05.pages.dev/course/knowledge/modern-transformer-parts.html#modern-transformer-parts-s01),对应[CLS 02](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/CLS-02-Attention-Transformer-2d44adcb6f3d409aa7dfb25c21a748a3?utm_content=2d44adcb6f3d409aa7dfb25c21a748a3&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)“在已经认识的 block 上读懂现代部件”;在[LAB 03](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-03-Transformer-9c5b3d45acdb438a8e7df1dc6cb97e40?utm_content=9c5b3d45acdb438a8e7df1dc6cb97e40&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)“F · 跟着一个 token 穿过完整 encoder block”核对 pre/post 的前向差异。若问题是训练为何更稳,接[一次有约束的比较怎样开始](https://codingai-lec05.pages.dev/course/knowledge/modern-transformer-parts.html#modern-transformer-parts-s06)及[位置×warmup 设计](experiments.html#r5-controlled),对照[论文配置与待执行 2×2](lecture.html#read-R49)检查变量。F 的数值复算不是这组训练的完成记录。