Self-attention: объяснить механизм
Вопрос
Расскажите, как работает self-attention и почему он стал основой современных моделей.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Проекции query, key, value для каждого токена
Веса как softmax от скалярных произведений, деление на корень из d_k
Выход как взвешенная сумма value
Многоголовое внимание: несколько подпространств параллельно
Каузальная маска в декодере
Плюс: параллельность и дальние связи; минус: квадратичная стоимость по длине
Что могут спросить следом
- Что такое KV-кеш и зачем он нужен?
- Какие есть способы сделать внимание дешевле на длинном контексте?
Разбор
Образцовый ответ: «Для каждого токена считаются три вектора линейными проекциями: query, key и value. Вес, с которым токен i смотрит на токен j, это softmax от q_i на k_j, делённого на корень из размерности, деление нужно, чтобы softmax не насыщался. Выход токена: взвешенная сумма value. Так делается в нескольких головах параллельно, каждая учится своим связям, результаты склеиваются. В декодере стоит каузальная маска: токен не видит будущее. По сравнению с RNN внимание обрабатывает всю последовательность параллельно на обучении и напрямую связывает далёкие токены, поэтому масштабируется. Цена: матрица n на n, то есть квадратичная стоимость по длине, с этим борются FlashAttention, скользящими окнами, GQA для уменьшения KV-кеша».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Почему русский текст дороже в токенах
Следующий вопрос
Как работает LLM: объяснить на собесе