五:Normalization 与 Pre-Norm/Post-Norm自测题¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483798&idx=1&sn=50bb85ca583a65ea3816923ca27e434e&chksm=f01eb2efc7693bf91eb42af6da76603837bcc7de796c9431f9cd8d4dfcf3ee709597eb57c322#rd
覆盖范围¶
-
Normalization 的作用和统计维度
-
BatchNorm 的公式、训练/推理差异、running stats
-
LayerNorm 的公式、shape、为什么适合 Transformer
-
RMSNorm 的公式、与 LayerNorm 的差异、LLM 中的应用
-
BN/LN/RMSNorm 的对比
-
Transformer pre-norm 与 post-norm
-
梯度传播、warmup、深层训练稳定性
-
实现细节、混合精度、padding、工程排错
一、Normalization 基础¶
-
请用 1 分钟解释 normalization 在深度学习中的作用。
-
normalization 通常会执行哪些基本操作?
-
为什么说理解 normalization 的关键是理解“统计维度”?
-
给定 Transformer hidden states
x: [B, T, H],BN、LN、RMSNorm 分别通常在哪些维度上统计? -
normalization 中的
eps有什么作用? -
normalization 后为什么还需要可学习的
gamma和beta? -
normalization 是否一定能提升所有模型效果?为什么不能绝对化?
-
normalization 和 residual connection 在深层网络中分别解决什么问题?
二、Batch Normalization¶
-
BatchNorm 的核心公式是什么?
-
BatchNorm 中训练阶段和推理阶段有什么不同?
-
running mean 和 running variance 是什么?
-
BatchNorm 为什么依赖 batch size?
-
BatchNorm 在 CNN 中为什么常见且有效?
-
BatchNorm 在 NLP/Transformer 中为什么不如 LayerNorm 常用?
-
padding 会如何影响序列任务中的 BatchNorm 统计?
-
小 batch size 下 BatchNorm 可能出现什么问题?
-
分布式训练中 SyncBatchNorm 解决什么问题?代价是什么?
-
如果推理时忘记把含 BN 的模型切到 eval 模式,会发生什么?
三、Layer Normalization¶
-
LayerNorm 的核心公式是什么?
-
对
x: [B, T, H],Transformer 中 LayerNorm 的 mean/var 是如何计算的? -
LayerNorm 为什么不依赖 batch size?
-
LayerNorm 的训练和推理行为是否一致?为什么?
-
LayerNorm 为什么适合变长序列和自回归生成?
-
LayerNorm 中
normalized_shape=H是什么意思? -
LayerNorm 的
gamma和betashape 通常是什么? -
如果把 LayerNorm 错误地跨 token 维度统计,可能带来什么问题?
-
面试中如何回答“为什么 Transformer 用 LN 而不是 BN”?
四、RMSNorm¶
-
RMSNorm 的核心公式是什么?
-
RMSNorm 和 LayerNorm 的主要区别是什么?
-
RMSNorm 为什么可以被看作只做 re-scaling、不做 re-centering?
-
RMSNorm 通常是否有 beta bias?现代 LLM 中常见做法是什么?
-
RMSNorm 相比 LayerNorm 有哪些计算或工程优势?
-
RMSNorm 是否一定比 LayerNorm 好?如何客观回答?
-
为什么现代 decoder-only LLM 常用 RMSNorm?
-
请写出 RMSNorm 的 PyTorch 风格伪代码。
五、BN、LN、RMSNorm 对比¶
-
请用一张表口头对比 BN、LN、RMSNorm 的统计维度、训练推理差异和适用场景。
-
BN、LN、RMSNorm 分别是否依赖 batch 内其他样本?
-
BN、LN、RMSNorm 对 batch size=1 的推理分别有什么影响?
-
为什么 BN 有 running stats,而 LN/RMSNorm 通常没有?
-
词表、序列长度、padding、batch size 中,哪些会直接影响 LN 的统计?哪些不会?
-
混合精度训练中 normalization 可能有哪些数值稳定问题?
六、Pre-Norm 与 Post-Norm¶
-
什么是 Post-Norm Transformer block?请写出公式。
-
什么是 Pre-Norm Transformer block?请写出公式。
-
原始 Transformer 使用的是 pre-norm 还是 post-norm?
-
Pre-Norm 和 Post-Norm 的核心结构差异是什么?
-
为什么 Pre-Norm 更容易训练深层 Transformer?
-
从梯度路径角度解释 Pre-Norm 的优势。
-
从梯度路径角度解释 Post-Norm 的潜在问题。
-
Post-Norm 为什么通常更依赖 warmup 或谨慎初始化?
-
Pre-Norm 是否完全不需要 warmup?为什么?
-
Pre-Norm 有哪些潜在局限?
-
为什么 Pre-Norm 模型常在最后加 final norm?
-
现代 LLM 中常见的
RMSNorm + Pre-Norm + Final Norm结构是什么样?
七、实现与代码题¶
-
请写出 LayerNorm 的 PyTorch 风格伪代码。
-
请写出一个 Pre-Norm Transformer block 的伪代码。
-
请写出一个 Post-Norm Transformer block 的伪代码。
-
给定
x: [B, T, H],gamma: [H],LayerNorm 输出 shape 是什么? -
RMSNorm 中为什么常用
x.float()计算 RMS,再 cast 回原 dtype? -
eps取值过大或过小可能有什么影响? -
如果从 LayerNorm 替换成 RMSNorm,权重迁移时需要注意什么?
八、工程排错与面试追问¶
-
训练出现 NaN,normalization 相关排查点有哪些?
-
如果 Transformer 训练很深时不收敛,pre/post norm 角度可以如何分析?
-
如果把 Post-Norm checkpoint 加载到 Pre-Norm 结构中,会有什么问题?
-
如果模型输出 logits 前 hidden state scale 很不稳定,normalization 角度可以怎么处理?
-
为什么说 BN 的训练/推理不一致对自回归 LLM 不友好?
-
Pre-Norm 更稳定,为什么还有研究关注 Post-Norm 或 DeepNorm 等方法?
-
Sandwich Norm、DeepNorm、ScaleNorm 大致想解决什么问题?
-
面试官问“RMSNorm 为什么省计算”,你会如何回答?
-
面试官问“LayerNorm 会不会破坏 token 之间的信息交互”,你会如何回答?
-
请总结第五天知识链路:从 normalization 到 BN/LN/RMSNorm,再到 pre-norm/post-norm。
预览时标签不可点<div class="