Sobes.tech
Middle — Senior

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:

    1. Har bir pozitsiya juftligi uchun Query va Key o‘rtasida skalyar ko‘paytma hisoblanadi.
    2. Natija (odatda kalitlarning o‘lchamining kvadrat ildizi bilan bo‘linadi) skalalanadi, bu gradientlarni barqarorlashtiradi.
    3. Softmax qo‘llanadi, bu esa ehtimollik taqsimotini hosil qiladi.
    4. 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.