Attention pada Transformer sering diperiksa sebagai matriks bobot. Cara ini cukup untuk beberapa contoh, tetapi menjadi sulit ketika Anda perlu membandingkan banyak head, layer, token, atau beberapa model run. Ringkasan yang berguna adalah entropi attention: angka yang menggambarkan seberapa terkonsentrasi atau tersebar suatu distribusi attention.
Entropi dapat menjawab pertanyaan yang sempit tetapi praktis: apakah query menempatkan sebagian besar massa attention pada sedikit posisi yang tersedia, atau menyebarkannya secara luas? Entropi tidak memberi tahu apakah model benar, apakah sebuah token menyebabkan prediksi, atau apakah sebuah head penting. Dengan memahami batas tersebut, entropi menjadi diagnostik ringkas untuk perilaku attention.
Artikel ini membangun metrik tersebut dari contoh kecil, menjelaskan pengaruh panjang sequence dan masking, serta menunjukkan cara menafsirkan perbandingan tanpa memberikan makna berlebihan pada entropi.
Mulai dari satu distribusi attention
Bayangkan satu attention head memproses sebuah query token yang dapat memperhatikan empat posisi. Setelah softmax, bobot attention-nya mungkin seperti berikut:
[0.70, 0.10, 0.10, 0.10]Bobot tersebut tidak negatif dan jumlahnya 1, sehingga membentuk distribusi probabilitas atas posisi yang tersedia bagi query tersebut.
Bandingkan dengan:
[0.25, 0.25, 0.25, 0.25]Distribusi pertama terkonsentrasi: satu posisi menerima sebagian besar massa. Distribusi kedua uniform: setiap posisi menerima massa yang sama. Entropi attention mengubah perbedaan ini menjadi sebuah skalar.
Untuk bobot attention p_1, ..., p_n, entropi Shannon adalah:
H(p) = -sum(p_i * ln(p_i))Term dengan p_i = 0 berkontribusi 0, menggunakan limit p * ln(p) saat p mendekati nol.
Menggunakan logaritma natural menghasilkan entropi dalam nat. Basis logaritma lain mengubah satuannya, tetapi tidak mengubah urutan distribusi selama perbandingan memakai basis yang sama.
Baca entropi sebagai ukuran konsentrasi
Untuk distribusi atas n posisi yang tersedia, entropi memiliki dua titik batas yang berguna.
Jika seluruh massa attention berada pada satu posisi:
[1, 0, 0, 0]maka:
H = 0Jika attention uniform pada seluruh n posisi, entropi mencapai nilai maksimum:
H_max = ln(n)Untuk empat posisi, distribusi uniform memiliki:
H = ln(4) ~= 1.386Distribusi sebelumnya [0.70, 0.10, 0.10, 0.10] memiliki entropi sekitar 0.94 nat. Distribusi itu tidak sepenuhnya terkonsentrasi maupun uniform, sesuai dengan yang terlihat langsung dari bobotnya.
Model mental sederhananya:
- entropi lebih rendah berarti massa attention lebih terkonsentrasi;
- entropi lebih tinggi berarti massa attention lebih tersebar pada posisi yang tersedia.
Interpretasi ini hanya menggambarkan distribusi. Entropi rendah tidak berarti attention bagus, dan entropi tinggi tidak berarti attention buruk.
Normalisasi ketika jumlah posisi yang tersedia berubah
Entropi mentah bergantung pada jumlah posisi yang boleh diperhatikan query. Hal ini langsung relevan untuk input dengan panjang bervariasi dan causal attention.
Misalkan satu query memiliki empat posisi valid dan query lain memiliki 100. Entropi maksimum keduanya berbeda:
ln(4) ~= 1.386
ln(100) ~= 4.605Membandingkan entropi mentah dapat mencampurkan dua efek: bentuk distribusi attention dan ukuran support-nya.
Ketika n > 1, normalisasi yang umum adalah:
H_normalized = H(p) / ln(n)Untuk distribusi diskret yang valid, hasilnya berada di antara 0 dan 1:
0 -> terkonsentrasi secara maksimal
1 -> uniform pada seluruh posisi yang tersediaUntuk n = 1, satu-satunya distribusi yang mungkin adalah [1] dan entropinya 0, tetapi formula normalisasi akan membagi dengan ln(1) = 0. Tangani kasus ini secara eksplisit alih-alih menerapkan formula secara membabi buta.
Normalisasi sangat berguna ketika tujuannya membandingkan konsentrasi antar-query dengan jumlah key valid berbeda. Entropi mentah tetap berguna ketika semua distribusi yang dibandingkan memiliki ukuran support yang sama dan Anda menginginkan nilai dalam satuan entropi konvensional.
Hitung key valid, bukan posisi padding
Padding dapat diam-diam merusak analisis entropi attention.
Bayangkan sebuah sequence memiliki enam posisi tensor tetapi hanya empat token nyata. Jika attention mask dengan benar mengecualikan dua posisi padding, query secara efektif memiliki empat key yang tersedia, bukan enam. Entropi maksimumnya adalah ln(4), bukan ln(6).
Perhitungan yang kuat mengikuti support attention aktual milik model:
1. identifikasi key yang valid untuk query ini
2. ambil bobot attention pada key tersebut
3. verifikasi atau pulihkan normalisasi pada bobot valid
4. hitung entropi
5. jika diperlukan, normalisasi dengan ln(jumlah key valid)Jangan memasukkan posisi padding yang di-mask hanya karena tensor attention yang dikembalikan memiliki slot untuk posisi tersebut. Bergantung pada implementasi dan presisi numerik, entri yang di-mask dapat direpresentasikan sebagai nol persis atau nilai yang sangat kecil. Support konseptual ditentukan oleh mask, bukan lebar tensor.
Aturan yang sama berlaku untuk mask lain. Query causal decoder di awal sequence dapat memperhatikan lebih sedikit posisi sebelumnya daripada query di bagian akhir. Pola local attention khusus dapat membatasi support lebih jauh.
Lakukan average setelah menentukan apa yang dimaksud satu sampel
Model dapat menghasilkan nilai entropi untuk setiap posisi query pada setiap head dan layer. Mengubah nilai-nilai tersebut menjadi satu ringkasan memerlukan kebijakan agregasi yang disengaja.
Misalnya, sebuah batch berisi satu sequence dengan 20 query token valid dan sequence lain dengan 200. Jika semua nilai entropi tingkat token dirata-ratakan bersama, sequence yang lebih panjang menyumbang sepuluh kali lebih banyak observasi. Itu mungkin tepat untuk analisis berbobot token, tetapi tidak sama dengan memberi bobot yang sama kepada setiap sequence.
Dua ringkasan yang sama-sama valid menjawab pertanyaan berbeda:
Mean berbobot token:
rata-rata entropi atas setiap query token valid
Mean berbobot sequence:
rata-rata di dalam setiap sequence, lalu rata-ratakan mean sequenceDemikian pula, merata-ratakan antar-attention head dapat menyembunyikan spesialisasi. Satu head dengan entropi konsisten rendah dan head lain dengan entropi tinggi dapat menghasilkan mean yang terlihat biasa. Pertahankan distribusi per-head atau per-layer ketika perbedaan tersebut penting.
Laporan praktis sering mencakup lebih dari mean: median dan quantile tertentu dapat menunjukkan apakah perubahan memengaruhi sebagian besar query atau hanya ekor kecil distribusi.
Bandingkan kondisi yang setara
Entropi attention paling berguna dalam perbandingan terkontrol.
Misalkan Anda mengubah format prompt model dan mengamati entropi ternormalisasi pada satu layer turun dari 0.78 menjadi 0.52. Ini menunjukkan attention menjadi lebih terkonsentrasi pada kondisi baru. Namun, angka tersebut sendiri tidak menjelaskan penyebabnya.
Sebelum mengaitkan perbedaan dengan format prompt, periksa apakah faktor lain ikut berubah:
- tokenization dan panjang sequence;
- attention mask;
- parameter model atau checkpoint;
- inference mode dan perilaku spesifik arsitektur;
- posisi query, head, dan layer yang diagregasi.
Hal ini sangat penting ketika membandingkan arsitektur model berbeda. Mekanisme attention dapat berbeda dalam struktur head, masking, perlakuan posisi, dan apakah bobot attention tersedia dalam bentuk yang sama. Perhitungan entropi yang identik secara matematis tidak membuat semua perbandingan lintas-model setara secara semantik.
Entropi tidak mengukur pentingnya komponen model
Batas terpenting ada pada interpretasi.
Distribusi attention dengan entropi rendah menunjukkan massa probabilitasnya terkonsentrasi. Hal itu tidak membuktikan bahwa token yang diperhatikan menyebabkan output model atau bahwa menghapus head terkait akan merusak performa.
Beberapa alasan memisahkan konsentrasi attention dari pentingnya komponen model:
- bobot attention menentukan bagaimana value vector dicampur dalam operasi attention, tetapi output akhir juga bergantung pada value vector tersebut;
- residual connection dan layer berikutnya menyediakan jalur informasi lain;
- beberapa head dapat membawa sinyal yang redundan atau saling melengkapi;
- head yang sangat terfokus dapat terus memperhatikan posisi yang hanya memberi sedikit informasi berguna.
Karena itu, gunakan entropi sebagai statistik deskriptif, bukan penjelasan kausal.
Jika pertanyaan sebenarnya adalah apakah suatu komponen berpengaruh terhadap perilaku model, intervensi biasanya lebih informatif. Contohnya termasuk masking input tertentu, melakukan ablation pada head ketika arsitektur dan tooling memungkinkan, atau mengukur perubahan metrik output di bawah perturbasi terkontrol. Pengujian tersebut menjawab pertanyaan yang berbeda dari entropi.
Entropi dapat menyembunyikan lokasi attention
Dua distribusi dapat memiliki entropi yang sama tetapi memperhatikan posisi berbeda.
Sebagai contoh, distribusi berikut adalah permutasi satu sama lain:
[0.8, 0.1, 0.1]
[0.1, 0.8, 0.1]Entropinya identik, tetapi key dominannya berbeda. Jika identitas posisi yang diperhatikan penting, entropi justru membuang informasi tersebut.
Inilah alasan entropi cocok sebagai metrik screening. Entropi dapat menunjukkan head, layer, contoh, atau kondisi yang konsentrasinya berubah, lalu Anda dapat memeriksa pola attention dasarnya untuk detail spesifik lokasi.
Kebalikannya juga penting: entropi yang tidak berubah tidak berarti attention tidak berubah. Massa dapat berpindah antarposisi tanpa mengubah konsentrasi keseluruhan distribusi.
Gunakan entropi untuk diagnostik, bukan objective otomatis
Mudah tergoda untuk memutuskan bahwa model seharusnya memiliki entropi attention lebih rendah atau lebih tinggi lalu mengoptimalkan nilai tersebut. Tidak ada aturan umum yang mendukung salah satu arah.
Sebagian task mungkin diuntungkan oleh pemilihan tajam atas sedikit posisi relevan. Task lain memerlukan integrasi bukti dari banyak token. Head berbeda dalam model yang sama juga dapat memiliki peran berbeda.
Menambahkan term entropi ke training objective mengubah masalah optimisasi. Mendorong entropi rendah mengarahkan distribusi menuju konsentrasi; mendorong entropi tinggi mengarahkannya menuju penyebaran. Keduanya dapat mengganggu objective task jika hanya didasarkan pada preferensi visual tentang seperti apa attention “seharusnya”.
Perlakukan regularisasi seperti itu sebagai hipotesis pemodelan yang membutuhkan validasi spesifik task, bukan sebagai peningkatan default.
Workflow analisis yang praktis
Untuk eksperimen entropi attention yang berguna, buat pertanyaannya sempit. Misalnya: “Apakah fine-tuning run ini membuat attention layer 8 lebih terkonsentrasi pada evaluation set yang sama?”
Kemudian:
1. jalankan contoh yang sama melalui kedua checkpoint
2. pertahankan attention mask aktual
3. hitung entropi pada key valid untuk setiap query valid
4. normalisasi jika ukuran support berbeda
5. bandingkan layer dan head yang sama
6. periksa distribusinya, bukan hanya global mean
7. hubungkan perubahan dengan metrik task sebelum menyimpulkan kualitasUntuk model besar, menyimpan setiap matriks attention dapat mahal karena tensor attention tumbuh mengikuti panjang query dan key. Jika framework mengekspos bobot yang diperlukan, menghitung ringkasan selama analisis lalu membuang matriks penuh dapat mengurangi tekanan penyimpanan. Biaya memori dan eksekusi yang tepat bergantung pada model serta implementasi attention, jadi ukur pada environment yang digunakan.
Perhatikan juga bahwa sebagian implementasi attention yang dioptimalkan tidak mengembalikan probabilitas attention yang dimaterialisasi secara default. Akses terhadap bobot merupakan kemampuan implementasi, bukan jaminan dari konsep Transformer itu sendiri.
Ketika entropi attention bukan alat yang tepat
Jangan gunakan entropi jika pertanyaan sebenarnya dapat dijawab lebih langsung.
Jika Anda ingin mengetahui apakah kualitas task model meningkat, gunakan metrik evaluasi yang sesuai dengan task. Jika ingin mengetahui apakah prediksi dapat diandalkan pada confidence tertentu, pelajari calibration. Jika membutuhkan bukti kausal bahwa input atau komponen berpengaruh, gunakan intervensi terkontrol. Jika perlu mengetahui posisi mana yang menerima attention, periksa atau agregasikan posisi itu sendiri alih-alih memampatkannya menjadi satu skalar.
Entropi attention bernilai ketika konsentrasi itu sendiri merupakan properti yang ingin diukur.
Kesimpulan
Entropi attention memampatkan distribusi attention menjadi ukuran konsentrasi sederhana. Nilai rendah menunjukkan massa terfokus pada lebih sedikit key yang tersedia; nilai tinggi menunjukkan distribusi yang lebih menyebar. Normalisasikan dengan entropi maksimum ketika ukuran support berbeda, tentukan support tersebut dari attention mask yang sebenarnya, dan definisikan agregasi secara hati-hati pada token, sequence, head, serta layer.
Yang terpenting, pertahankan makna metrik ini tetap sempit. Entropi menggambarkan bentuk bobot attention. Entropi tidak membuktikan kualitas model, pentingnya fitur, atau kausalitas. Digunakan sebagai diagnostik bersama metrik task dan pemeriksaan terarah, entropi dapat membuat kumpulan besar pola attention jauh lebih mudah dibandingkan tanpa berpura-pura bahwa satu angka menjelaskan model.