LayerNorm dan RMSNorm dapat menempati posisi struktural yang sama pada transformer sambil menerapkan operasi berbeda pada residual stream. LayerNorm mengurangi feature mean sebelum melakukan scaling berdasarkan ukuran penyebaran. RMSNorm melewati operasi centering dan melakukan scaling langsung dari root mean square feature.
Perbedaan aljabar kecil tersebut mengubah transformasi mana pada vektor aktivasi yang dihapus oleh normalisasi. Artinya, mengganti satu operasi dengan yang lain secara umum bukan edit yang mempertahankan fungsi model yang sudah ada.
Kedua operasi menormalisasi besaran yang berbeda
Untuk vektor aktivasi x dengan d feature, LayerNorm terlebih dahulu menghitung feature mean
mu = (1 / d) * sum_i x_idan varians
var = (1 / d) * sum_i (x_i - mu)^2Dengan mengabaikan optional bias untuk sementara, output ternormalisasinya berbentuk
y_i = gamma_i * (x_i - mu) / sqrt(var + eps)RMSNorm menggunakan
rms = sqrt((1 / d) * sum_i x_i^2 + eps)
y_i = gamma_i * x_i / rmsKeduanya menerapkan scale parameter gamma per feature. Perbedaan utama adalah tidak adanya pengurangan mu pada RMSNorm. Denominator RMSNorm mengukur jarak dari origin, sedangkan LayerNorm mengukur penyebaran di sekitar feature mean.
Perbedaan ini dapat mengecil pada vektor yang feature mean-nya sudah mendekati nol, tetapi terlihat ketika vektor memiliki komponen besar yang dibagi bersama oleh semua feature.
Pertimbangkan
x = [2, 4]dan vektor yang digeser
x_shifted = [12, 14]Tanpa epsilon dan parameter affine, LayerNorm menghasilkan arah ternormalisasi yang sama untuk kedua vektor karena pengurangan mean menghapus offset bersama. RMSNorm tidak. Penambahan 10 ke setiap feature mengubah numerator sekaligus root mean square, sehingga vektor ternormalisasinya berbeda.
Centering menciptakan invariansi terhadap pergeseran
Langkah centering memberi LayerNorm invariansi yang tidak dimiliki RMSNorm. Jika skalar c yang sama ditambahkan ke setiap feature,
x' = x + c * 1maka vektor setelah centering tetap sama:
x' - mean(x') = x - mean(x)terlepas dari efek floating-point biasa. LayerNorm dengan demikian menghapus komponen vektor aktivasi pada arah all-ones sebelum menerapkan scale normalization.
RMSNorm mempertahankan komponen tersebut. Efek normalisasi utamanya berkaitan dengan magnitudo vektor, bukan offset sepanjang arah all-ones. Mengalikan setiap feature dengan skalar positif yang sama mempertahankan arah ternormalisasi ideal ketika eps diabaikan. Dengan epsilon nonzero, invariansi skala eksak hanya bersifat aproksimasi ketika magnitudo aktivasi mendekati skala epsilon.
Ini bukan sekadar perbedaan nama. Model dapat menempatkan informasi pada arah yang dihapus satu normalisasi tetapi dipertahankan yang lain. Kode arsitektur yang menganggap kedua layer dapat dipertukarkan hanya karena shape input dan output cocok akan mengabaikan operasi yang dilakukan pada representasi tersebut.
Penempatan epsilon merupakan bagian dari definisi
Formula normalisasi sering terlihat cukup ringkas sehingga detail implementasi dianggap tidak penting. Epsilon merupakan salah satu detail yang perlu diperiksa secara eksplisit.
Bentuk RMSNorm yang umum adalah
x / sqrt(mean(x^2) + eps)sedangkan ekspresi yang berbeda secara matematis adalah
x / (sqrt(mean(x^2)) + eps)Keduanya berdekatan ketika root mean square jauh lebih besar daripada eps, tetapi tidak identik di dekat nol. Pertimbangan yang sama berlaku pada implementasi LayerNorm.
Framework dan kode model juga dapat berbeda pada presisi akumulasi. Implementasi dapat mengonversi aktivasi ke tipe floating-point yang lebih lebar untuk reduction, lalu mengembalikan hasil normalisasi ke tipe input. Perilaku ini memengaruhi numerical error dan harus diperiksa pada operator aktual, bukan disimpulkan dari nama layer.
Untuk konversi model, kompatibilitas checkpoint, atau exact-output test, spesifikasi yang relevan mencakup nilai epsilon, penempatannya, parameter affine, reduction dimension, dan presisi numerik.
Aritmetika yang lebih sedikit tidak menjamin latency lebih rendah
RMSNorm menghindari penghitungan dan pengurangan feature mean. Pada tingkat operasi, hal ini menghapus pekerjaan yang ada pada LayerNorm. Fakta tersebut tidak membuktikan bahwa implementasi RMSNorm arbitrer akan berjalan lebih cepat daripada implementasi LayerNorm arbitrer.
Runtime bergantung pada kernel fusion, memory traffic, bentuk tensor, data type, hardware, perilaku compiler, dan dukungan framework. Kernel LayerNorm terfusi yang sangat teroptimasi dapat mengungguli RMSNorm naif yang disusun dari beberapa operasi tensor walaupun formula RMSNorm memiliki lebih sedikit reduction dan operasi elementwise.
Perbedaan ini penting ketika normalisasi muncul berkali-kali pada transformer. Mengganti kernel teroptimasi dengan formula lebih sederhana yang diekspresikan sebagai operasi terpisah dapat menambah kernel launch dan intermediate memory traffic. Klaim performa harus merujuk pada implementasi yang diukur dalam kondisi yang dinyatakan, bukan hanya jumlah operasi di atas kertas.
Penggantian mengubah fungsi model kecuali ada kondisi tambahan
Checkpoint yang dilatih dengan parameter LayerNorm secara umum tidak dapat dikonversi menjadi RMSNorm hanya dengan menghapus pengurangan mean dan menyalin gamma. Untuk vektor input arbitrer, aktivasi ternormalisasi keduanya berbeda, sehingga setiap komputasi downstream juga dapat berbeda.
Substitusi sebaliknya memiliki masalah yang sama. Menambahkan centering ke model yang dibangun dengan RMSNorm menghapus komponen yang sebelumnya dapat dipertahankan jaringan.
Ada arsitektur khusus atau hubungan parameter tertentu yang memungkinkan operasi centering diserap di tempat lain tanpa mengubah fungsi keseluruhan. Kasus tersebut memerlukan pembuktian yang terkait dengan linear map dan bias di sekitarnya. Hal itu tidak membuat LayerNorm dan RMSNorm ekuivalen secara universal.
Bagi developer yang memuat atau mentransformasi checkpoint, jenis normalisasi merupakan bagian dari arsitektur model, bersama attention layout, activation function, positional representation, dan dimensi tensor. Ketidakcocokan dapat menghasilkan shape tensor yang valid tetapi model yang berbeda.
Penempatan pre-normalization merupakan pilihan desain terpisah
Diskusi transformer kadang mencampur formula normalisasi dengan lokasinya di residual block. Keduanya adalah pilihan independen.
Blok pre-normalized dapat digambarkan sebagai
h = x + sublayer(norm(x))sedangkan blok post-normalized berbentuk
h = norm(x + sublayer(x))Kedua pola struktural secara prinsip dapat memakai operator normalisasi berbeda. Mengubah LayerNorm menjadi RMSNorm mengubah operator. Memindahkan normalisasi melintasi residual addition mengubah computation graph. Menganggap kedua edit sebagai satu konsep membuat perbandingan sulit diinterpretasikan karena dua variabel berubah sekaligus.
Pemisahan yang sama membantu saat membaca file konfigurasi model. Field yang menyebut RMSNorm mengidentifikasi aturan normalisasi, tetapi tidak dengan sendirinya menentukan apakah normalisasi terjadi sebelum attention, setelah residual addition, sebelum final output projection, atau pada beberapa lokasi tersebut.
Mean offset dapat menampakkan perbedaan perilaku
Diagnostik ringkas untuk dua implementasi normalisasi adalah membandingkan respons terhadap pergeseran feature yang seragam. Mulai dengan vektor nonkonstan arbitrer x, lalu bentuk x + c dengan skalar c yang diterapkan ke setiap feature.
Untuk LayerNorm, output ternormalisasi sebelum affine bias seharusnya tetap sama dalam toleransi numerik. Untuk RMSNorm, output umumnya berubah. Test ini mengisolasi perbedaan centering tanpa memerlukan transformer lengkap.
Pemeriksaan kedua yang berguna adalah menskalakan vektor dengan konstanta positif. Kedua operasi dirancang untuk menekan overall scale, walaupun epsilon hingga membuat kesamaan tidak sempurna di dekat nol. Menguji magnitudo aktivasi biasa dan sangat kecil dapat mengungkap perbedaan pada penempatan epsilon atau reduction precision.
Pemeriksaan ini lebih informatif daripada hanya membandingkan output acak dari model besar. Pemeriksaan tersebut menargetkan invariansi spesifik yang tersirat oleh formula dan dapat mengidentifikasi ketidakcocokan operator sebelum efeknya menyebar melalui puluhan transformer block.
RMSNorm bukan sekadar LayerNorm dengan implementasi lebih murah. RMSNorm menghapus centering dari aturan normalisasi dan karena itu mempertahankan komponen aktivasi yang secara eksplisit dibuang LayerNorm. Perbedaan tersebut perlu tetap terlihat dalam port arsitektur, konversi checkpoint, numerical test, dan pengukuran performa.