Почему attention делит оценки на квадратный корень из размерности
В трансформере запрос и ключ сравниваются скалярным произведением: их компоненты перемножаются и складываются. Чем больше компонентов, тем крупнее по модулю обычно получается сумма — даже без «более сильного смысла».
Затем оценки проходят через softmax. Слишком большой разброс заставляет его почти сразу выбрать один вариант, а остальные прижать к нулю. Поэтому оценки делят на √dₖ, где dₖ — размерность ключа. Масштаб уменьшается, порядок вариантов сохраняется, а внимание легче корректировать при обучении. Это не штраф за длинный контекст, а стабилизатор чисел внутри attention.