Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/eboutdatascience/-154-155-156-157-154-): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Ebout Data Science | Дима Савелко@eboutdatascience P.157
EBOUTDATASCIENCE Telegram 157
Уничтожение 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
🍌16👍6🔥4



tgoop.com/eboutdatascience/157
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/157

View MORE
Open in Telegram


Telegram News

Date: |

With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. Activate up to 20 bots In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. How to Create a Private or Public Channel on Telegram? Administrators
from us


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