Multi-head e'tibor haqida batafsil ma'lumot bering: Q/K/V nima, e'tibor og'irliklari qanday hisoblanadi, nima uchun bir nechta boshlar mavjud.
sobes.tech AI
AIdan javob
Ko‘p-boshli diqqat — bu transformatorlarda asosiy mexanizm bo‘lib, modelga kirish ketma-ketligining turli qismlariga bir vaqtning o‘zida e’tibor qaratish imkonini beradi.
-
Q (So‘rov), K (Kalit), V (Qiymat) — bu uchta matritsa, ular kirish ma’lumotlaridan o‘qitiladigan chiziqli transformatsiyalar yordamida olinadi. Ketma-ketlikdagi har bir pozitsiya uchta vektorga aylantiriladi:
- So‘rov — muhim ma’lumotlarni qidirayotgan so‘rov.
- Kalit — so‘rov bilan solishtiriladigan kalit.
- Qiymat — so‘rovga javoban qaytariladigan qiymat.
-
Diqqat og‘ishlarining hisoblanishi:
- Har bir pozitsiya juftligi uchun Query va Key o‘rtasida skalyar ko‘paytma hisoblanadi.
- Natija (odatda kalitlarning o‘lchamining kvadrat ildizi bilan bo‘linadi) skalalanadi, bu gradientlarni barqarorlashtiradi.
- Softmax qo‘llanadi, bu esa ehtimollik taqsimotini hosil qiladi.
- Og‘ishlar mos keladigan Qiymatlar bilan ko‘paytiriladi va natijalar yig‘iladi — bu diqqatning chiqishi.
-
Nima uchun ko‘p bosh (multi-head)? Bir nechta bosh modelga turli "nuqtai nazar"dan ma’lumotlarni ko‘rishga imkon beradi, ya’ni har bir bosh turli bog‘liqliklar va naqshlarni o‘rganadi. Bu modelning ifodaviyligini va sifatini oshiradi.
Soddalashtirilgan misol:
# Har bir bosh uchun:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i
diqqat og‘ishlari = softmax((Q_i @ K_i.T) / sqrt(d_k))
chiqish_i = diqqat og‘ishlari @ V_i
# Barcha boshlarning chiqishlarini birlashtiramiz
chiqish = concat(chiqish_1, ..., chiqish_h) * W_O
Bu yerda W_Q_i, W_K_i, W_V_i, W_O — o‘qitiladigan matritsalar, d_k — kalitlarning o‘lchami, va h — boshlar soni.