RMSNorm menormalisasi vektor menggunakan root mean square, bukan standard deviation setelah centering. Perbedaan kecil ini menghilangkan pengurangan mean dari tahap normalisasi. Akibatnya, RMSNorm dan LayerNorm dapat merespons perubahan skala dengan pola serupa pada kondisi tertentu, tetapi memberi respons berbeda terhadap pergeseran aditif pada hidden state.

Perbedaan tersebut relevan pada implementasi transformer karena normalisasi menjadi bagian dari geometri residual path. Mengganti satu aturan normalisasi dengan aturan lain bukan sekadar mengganti rangkaian operasi aritmetika; pergantian itu mengubah transformasi aktivasi yang dibatalkan dan informasi yang tetap diteruskan ke komputasi berikutnya.

RMSNorm mengukur magnitudo relatif terhadap nol

Untuk vektor x dengan d komponen, bentuk RMSNorm yang umum adalah:

rms(x) = sqrt((1 / d) * sum(x_i^2) + epsilon)
y_i = g_i * x_i / rms(x)

Di sini g_i adalah parameter skala per komponen dan epsilon mencegah pembagian dengan nilai yang terlalu dekat ke nol. Posisi serta perlakuan numerik terhadap epsilon dapat berbeda antarimplementasi, sehingga pemeriksaan ekuivalensi perlu mengikuti definisi yang benar-benar dipakai model target.

Denominator mengukur magnitudo relatif terhadap nol. Tidak ada operasi yang mengurangi mean komponen sebelum kuadratnya diakumulasi. Karena itu, vektor dengan mean bukan nol membawa offset tersebut ke numerator sekaligus denominator RMS.

LayerNorm memakai geometri berbeda. Dalam bentuk yang lazim, LayerNorm menghitung mean terlebih dahulu, memusatkan vektor, lalu membaginya dengan komponen standard deviation. Tahap centering tersebut menghapus offset konstan yang sama pada semua komponen yang dinormalisasi sebelum transformasi affine diterapkan.

Skala multiplikatif sebagian besar saling meniadakan

Jika epsilon diabaikan sementara, mengalikan semua komponen dengan skalar positif a menghasilkan:

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

Untuk skalar negatif, besar skalanya tetap saling meniadakan, tetapi tanda vektor hasil normalisasi berbalik. Jika pengaruh epsilon tidak dapat diabaikan, invariansi skala tidak lagi tepat pada magnitudo yang sangat kecil karena stabilizer aditif tersebut tidak ikut berubah mengikuti x.

Perilaku ini perlu dibedakan dari skala terlatih g. Normalisasi RMS membatasi magnitudo input pada titik tersebut di jaringan, sedangkan g kemudian dapat memberi skala berbeda pada tiap komponen. Karena itu, vektor keluaran tidak diwajibkan memiliki RMS satu setelah skala elementwise diterapkan.

Pergeseran aditif tetap terlihat

Misalkan konstanta c ditambahkan ke setiap komponen:

x' = x + c

RMSNorm tidak menghapus c. Numerator dan denominator root mean square sama-sama berubah. Arah vektor hasil normalisasi secara umum berbeda dari hasil untuk x.

LayerNorm memberi perilaku berbeda untuk pergeseran aditif seragam ketika dimensi normalisasi dan aritmetika lainnya tetap sama. Pengurangan mean menghapus offset bersama tersebut:

(x_i + c) - mean(x + c) = x_i - mean(x)

Ini adalah perbedaan struktural, bukan klaim bahwa salah satu aturan selalu lebih unggul. Model yang dilatih dengan RMSNorm dapat membentuk residual state sesuai perilaku yang diberikan RMSNorm. Menggantinya dengan LayerNorm saat inference mengubah fungsi yang direpresentasikan jaringan meskipun tensor shape dan dimensi parameter affine cocok.

Pergantian ke arah sebaliknya menimbulkan masalah yang sama. Parameter yang dioptimalkan dengan normalisasi terpusat tidak otomatis menghasilkan perilaku ekuivalen saat denominator RMS digunakan.

Centering mengubah arah vektor

Normalisasi juga dapat dilihat secara geometris. RMSNorm membagi vektor dengan skalar yang berasal dari magnitudo Euclidean, selain konstanta yang terkait dimensi dan epsilon. Sebelum skala elementwise diterapkan, rescaling positif mempertahankan vektor pada ray yang sama dari titik asal.

Mean centering melakukan operasi berbeda: komponen vektor pada arah all-ones dihapus sebelum rescaling. Operasi tersebut mengubah arah kecuali vektor awal sudah memiliki mean nol.

Perbedaannya terlihat pada pasangan sederhana berikut:

x  = [1, 3]
x' = [3, 5]

Vektor kedua sama dengan vektor pertama ditambah [2, 2]. Centering memetakan keduanya ke pola terpusat yang sama, yaitu [-1, 1]. Normalisasi RMS tidak demikian: setiap vektor dibagi dengan magnitudonya sendiri relatif terhadap nol, sehingga arah kedua hasil normalisasi tetap berbeda.

Perbedaan arah ini lebih informatif daripada hanya membandingkan norm keluaran. Dua metode normalisasi dapat menghasilkan magnitudo yang sama-sama terbatas sambil mempertahankan informasi berbeda tentang offset pada representasi masuk.

Dimensi normalisasi menentukan statistik

RMSNorm hanya terdefinisi relatif terhadap dimensi tempat statistiknya dihitung. Pada blok transformer, statistik ini sering dihitung sepanjang hidden dimension untuk setiap posisi token, tetapi implementasi harus mengikuti normalized shape yang benar-benar ditetapkan model.

Mengubah dimensi reduksi berarti mengubah denominator. Menghitung satu RMS untuk beberapa token, misalnya, akan mengaitkan skala token-token tersebut dan tidak ekuivalen dengan normalisasi per token sepanjang komponen hidden.

Layout tensor saja tidak menentukan axis yang dimaksud. Serving kernel, graph compiler, dan model converter perlu mempertahankan normalized shape sebagai bagian dari semantik operator, bukan menyimpulkannya hanya dari region memori yang contiguous.

Precision memengaruhi jalur reduksi

Penjumlahan kuadrat adalah operasi reduksi, sehingga perilaku numeriknya bergantung pada accumulation precision dan implementasi kernel. Tensor input berprecision rendah tidak otomatis berarti setiap intermediate dalam perhitungan normalisasi memakai precision rendah yang sama. Sebagian implementasi menaikkan precision untuk bagian tertentu sebelum hasil dikonversi kembali ke dtype kerja model.

Hal ini relevan saat memvalidasi fused RMSNorm kernel terhadap implementasi referensi. Kesamaan bit bukan konsekuensi umum dari formula yang sama. Urutan reduksi, accumulation dtype, epsilon, dan rounding dapat menghasilkan selisih numerik kecil meskipun kedua implementasi merepresentasikan definisi operator yang sama.

Uji kompatibilitas karena itu perlu membedakan ketidakcocokan semantik dari variasi floating-point yang diperkirakan. Normalized axis yang salah atau parameter skala yang hilang merupakan kesalahan fungsional; selisih kecil akibat urutan reduksi merupakan persoalan numerik terpisah dengan toleransi yang bergantung pada kebutuhan deployment.

Posisi di residual block adalah bagian dari model

Arsitektur transformer dapat menempatkan normalisasi sebelum atau sesudah operasi residual tertentu. RMSNorm tidak menentukan posisi tersebut. RMSNorm hanya mendefinisikan operasi normalisasi pada titik tempat arsitektur menerapkannya.

Memindahkan RMSNorm yang sudah ada melewati attention, MLP, atau residual addition mengubah komputasi. Demikian pula, menambahkan bias hanya karena layer normalisasi lain memilikinya akan mengubah model kecuali parameter itu memang bagian dari arsitektur yang diimplementasikan.

Untuk model conversion dan serving, batas yang aman adalah arsitektur terserialisasi, bukan nama operator saja. Axis yang dinormalisasi, parameter skala, epsilon, perilaku dtype, dan posisi pada residual graph bersama-sama menentukan operasi efektif.

Batas utama RMSNorm cukup spesifik: magnitudo dikendalikan relatif terhadap nol tanpa menghapus mean aktivasi. Offset seragam tetap tersedia bagi komputasi berikutnya, sehingga respons terhadap pergeseran aditif menjadi pembeda langsung dari normalisasi yang memakai centering. Implementasi yang mempertahankan nama RMSNorm tetapi mengubah batas tersebut menjalankan fungsi yang berbeda.