Sobes.tech
Middle — Senior

Көп баштуу көңүл буруу жөнүндө деталдуу түшүндүрүңүз: Q/K/V эмне, көңүл буруу салмактары кандай эсептелет, эмне үчүн бир нече баш бар.

sobes.tech AI

AIден жооп

Көп баштуу көңүл буруу — трансформерлердеги негизги механизм, ал моделге кирүү үзүндүсүнүн ар кандай бөлүктөрүнө бир мезгилде көңүл бурууга мүмкүндүк берет.

  • Q (Суроо), K (Ачкыч), V (Маани) — бул үч матрица, алар кирүү маалыматтарынан үйрөтүлүүчү сызыктуу трансформациялар аркылуу алынат. Ар бир орун үзүндүдө үч векторго айланат:

    • Суроо — тиешелүү маалыматты издөө үчүн сурау.
    • Ачкыч — сурауга салыштырылган ачкыч.
    • Маани — сурауга жооп катары кайтарылуучу мааниси.
  • Көңүл буруу салмактарын эсептөө:

    1. Ар бир орун үчүн Query жана Key ортосунда скалярлык көбөйтүү эсептелет.
    2. Натыйжа масштабдалат (адатта ачкычтын өлчөмүнүн тамыр менен бөлүнөт) градиенттерди туруктуу кылуу үчүн.
    3. Softmax колдонулат, салмактардын мүмкүнчүлүк таралышын алуу үчүн.
    4. Салмактар тиешелүү Маани менен көбөйтүлүп, натыйжалар жыйналып — бул көңүл буруунун чыгышы.
  • Эмне үчүн көп баш (multi-head)? Бир нече баш моделге ар кандай "баштык көз караштарынан" маалыматты көрүүгө мүмкүндүк берет, башкача айтканда, ар бир баш ар башка көз караштарды жана үлгүлөрдү үйрөнөт. Бул моделдин экспрессивдүүлүгүн жана сапатын жогорулатат.

Жөнөкөйлөштүрүлгөн мисал:

# Ар бир баш үчүн:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i

көңүл буруу салмактары = softmax((Q_i @ K_i.T) / sqrt(d_k))
чыгыш_i = көңүл буруу салмактары @ V_i

# Бардык баштардын чыгыштарын бириктиребиз
чыгыш = concat(чыгыш_1, ..., чыгыш_h) * W_O

Кайда W_Q_i, W_K_i, W_V_i, W_O — үйрөтүлүүчү матрицалар, d_k — ачкычтардын өлчөмү, h — баштардын саны.