Habr AI→ оригинал

Habr publicó una guía breve sobre attention: self-attention, cross-attention y multi-head

Habr publicó una mini guía clara sobre attention en transformers. El texto explica brevemente cómo se obtienen Q, K y V a partir de embeddings, por qué se divid

◐ Слушать статью

На Habr вышел краткий разбор механизма attention — базовой идеи, на которой держатся трансформеры и современные LLM. Материал без лишней воды показывает, как модель выбирает, каким токенам доверять больше, а затем объясняет это на простом числовом примере и в коде на PyTorch.

Как устроено внимание

Автор начинает с базового определения: attention позволяет нейросети не обрабатывать все части входа одинаково, а динамически решать, что важнее для текущей задачи. Для этого входная последовательность превращается в три набора представлений — Query, Key и Value. Дальше модель сравнивает запрос каждого токена с ключами остальных токенов, получает веса важности и на их основе собирает новый контекстный вектор.

Это и есть главный трюк: значение слова или элемента зависит уже не только от него самого, а от всего окружения. В материале пошагово разбирается вся цепочка вычислений: из эмбеддингов строятся матрицы Q, K и V затем считается похожесть токенов через скалярное произведение результат масштабируется делением на корень из размерности после softmax получаются веса внимания * финальный выход — взвешенная сумма матрицы V Отдельно объясняется, зачем нужно деление на sqrt(d_k). Если размерность векторов растет, скалярные произведения становятся слишком большими, softmax быстро насыщается, а градиенты начинают затухать.

Масштабирование удерживает вычисления в более стабильном диапазоне и делает обучение предсказуемее. Для новичков это полезный акцент: в большинстве объяснений формула приводится как данность, а здесь показано, какую проблему она реально решает.

Пример на токенах Самая понятная часть текста — игрушечный пример с фразой «Карина идет в магазин».

Автор упрощает задачу до четырех токенов и двумерных эмбеддингов, чтобы не утонуть в матрицах, а затем вручную проходит по всем шагам: токенизация, добавление позиционной информации, построение матрицы X, вычисление QK^T, масштабирование, softmax и итоговое умножение на V. За счет этого attention перестает выглядеть как магия из формулы и становится обычной последовательностью операций над векторами. После нормализации видно, как распределяется внимание. Для токена «Карина» модель в примере берет около 31% информации из самого слова, 15% — из слова «идет», а остальную часть — из других токенов предложения. На выходе исходные эмбеддинги превращаются в новые, уже контекстные представления. Это важный момент для понимания трансформеров: модель не хранит фиксированное значение слова раз и навсегда, а пересобирает его заново в каждом контексте.

«Каждый вектор после self-attention уже не описывает слово само по себе».

Другие виды внимания Во второй половине статьи автор переходит к двум расширениям базовой схемы.

Cross-attention описывается как режим, в котором Query берется из одной последовательности, а Key и Value — из другой. На практике это удобно представлять как механизм, который позволяет декодеру обращаться к контексту энкодера. Формула почти не меняется, но меняется источник данных: модель сопоставляет текущий запрос не с самим собой, а с внешним контекстом.

Это ключевой блок для переводчиков, мультимодальных систем и многих encoder-decoder архитектур. Дальше разбирается multi-head attention. Вместо одного внимания модель запускает несколько «голов» параллельно, и каждая учится смотреть на последовательность под своим углом: одна может лучше ловить локальные связи, другая — дальние зависимости, третья — синтаксис или смысловые роли.

Затем результаты голов склеиваются и проходят через еще одно линейное преобразование. В статье есть и минимальные реализации всех трех вариантов на PyTorch: self-attention, cross-attention и multi-head self-attention, так что текст работает не только как теория, но и как стартовая шпаргалка для практики.

Что это значит

Для тех, кто только заходит в тему трансформеров, это удачный входной материал: он не перегружает доказательствами, но честно проводит через математику, пример и код. А для практиков это напоминание, что за «магией» LLM стоят довольно конкретные операции с весами, матрицами и контекстом — и понимать их полезно, если ты работаешь с моделями не только как пользователь.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…