EBOUTDATASCIENCE Telegram 155
Уничтожение Self-Attention

Self-Attention или механизм внимания - это такой механизм, который используется сейчас во всех современный LLMках. До него многие задачи решались с помощью рекуррентных нейросетей (RNN), но они обладали некоторыми недостатками:
- сложность в учёте длинных последовательностей
- проблема взрыва/затухание градиентов
- нельзя параллелить вычисления
- сложная в интерпретации

Как итог гугл выкладывает статью Attention Is All You Need. В ней гугл показывает концепцию, которая может решить данные недостатки 💥

Как устроен Self-Attention 💪
1️⃣ Векторизация и создание матриц Query, Key, Value.
На вход подаётся векторные представления слов (зелёные матрицы с 1 картинки). Каждая "строка" в этой матрице - это векторное представление слова. Входящие матрица умножаются на матрицы весов Key, Query, Values. После умножение уже получается матрицы Query, Key, Values (розовая, оранжевая и голубая матрица справа на первой картинке).

2️⃣ Подсчёт значимости между токенами
Умножается матрица Query на транспонированную матрицу Key (Q*K.T). Мы получаем промежуточную матрицу, отражающую значимость токенов друг для друга.

3️⃣ Нормировка
Для нормировки матрицы Q*K.T, матрица делится на корень из значения размерности векторов модели (например, на sqrt(512) для модели с размерностью 512). Нам нужно делить, так как при умножении Q на K.T у нас увеличивается дисперсия на sqrt(размерность).

4️⃣ Применение softmax для вычисления внимания
Потом применяется функция softmax для, чтобы нормализовать значения и получить attention-матрицу. На картинке 3 предложение "Life is short eat desert first", допусти каждое слово - это токен. Проделав шаги 1 - 4 у нас получится примерно такая attention-матрица, как на картинке 3, где каждый с каждым токеном имеет свою оценку "внимания" между собой. Если скор большой, то эти токены как-то связаны между собой, возможно они вместе образуют какую-то общую информацию.

5️⃣ Маскирование (при необходимости)
Зависит от задачи (например обучение генеративной модели), но на attention-матрицу может наложиться маска, например как на картинке 4

6️⃣ Получение итоговых значений
attention-матрица
умножается на матрицу Values по итогу получается матрица, которая идёт в последующие слои.

Почему выбор сделан на self-attention или его преимущества, которые вас обязательно спросят на собесе 💪
1️⃣ Self-Attention может учитывать зависимость между дальними токенами, так как скоры между токенами считаются непосредственно друг с другом
2️⃣ С помощью Multi-Head-Attention достигается параллельный расчёт, что позволяет вычислять всё более большой объём данных.
3️⃣ Self-Attention легче интерпретировать в отличие от RNN

Это была краткая сводка материала, чтобы понять концепцию Self-Attention и рассказать на собесе. Если вы хотите больше узнать более подробно про Self-Attention, то прошу к прочтению 😊
- Всем смотреть базу от Котенкова, здесь мы с ручкой и листком переписываем архитектуру, чтобы в полной мере понимать, как она работает
- Трансформеры в картинках - эту статью прочитать в качестве закрепления материала от Котенкова
- Transformers Explained Visually (Part 3): Multi-head Attention, deep dive
- Attention Networks: A simple way to understand Self-Attention
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/eboutdatascience/155
Create:
Last Update:

Уничтожение Self-Attention

Self-Attention или механизм внимания - это такой механизм, который используется сейчас во всех современный LLMках. До него многие задачи решались с помощью рекуррентных нейросетей (RNN), но они обладали некоторыми недостатками:
- сложность в учёте длинных последовательностей
- проблема взрыва/затухание градиентов
- нельзя параллелить вычисления
- сложная в интерпретации

Как итог гугл выкладывает статью Attention Is All You Need. В ней гугл показывает концепцию, которая может решить данные недостатки 💥

Как устроен Self-Attention 💪
1️⃣ Векторизация и создание матриц Query, Key, Value.
На вход подаётся векторные представления слов (зелёные матрицы с 1 картинки). Каждая "строка" в этой матрице - это векторное представление слова. Входящие матрица умножаются на матрицы весов Key, Query, Values. После умножение уже получается матрицы Query, Key, Values (розовая, оранжевая и голубая матрица справа на первой картинке).

2️⃣ Подсчёт значимости между токенами
Умножается матрица Query на транспонированную матрицу Key (Q*K.T). Мы получаем промежуточную матрицу, отражающую значимость токенов друг для друга.

3️⃣ Нормировка
Для нормировки матрицы Q*K.T, матрица делится на корень из значения размерности векторов модели (например, на sqrt(512) для модели с размерностью 512). Нам нужно делить, так как при умножении Q на K.T у нас увеличивается дисперсия на sqrt(размерность).

4️⃣ Применение softmax для вычисления внимания
Потом применяется функция softmax для, чтобы нормализовать значения и получить attention-матрицу. На картинке 3 предложение "Life is short eat desert first", допусти каждое слово - это токен. Проделав шаги 1 - 4 у нас получится примерно такая attention-матрица, как на картинке 3, где каждый с каждым токеном имеет свою оценку "внимания" между собой. Если скор большой, то эти токены как-то связаны между собой, возможно они вместе образуют какую-то общую информацию.

5️⃣ Маскирование (при необходимости)
Зависит от задачи (например обучение генеративной модели), но на attention-матрицу может наложиться маска, например как на картинке 4

6️⃣ Получение итоговых значений
attention-матрица
умножается на матрицу Values по итогу получается матрица, которая идёт в последующие слои.

Почему выбор сделан на self-attention или его преимущества, которые вас обязательно спросят на собесе 💪
1️⃣ Self-Attention может учитывать зависимость между дальними токенами, так как скоры между токенами считаются непосредственно друг с другом
2️⃣ С помощью Multi-Head-Attention достигается параллельный расчёт, что позволяет вычислять всё более большой объём данных.
3️⃣ Self-Attention легче интерпретировать в отличие от RNN

Это была краткая сводка материала, чтобы понять концепцию Self-Attention и рассказать на собесе. Если вы хотите больше узнать более подробно про Self-Attention, то прошу к прочтению 😊
- Всем смотреть базу от Котенкова, здесь мы с ручкой и листком переписываем архитектуру, чтобы в полной мере понимать, как она работает
- Трансформеры в картинках - эту статью прочитать в качестве закрепления материала от Котенкова
- Transformers Explained Visually (Part 3): Multi-head Attention, deep dive
- Attention Networks: A simple way to understand Self-Attention

BY Ebout Data Science | Дима Савелко







Share with your friend now:
tgoop.com/eboutdatascience/155

View MORE
Open in Telegram


Telegram News

Date: |

The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Channel login must contain 5-32 characters Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.”
from us


Telegram Ebout Data Science | Дима Савелко
FROM American