Выбор ответа Middle Как устроены LLM спрашивают часто обновлено
Зачем делить на корень из d_k во внимании
Вопрос
В формуле softmax(Q·Kᵀ / √d_k) · V зачем нужно деление на √d_k?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Без него скалярные произведения растут с размерностью, softmax насыщается, градиенты затухают. Дисперсия скалярного произведения двух случайных векторов растёт пропорционально размерности.
Варианты ответа
- Чтобы веса внимания каждого токена в сумме давали ровно единицу после softmax
- Чтобы модель не смотрела на будущие токены при обучении предсказанию следующего токена
- Без него скалярные произведения растут с размерностью, softmax насыщается, градиенты затухаютправильный ответ
- Чтобы уменьшить потребление памяти KV-кешем за счёт меньших по модулю значений ключей и запросов
Разбор
Дисперсия скалярного произведения двух случайных векторов растёт пропорционально размерности. Большие значения загоняют softmax в насыщение: почти весь вес на одном токене, градиенты малы. Деление нормирует масштаб. Сумму в единицу обеспечивает сам softmax. Будущие токены закрывает каузальная маска. На память KV-кеша масштаб не влияет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.