Выбор ответа Senior Attention и трансформеры спрашивают часто обновлено
Сложность attention
Вопрос
Какова сложность self-attention по длине последовательности n и что это значит на практике?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: O(n²·d) по времени и O(n²) по памяти: удвоение контекста учетверяет матрицу. QKᵀ это n×n скалярных произведений длины d.
Варианты ответа
- O(n²·d) по времени и O(n²) по памяти: удвоение контекста учетверяет матрицуправильный ответ
- O(n·d), как у RNN, потому что каждый токен обрабатывается один раз
- O(n·log n) благодаря softmax, который нормирует веса только по top-k ключам
- O(n³) из-за умножения матриц n×n на каждом из n шагов генерации
Разбор
QKᵀ это n×n скалярных произведений длины d. Поэтому длинный контекст дорог. FlashAttention не меняет асимптотику вычислений, но не материализует матрицу n×n в памяти GPU и сильно ускоряет. Для длинных контекстов есть разреженный, скользящий и линейный attention.
- Линейную сложность имеют RNN и SSM.
- softmax логарифма не даёт.
- Кубической зависимости по n нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Attention и трансформеры»
- Формула attention
- Блок трансформера
- Причинная маска
- Scaled dot-product attention
- BERT против GPT
- Объясните attention
- MQA и GQA
- KV-кеш