跳转至

五: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 后为什么还需要可学习的 gammabeta

  • 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 的 gammabeta shape 通常是什么?

  • 如果把 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="