b belajar.myudak

Implementasikan RMSNorm di sepanjang axis terakhir dengan eps = 1e-6:

y=x1d∑ixi2+ε⊙wy = \frac{x}{\sqrt{\frac{1}{d}\sum_i x_i^2 + \varepsilon}}\odot w
x = [3, 4], w = [1, 1]  →  RMS = √12.5 ≈ 3.5355  →  [0.8485, 1.1314]

LayerNorm tanpa pusat

RMSNorm membuang dua hal dari LayerNorm: pengurangan rata-rata dan bias β\beta. Yang tersisa hanya pembagian dengan root mean square. Hasil eksperimen menunjukkan bahwa menormalkan skala adalah bagian yang paling penting, sedangkan memusatkan data tidak banyak membantu.

Keuntungannya: lebih sedikit operasi dan lebih sedikit parameter. Karena itu banyak LLM modern (keluarga LLaMA, Mistral, Gemma) memakai RMSNorm.

ε

Tanpa ε\varepsilon, vektor yang semuanya nol (lihat case ketiga) akan menghasilkan 0/00/0 = nan. ε\varepsilon kecil menjamin penyebutnya tidak pernah nol.

Penjelasan

Yang diminta. Bagi setiap vektor dengan root mean square-nya, lalu kalikan dengan weight.

Bedanya dengan LayerNorm. Tidak ada pengurangan rata-rata dan tidak ada beta. Yang dinormalkan hanya skala vektor:

RMS(x)=1d∑ixi2+ε\text{RMS}(x) = \sqrt{\tfrac{1}{d}\textstyle\sum_i x_i^2 + \varepsilon}

Langkah di kode:

  1. rms = np.sqrt((x ** 2).mean(axis=-1, keepdims=True) + eps), berbentuk (..., 1).
  2. x / rms * weight.

Cek. [3, 4]: mean kuadrat =(9+16)/2=12.5= (9+16)/2 = 12.5, RMS =3.5355= 3.5355, hasil [0.8485, 1.1314]. Setelah dinormalkan, rata-rata kuadratnya menjadi 1.

Case vektor nol. [0, 0, 0, 0]: RMS =ε= \sqrt{\varepsilon}, jadi hasilnya 0, bukan nan. Itulah fungsi eps.

Yang dikembalikan: array berbentuk sama dengan x.

Topik
normalisasirmsnormllm
Petunjuk 1

RMS = √(mean(x²) + ε), dihitung di axis=-1 dengan keepdims=True.

Petunjuk 2

Berbeda dari LayerNorm: tidak ada pengurangan mean dan tidak ada β.

Python 3.14 · NumPy

Pengaturan editor

Ukuran font
Ukuran huruf di editor.
Ukuran tab
Lebar indentasi. Otomatis: 2 spasi untuk TypeScript, 4 untuk Python.
Key bindings
Ganti ke mode Vim.
Nomor baris relatif
Nomor baris dihitung dari posisi kursor (berguna untuk gerakan Vim).
Word wrap
Baris panjang dilipat agar muat di lebar editor.
IntelliSense
Saran kode otomatis saat mengetik (Ctrl+Spasi tetap bisa dipakai saat mati).

Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.