RMSNorm menormalisasi vektor hidden state tanpa mengurangi mean koordinatnya. Satu perbedaan ini memisahkannya dari LayerNorm pada antarmuka matematis: RMSNorm mengendalikan skala melalui statistik root mean square, sedangkan offset yang sama pada seluruh koordinat tetap menjadi bagian dari representasi yang ditransformasikan.

Untuk vektor x dengan lebar D, salah satu bentuk umum RMSNorm adalah:

rms(x) = sqrt(mean(x_i^2) + eps)
y_i    = g_i * x_i / rms(x)

Di sini g_i adalah skala per koordinat yang dapat dilatih dan eps adalah nilai positif kecil yang ditentukan implementasi model. Parameterisasi dan detail numerik yang tepat merupakan bagian dari kontrak checkpoint dan runtime.

Pengurangan mean mengubah operasi, bukan sekadar biaya

LayerNorm biasanya memusatkan vektor sebelum menskalakannya dengan statistik dispersi. Bentuk sederhananya:

mu      = mean(x)
sigma^2 = mean((x_i - mu)^2)
y_i     = g_i * (x_i - mu) / sqrt(sigma^2 + eps) + b_i

RMSNorm memakai second moment terhadap nol. Operasi ini tidak menghitung x_i - mu sebagai bagian dari normalisasi.

Perbedaannya terlihat saat offset aditif yang sama diberikan ke semua koordinat. Jika c ditambahkan ke seluruh koordinat, RMS berubah karena nilai kuadrat setiap koordinat ikut berubah. Offset tersebut tidak dihapus lebih dulu. Karena itu, RMSNorm tidak memiliki invariansi yang sama terhadap pergeseran seragam seperti normalisasi dengan mean centering.

Ini adalah sifat matematis dari aturan normalisasi. Sifat tersebut tidak berarti transformer secara keseluruhan akan mempertahankan offset seragam tanpa perubahan setelah proyeksi, penjumlahan residual, nonlinearitas, atau attention.

RMS terkait langsung dengan magnitudo vektor

Statistik RMS juga dapat ditulis memakai norm L2:

rms(x) = ||x||_2 / sqrt(D)

jika eps tidak dimasukkan ke ekspresi. Membagi dengan RMS berarti menskalakan ulang vektor berdasarkan magnitudo keseluruhannya sambil mempertahankan arah untuk vektor finite dan nonzero sebelum skala per koordinat g diterapkan.

Dengan epsilon, invariansi skala eksak melemah di dekat magnitudo kecil. Untuk skalar positif a, bentuk ideal tanpa epsilon menghasilkan:

rms(a * x) = a * rms(x)
(a * x) / rms(a * x) = x / rms(x)

Saat eps finite, pembatalan tersebut tidak eksak ketika kontribusi epsilon signifikan secara numerik. Efeknya bergantung pada magnitudo vektor, posisi epsilon, dan presisi eksekusi.

Skala yang dapat dilatih mengubah koordinat setelah normalisasi

Vektor yang sudah dinormalisasi umumnya dikalikan dengan vektor skala yang dapat dilatih. Artinya, output RMSNorm bukan sekadar proyeksi ke sphere dengan radius tetap. Vektor intermediate yang dinormalisasi memiliki RMS terkendali pada formula ideal, tetapi scaling per koordinat dapat meregangkan dimensi yang berbeda dengan besaran berbeda.

Karena itu, pernyataan tentang norm output akhir harus memperhitungkan g. Checkpoint dapat menyimpan gain yang berbeda antar koordinat, lalu layer linear berikutnya mengonsumsi nilai yang sudah diskalakan tersebut.

Sebagian implementasi dapat tidak memakai bias, sementara modul normalisasi lain menyediakan kumpulan parameter berbeda. Kode runtime harus mengikuti definisi arsitektur, bukan menyimpulkan keberadaan parameter hanya dari nama normalisasi.

Posisi terhadap residual branch merupakan bagian dari semantik

Blok transformer dapat menempatkan normalisasi sebelum sublayer, setelah penjumlahan residual, atau pada batas lain yang ditentukan arsitektur. RMSNorm sendiri tidak menentukan posisi tersebut.

Branch dengan normalisasi sebelum sublayer dapat digambarkan sebagai:

h_next = h + F(RMSNorm(h))

Blok lain dapat menormalisasi permukaan tensor yang berbeda. Memindahkan RMSNorm melewati F atau melewati penjumlahan residual secara umum mengubah fungsi yang direpresentasikan karena normalisasi bersifat nonlinear.

Hal ini relevan saat konversi model dan serving. Tensor masih dapat memiliki shape yang sesuai meski normalisasi dipasang pada batas yang salah. Validasi shape saja tidak dapat mendeteksi kesalahan semantik tersebut.

Presisi finite membuat jalur reduction dapat diamati

Perhitungan RMS memerlukan reduction atas koordinat yang dikuadratkan, lalu penambahan epsilon, square root, serta pembagian atau perkalian reciprocal. Kernel runtime dapat berbeda dalam presisi accumulator, urutan reduction, strategi fusion, dan batas casting.

Pilihan tersebut dapat menghasilkan perbedaan numerik kecil meski dua implementasi mewakili formula matematis yang sama. Input berpresisi rendah tidak mengharuskan setiap operasi intermediate memakai presisi yang sama; perilaku accumulator yang sebenarnya bergantung pada implementasi.

Overflow dan underflow juga tetap relevan. Mengkuadratkan nilai finite yang besar dapat melampaui rentang tipe intermediate yang dipilih. Sebaliknya, nilai kuadrat yang sangat kecil dapat kehilangan signifikansi. Implementasi yang stabil biasanya memilih jalur numerik sesuai dtype yang didukung, tetapi formula normalisasi saja tidak menjamin seluruh nilai intermediate tetap finite.

RMSNorm tidak membatasi seluruh aktivasi setelahnya

Normalisasi pada satu permukaan hidden state mengendalikan statistik di lokasi tersebut. Operasi ini tidak menetapkan batas global untuk attention logits, aktivasi feed-forward, residual state, atau output logits setelahnya.

Pemetaan linear berikutnya dapat memperbesar arah tertentu. Penjumlahan residual dapat menggabungkan jalur tanpa normalisasi dengan branch yang dinormalisasi. Skala per koordinat yang dapat dilatih juga dapat mengubah magnitudo yang diterima operasi berikutnya.

Untuk debugging, batas yang relevan bersifat lokal: periksa tensor yang masuk ke RMSNorm, reduction yang dihitung, penanganan epsilon, parameter skala, dan tensor yang keluar dari modul. Menganggap RMSNorm sebagai jaminan magnitudo end-to-end dapat menutupi masalah yang terjadi setelah batas tersebut.

Kontrak RMSNorm bersifat sempit dan konkret. Operasi ini memperoleh skala dari second moment terhadap nol, membagi hidden state dengan skala tersebut, lalu menerapkan parameter yang ditentukan arsitektur. Mean centering tidak digunakan, posisi operasi bergantung pada model, dan detail finite precision tetap menjadi bagian dari implementasi yang setia.