JA EN
LearnInference & Serving
·★ MEMBER·PAPER·8 min read

Paper Walkthrough: Normalized Low-Rank Adaptation — Why Normalizing LoRA's Entry Matrix Works

Rescaling LoRA's down-projection so every column has unit length improves convergence, stability and forgetting resistance at zero extra cost. A ground-up reading of Normalized Low-Rank Adaptation (NoRA) through the lens of a hidden preconditioner.

ModalitytextTaskinference

Normalized Low-Rank Adaptation

Primary source — what this article is built on

undefined2026-08-31undefined2026-09-03same month

Normalized Low-Rank AdaptationJiale Kang, Ziyin Yue, Zheng Zhan et al. · 2026-08-31 · v1arXiv:2608.31036Paper page·PDF
undefined

While low-rank adaptation (LoRA) is widely used for parameter-efficient model adaptation, how to regularize its training dynamics for stable and effective optimization remains underexplored. Because LoRA initializes the up-projection to zero, its early optimization dynamics are largely governed by the down-projection. Building on this observation, we introduce Normalized Low-Rank Adaptation (NoRA), a simple yet effective method that normalizes the down-projection matrices during training. We further show that the same normalization can be applied only at initialization, improving standard LoRA without requiring repeated normalization throughout training. Across pretraining, supervised finetuning, and reinforcement learning, NoRA consistently accelerates convergence, improves performance and training stability, and mitigates catastrophic forgetting. These benefits require neither additional trainable parameters nor inference-time computation, making NoRA a simple and broadly applicable enhancement to LoRA.


The entry matrix decides LoRA's first step

The paper walked through here is titled "Normalized Low-Rank Adaptation" (Jiale Kang, Ziyin Yue, Zheng Zhan, Yangyi Huang, Weiyang Liu / arXiv:2608.31036, posted 31 August 2026). The method it proposes is called NoRA.

The claim, in the paper's own framing: LoRA is everywhere, yet how to regularize its training dynamics for stable and effective optimization stays underexplored. Because LoRA initializes the up-projection B\bm{B} to zero, early optimization is governed almost entirely by the down-projection A\bm{A}. NoRA normalizes A\bm{A} during training. Applying the same normalization only at initialization also improves plain LoRA. Across pretraining, supervised finetuning (SFT) and reinforcement learning this accelerates convergence, improves performance and stability, and mitigates catastrophic forgetting — with no extra trainable parameters and no inference-time computation (Abstract).

A metaphor: a mixing desk with faders set at random

A\bm{A} is the entry point that pushes each input dimension into a narrow rr-dimensional latent space — one fader per input channel on a mixing console. Standard LoRA sets those faders from random numbers, and because the convention is to sample with small variance, they tend to sit uniformly low as well. Start recording in that state and the channels that come through loudly get tuned quickly, while the muted ones barely register. In other words, how fast each input dimension learns is decided by the initialization seed, not the data or the task. NoRA levels every fader before recording starts.

Background: what B=0\bm{B}=\bm{0} costs

LoRA writes the update to a pretrained weight W0\bm{W}_0 as a product of two thin matrices (§2).

ΔW=WW0=αBA\Delta\bm{W}=\bm{W}-\bm{W}_{0}=\alpha\bm{B}\bm{A}
(1)

In plain words: express the whole change in the weight as one skinny matrix times another. ARr×k\bm{A}\in\mathbb{R}^{r\times k} is the down-projection squeezing kk input dimensions into rr; BRd×r\bm{B}\in\mathbb{R}^{d\times r} is the up-projection back to dd output dimensions; rr is a rank far below dd or kk; α\alpha is a scaling factor.

What matters is the initialization B(0)=0\bm{B}^{(0)}=\bm{0}. Since ΔW\Delta\bm{W} starts at zero, the model at step 0 behaves exactly like the pretrained one — safe, but with a side effect. Writing G=L/W\bm{G}=\partial\mathcal{L}/\partial\bm{W} for the gradient full finetuning would follow (§2):

LBt=0=αG(A(0)),LAt=0=0\left.\frac{\partial\mathcal{L}}{\partial\bm{B}}\right|_{t=0}=\alpha\bm{G}(\bm{A}^{(0)})^{\top},\qquad\left.\frac{\partial\mathcal{L}}{\partial\bm{A}}\right|_{t=0}=\bm{0}
(2)

Read simply: at the first moment of training, A\bm{A} receives no gradient. With B\bm{B} at zero, moving A\bm{A} changes no output and therefore no loss. A\bm{A} is left at its initial value, and LoRA's early optimization depends entirely on the random features induced by A(0)\bm{A}^{(0)} (§2). That is the paper's starting point.

FIG 1Watch reconstruction error and parameter count move together as rank r changes. LoRA applies this structure to ΔW = BA, so the smaller r is, the more the design of the "entry" matrix decides the outcome

The mechanism: unit-length columns along the rank axis

The idea comes from Multi-head Latent Attention (MLA) (§3.1). MLA normalizes the latent representation in its bottleneck, and that was observed to stabilize training and speed up convergence: ϕ(x)=Norm(Ax)\bm{\phi}(\bm{x})=\text{Norm}(\bm{A}\bm{x}) normalizes the feature after projection.

Dropping that straight into LoRA creates a problem. The normalization depends on the input, so BNorm(Ax)\bm{B}\cdot\text{Norm}(\bm{A}\bm{x}) is nonlinear in x\bm{x} and can no longer be folded into W0\bm{W}_0 after training (§3.1). Since most of LoRA's practical value is "merge it and pay nothing at inference," that is a bad trade.

So the paper moves the normalization from the feature to the projection matrix itself. Column jj of A\bm{A}, written ajRr\bm{a}_j\in\mathbb{R}^{r}, describes how input coordinate jj is sent into the latent space; normalize it along the rank axis (§3.1).

Norm(A)=[a1max(a12,ϵ),,akmax(ak2,ϵ)]\text{Norm}(\bm{A})=\left[\frac{\bm{a}_{1}}{\max(\lVert\bm{a}_{1}\rVert_{2},\epsilon)},\,\dots,\,\frac{\bm{a}_{k}}{\max(\lVert\bm{a}_{k}\rVert_{2},\epsilon)}\right]
(3)

All it does is divide each column of A\bm{A} by its own length (ϵ\epsilon guards against dividing by zero).

Fold that into the forward pass and you get — training with every entry fader pinned at the same height. Unlike MLA, depends only on the LoRA parameters, never on the input, so the map stays linear in and the adapter merges exactly after training (§3.1).

What's behind this

§

Members-only from here

371 walkthroughs, 26 textbook chapters, 48 student units and 6 close readings — all included for $4.99/mo, with three new explainers every day. Cancel any time; access runs to the end of the period.

Already a member? Sign in to keep reading

References

  1. Jiale Kang, Ziyin Yue, Zheng Zhan, Yangyi Huang et al.. (2026-08-31) Normalized Low-Rank Adaptation. arXiv:2608.31036Paper page·PDF

This article is written from the source paper above. Where they differ, the original is authoritative.

Comments

Sign in to comment