To reproduce an older paper, you refactor a 48-layer decoder from pre-norm to post-norm, keep the identical learning rate schedule with no warmup, and relaunch. Loss diverges within 300 steps; the pre-norm run was stable. Diagnose the root cause and propose two concrete fixes that keep post-norm.
Post-norm breaks the identity gradient path that pre-norm provides, so early-training gradients are depth-amplified and the first cold-start updates blow up. Fix with LR warmup and depth-aware residual scaling.
Pre-norm is like a building with a fire-pole going from every floor straight to the ground. Information can fall through cleanly without being squeezed. Post-norm replaces each pole section with a revolving door that scales whatever passes through. Run cold and a single big push at the top spins all 48 doors and the energy at the bottom is huge. With a slow ramp-up (warmup), the doors get oiled gradually. With smaller doors at each floor (initialization scaling), the energy stays bounded. The original 2017 Transformer was post-norm and shipped with this kind of slow ramp-up because the team had figured the problem out.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Post-norm vs pre-norm is a one-line equation change that reshapes the training setup.
This failure is what the math predicts: stripping the identity gradient path and running a cold-start optimizer on a 48-layer stack is destabilizing. Treating this as a code bug wastes hours. Recognizing the architectural cause solves it in one PR.
The two block equations side by side
Pre-norm. y = x + sublayer(LN(x)). The LayerNorm sits inside the sublayer branch. The residual stream x passes through the outer + un-normalized.
Post-norm. y = LN(x + sublayer(x)). The sublayer reads the un-normalized residual stream. The LayerNorm sits on top of the residual add.
The gradient through pre-norm is dy/dx = I + (dsublayer/dLN) * (dLN/dx). The I term is the identity path: any gradient from the loss reaches x with at least a multiplicative factor of 1 unchanged.
The gradient through post-norm is dy/dx = (dLN/d_input) * (I + dsublayer/dx). The LayerNorm Jacobian dLN/d_input multiplies everything, including the identity term. Across L layers, the product of L LayerNorm Jacobians depends on the activation scale at every layer and is sensitive to initialization.
Pre-norm gives a clean signal path; post-norm does not.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- The original Transformer (Vaswani et al., 2017) was post-norm and shipped with the inverse-sqrt warmup schedule to keep cold starts stable.
- GPT-2 (OpenAI, 2019) switched to pre-norm and trained a stable 48-layer model. This drove the open-source convention.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow does DeepNet's residual scaling differ from 1/sqrt(2L) output projection scaling?
DeepNet up-weights the residual (skip) input by a depth-dependent alpha and scales the initialization of the sublayer weights by beta, with both factors derived to bound the size of each model update. 1/sqrt(2L) is a simpler one-knob version that addresses output variance only.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Blaming the divergence on a code bug or bad data. The architecture change itself made the existing schedule incompatible. The run is doing what the math predicts.
60 second bullets to scan on the way to the call.
Write the pre-norm and post-norm block equations side by side and identify where the norm sits
Explain the identity gradient path in pre-norm
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.