170 похожих чатов

У меня вопрос про трансформеры. А точнее, про одну из

возможных архитектур decoder-only с предсказанием следующего токена.
Я правильно понимаю, что если используется scaled dot-product attention, то в блоке attention нет полносвязного слоя? Только softmax?
То есть, геометрически, берутся pre-trained embeddings токенов, добавляется информация о позиции, каждая из голов в multi-headed attention пробует линейное преобразование этих эмбеддингов, чтобы близкие слова стали ближе, дальние слова стали дальше, а потом из этих преобразований берётся лучшее? Это повторяется сколько-то раз, и мы таким образом получаем из pre-trained embeddings такие, которые этими простыми средствами учитывают контекст? (Попробовали, и хорошо работает?)
Дальше укладываем в ряд новые эмбеддинги токенов и даём полносвязной сетке на них взглянуть и выдать софтмакс следующего токена? Везде по-разному этот шаг инференса называется и описывается, поэтому хочу уточнить тоже. Или как там полносвязная сетка на последних шагах работает?

10 ответов

14 просмотров

Может быть это поможет https://nn.labml.ai/transformers/mha.html

Alejandro- Автор вопроса
Kirill
Может быть это поможет https://nn.labml.ai/transfo...

Да, я там не вижу полносвязной сетки, но вижу софтмакс

- “Если используется scaled dot-product attention, то в блоке attention нет полносвязного слоя? Только softmax?”. В самом внимании нет, но после слияния голов - конечно есть. - “берутся pre-trained embeddings токенов” - нет - “каждая из голов в multi-headed attention пробует линейное преобразование этих эмбеддингов, чтобы related слова стали ближе, дальние слова стали дальше, а потом из этих преобразований берётся лучшее” - какая-то хрень написана. - "Это повторяется сколько-то раз, и мы таким образом получаем из pre-trained embeddings такие, которые этими простыми средствами учитывают контекст? “ - повторяется связка MHA + LayerNorm + MLP

Alejandro- Автор вопроса
Ilya Gusev
- “Если используется scaled dot-product attention,...

Понял. MLP после слияния голов это хорошо, а то картинки запутывающие.

Alejandro
Понял. MLP после слияния голов это хорошо, а то ка...

нет, линейный слой после слияния голов. и потом еще MLP из двух линейных слоев

Alejandro- Автор вопроса

Можно подробней, а то я ещё с терминологией не до конца разобрался. Везде это по-разному называется

Alejandro- Автор вопроса
Ilya Gusev
нет, линейный слой после слияния голов. и потом ещ...

А, понял, там не нужен лишний mlp в конце, да

Alejandro
Можно подробней, а то я ещё с терминологией не до ...

в the illustrated transformer http://jalammar.github.io/illustrated-transformer/ неплохо описано зачем так делать в главе "The Beast With Many Heads"

Alejandro- Автор вопроса
Futorio Franklin
в the illustrated transformer http://jalammar.gith...

Здесь написано, что там просто полносвязная сеть

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
Изменение типа с SomeException на String и правда удобней @cheese_hs . А вот такой вариант насколько некрасив еще? loadConfigDB :: IO (Either String ConfigDataBase) loadConfi...
Camara
7
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта