Dot product antara sebuah query dan key cenderung memiliki magnitudo yang makin besar ketika dimensinya bertambah. Pada scaled dot-product attention, skor tersebut dibagi dengan akar kuadrat dimensi key sebelum softmax. Faktor ini bukan sekadar normalisasi kosmetik. Ia mengendalikan skala yang masuk ke softmax berdasarkan asumsi statistik tertentu tentang komponen query dan key.
Bentuk yang umum adalah
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) Vdengan d_k sebagai dimensi query-key untuk satu attention head. Faktor skala memengaruhi distribusi probabilitas attention meski faktor itu sendiri tidak mengubah urutan logit.
Varians dot product bertambah bersama dimensi pada model sederhana
Ambil satu query q dan key k, masing-masing memiliki d_k komponen. Skor tanpa skala adalah
s = q · k = sum_i q_i k_iUntuk analisis, anggap hasil kali tiap komponen saling independen, memiliki mean nol, dan masing-masing memiliki varians mendekati satu. Varians jumlahnya kemudian kira-kira
Var(s) = d_kdan standard deviation bertambah seperti sqrt(d_k).
Asumsi tersebut adalah model analitis, bukan jaminan mengenai aktivasi pada transformer yang sudah dilatih. Koordinat query dan key nyata dapat berkorelasi, memiliki varians bukan satu, serta berubah distribusinya antar-layer, token, checkpoint, atau implementasi terkuantisasi. Perhitungan itu tetap menjelaskan fungsi faktor skala konvensional: pembagian dengan sqrt(d_k) menghapus pertumbuhan langsung akibat dimensi yang diprediksi model sederhana tersebut.
Dengan
s_scaled = s / sqrt(d_k)asumsi yang sama menghasilkan varians mendekati satu, bukan varians yang proporsional terhadap d_k.
Softmax bereaksi terhadap skala, bukan hanya urutan
Mengalikan seluruh logit dengan konstanta positif yang sama mempertahankan urutannya, tetapi probabilitas softmax berubah. Untuk logit z_i,
p_i = exp(z_i) / sum_j exp(z_j)Selisih logit yang lebih besar mendorong lebih banyak massa probabilitas ke entri terbesar. Selisih yang lebih kecil menghasilkan distribusi yang lebih datar.
Karena itu, skala skor merupakan bagian dari perilaku attention. Jika dot product query-key melebar hanya karena d_k bertambah, softmax dapat menjadi lebih terkonsentrasi meski hubungan arah antarvektor tidak berubah secara sepadan.
Faktor 1 / sqrt(d_k) mengompensasi efek dimensi tersebut berdasarkan asumsi di atas. Faktor ini tidak menetapkan entropy tertentu, tidak menjamin probabilitas bebas dari saturasi, dan tidak membuat distribusi attention identik pada ukuran head yang berbeda. Logit aktual tetap ditentukan oleh parameter dan aktivasi model.
Faktor skala mengikuti dimensi head
Pada multi-head attention, d_k adalah lebar query atau key di dalam sebuah head, bukan selalu ukuran hidden penuh model. Jika representasi hidden dengan lebar d_model dibagi menjadi beberapa head, setiap head menghitung skor query-key dalam dimensi hasil proyeksinya sendiri.
Menggunakan sqrt(d_model) sebagai pengganti sqrt(d_k) mengubah effective softmax temperature ketika kedua nilai tersebut berbeda. Operasi tensor masih dapat berjalan tanpa error shape, tetapi aturan scoring-nya sudah berbeda.
Perbedaan ini juga relevan pada arsitektur yang menyusun query head dan key-value head secara berbeda. Grouped-query atau multi-query attention dapat berbagi key dan value di antara beberapa query head, tetapi skala tetap mengikuti dimensi vektor yang terlibat dalam setiap dot product query-key. Jumlah head dan topologi sharing key tidak dengan sendirinya menentukan denominator.
Scaling dan temperature berkaitan secara matematis
Softmax dengan temperature T dapat ditulis sebagai
softmax(z / T)sehingga denominator attention standar berperan seperti temperature berbasis dimensi yang diterapkan pada raw dot product. Menambahkan temperature lain kembali mengubah skala efektif:
softmax((q · k) / (sqrt(d_k) T))Untuk T positif, nilai di atas satu membuat distribusi lebih datar dibanding skala standar, sedangkan nilai di bawah satu membuatnya lebih tajam. Perubahan ini dapat menjadi pilihan model atau serving yang eksplisit, tetapi bukan sekadar cara lain untuk mempertahankan definisi attention konvensional.
Skala yang dilatih atau ditetapkan arsitektur juga dapat mengganti atau memodifikasi faktor standar. Dalam kondisi tersebut, perilaku mengikuti definisi model itu. Aturan akar kuadrat adalah konvensi scaled dot-product attention, bukan syarat universal untuk setiap mekanisme yang disebut attention.
Scaling tidak menggantikan stabilisasi numerik
Implementasi softmax lazim mengurangi setiap logit dengan logit maksimum sebelum eksponensiasi:
softmax(z)_i = exp(z_i - max(z)) / sum_j exp(z_j - max(z))Transformasi ini mempertahankan distribusi softmax yang sama dalam aritmetika real sambil mengurangi risiko overflow pada perhitungan eksponensial. Masalah yang ditangani berbeda dari scaling 1 / sqrt(d_k).
Pengurangan nilai maksimum mengatur rentang numerik saat softmax dievaluasi. Scaling attention mengendalikan magnitudo skor query-key yang masuk ke softmax. Softmax yang stabil secara numerik tetap dapat menghasilkan distribusi sangat terkonsentrasi ketika jarak logit besar, dan logit yang sudah diskalakan tetap mendapat manfaat dari evaluasi numerik yang stabil.
Kernel mixed precision dapat memakai teknik tambahan yang spesifik pada implementasi, seperti akumulasi dengan presisi lebih tinggi atau reduction yang di-fuse. Pilihan tersebut memengaruhi error numerik dan rentang representasi, tetapi tidak menghapus peran semantik skala attention.
Mask memengaruhi logit setelah skor dibentuk
Causal mask dan padding mask umumnya mengubah posisi key yang boleh menerima massa probabilitas. Implementasi sering merepresentasikan posisi yang diblokir dengan menambahkan nilai yang sangat negatif sebelum softmax atau memakai operasi fused yang setara.
Skala dan mask memiliki fungsi berbeda. Scaling menyesuaikan skor query-key yang diizinkan sesuai definisi attention. Masking mengeluarkan relasi yang tidak diizinkan dari distribusi probabilitas.
Urutan operasi yang tepat dapat di-fuse di dalam kernel sehingga source code tidak harus menampilkan operasi tensor terpisah. Semantik akhirnya yang menentukan: logit yang diizinkan memakai skala skor yang dimaksud, sedangkan posisi yang diblokir tidak ikut sebagai kandidat biasa.
Mengubah skala berarti mengubah komputasi model terlatih
Untuk checkpoint yang sudah ada, mengganti denominator attention saat inferensi mengubah fungsi yang dihitung model. Proyeksi query dan key dioptimalkan dalam konteks aturan scoring arsitektur tersebut. Skala berbeda mengubah probabilitas softmax dan kemudian mengubah kombinasi value berbobot.
Hal ini tidak berarti setiap perbedaan numerik kecil memiliki dampak output yang dapat diprediksi. Namun, skala merupakan bagian dari semantik model, bukan optimasi serving yang bebas diganti.
Implementasi yang mengoptimalkan kernel attention dapat menyusun ulang operasi, menggabungkan scaling dengan matrix multiplication atau softmax, serta memakai bentuk yang ekuivalen secara aljabar dalam batas toleransi numeriknya. Batas kompatibilitasnya adalah aturan scoring yang dimaksud. Mempertahankan tensor shape sambil mengganti denominator efektif bukan optimasi yang sama.
Kontrak implementasinya ringkas: tentukan dimensi yang dipakai setiap dot product query-key, pertahankan skala yang dimaksud checkpoint, dan perlakukan temperature tambahan atau normalisasi alternatif sebagai perubahan model yang eksplisit. Dengan batas tersebut, lebar head, stabilisasi numerik, masking, dan konsentrasi probabilitas tidak tercampur sebagai satu detail implementasi.