← На главную

Глоссарий

Attention: механизм взвешенного поиска по контексту

Коротко: Attention это механизм, которым трансформер решает, на какие прошлые токены опереться при обработке текущего. Запрос токена сравнивается с ключами всех прошлых токенов, softmax превращает сходства в веса, и выходом становится взвешенная сумма значений. Causal mask запрещает смотреть вперёд, поэтому генерация остаётся авторегрессивной. Стоимость внимания растёт квадратично с длиной последовательности, и именно отсюда идут FlashAttention и пейджинг KV-кэша.

Attention это ядро трансформера. Каждый токен проецируется в запрос Q, ключ K и значение V; сходство запроса с ключами даёт веса, веса взвешивают значения. Скалярное произведение делится на корень из размерности головы: без этого дисперсия dot product растёт с размерностью, softmax вырождается в one-hot и градиенты умирают.

Механизм квадратичен по длине: матрица QK^T имеет n на n элементов на каждую голову. Долгое время это был главный ограничитель длинного контекста, пока FlashAttention не убрал материализацию этой матрицы из памяти (см. карточку FlashAttention). На инференсе ключи и значения кэшируются, поэтому внимание неразрывно связано с KV-кэшем и его пейджингом в сервинге.