Выбор ответа Middle Как устроены LLM спрашивают часто обновлено

Зачем делить на корень из d_k во внимании

Вопрос

В формуле softmax(Q·Kᵀ / √d_k) · V зачем нужно деление на √d_k?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Без него скалярные произведения растут с размерностью, softmax насыщается, градиенты затухают. Дисперсия скалярного произведения двух случайных векторов растёт пропорционально размерности.

Варианты ответа

  1. Чтобы веса внимания каждого токена в сумме давали ровно единицу после softmax
  2. Чтобы модель не смотрела на будущие токены при обучении предсказанию следующего токена
  3. Без него скалярные произведения растут с размерностью, softmax насыщается, градиенты затухаютправильный ответ
  4. Чтобы уменьшить потребление памяти KV-кешем за счёт меньших по модулю значений ключей и запросов

Разбор

Дисперсия скалярного произведения двух случайных векторов растёт пропорционально размерности. Большие значения загоняют softmax в насыщение: почти весь вес на одном токене, градиенты малы. Деление нормирует масштаб. Сумму в единицу обеспечивает сам softmax. Будущие токены закрывает каузальная маска. На память KV-кеша масштаб не влияет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме