Предлагаю почитать краткий обзор by me о немного спорной статейке (где исследуют авторы причино-следственные связи на hidden state активациях, и вносят изменения в параметры для предсказания правильного факта) и ее продолжения, но с видоизмененным подходом для моделей с бОльшим размером. Интрига задана, в конце расскажу почему статейка спорная
Короче🕺 , что говорят авторы: у нас есть объект (Michael Jordan), отношение (plays sport) и субъект (basketball), а еще мы знаем, что происходит в трансформерах при предсказании этого самого субъекта(смотрим на первые 2 вложения с красивой картиночкой и формулками, которые гласят, что hidden state состоит из hidden state на предыдущем слое + attention + перцептрон MLP).
Первый способ исследования⌨️
Они делают 3 разных запуска: чистый, поврежденный и поврежденный с последующим восстановлением.❔ что?зачем?и почему? Чистый запуск - это просто работа трансформера. Поврежденный - это, когда на некоторые embeddings накладывается шум(повреждаются). Поврежденный с восстановлением, это поврежденный до определенного этапа, а потом копия чистого (то есть по логике вещей, если с определенного hidden state начинает предсказываться верный субъект, именно этот слой/эмбединг влияет на фактологическую чистоту)
После таких исследований получились следующие результаты: на early site сильное влияние оказывает MLP, а на late site attention (графики – приложение 3)
Ок, авторам этого мало, непонятно, какие гипотезы выдвигать. Вносить изменение в MLP или что-то делать с attention. Тогда они придумывают гениальную вещь!! Поврежденный запуск в восстановлением, НО, копируем отдельный модуль(например MLP) с поврежденного🤔 и тогдаааа можно проследить поведение уже отдельных модулей (вложение 4) Видим, что распределение MLP отличается - вот авторы и решают строить свой метод корректировки фактологических связей именно на этом модуле.
И вот, что они предлагают: если есть вектор k, которым можно описать входные embeddings, и вектор value, который можно получить, скопировать и перенести прям перед предсказанием токена, то получается можно обновлять параметры матрицы MLP так, чтобы управлять всем этим делом🐱 . Тут предлагаю наглядно посмотреть вложение 5 и сходить почитать всем заинтересованным математическую часть в сами статейки, потому что пересказывать это все очень больно…
Ну а теперь наконец почему статейки спорные. 6 и 7 скрин, результаты скора на одной и той же модели одного и того же метода, но в разныз статьях. Почему скор разный вопрос открытый, давайте обсуждать в комментариях)))
Короче
Первый способ исследования
Они делают 3 разных запуска: чистый, поврежденный и поврежденный с последующим восстановлением.
После таких исследований получились следующие результаты: на early site сильное влияние оказывает MLP, а на late site attention (графики – приложение 3)
Ок, авторам этого мало, непонятно, какие гипотезы выдвигать. Вносить изменение в MLP или что-то делать с attention. Тогда они придумывают гениальную вещь!! Поврежденный запуск в восстановлением, НО, копируем отдельный модуль(например MLP) с поврежденного
И вот, что они предлагают: если есть вектор k, которым можно описать входные embeddings, и вектор value, который можно получить, скопировать и перенести прям перед предсказанием токена, то получается можно обновлять параметры матрицы MLP так, чтобы управлять всем этим делом
Ну а теперь наконец почему статейки спорные. 6 и 7 скрин, результаты скора на одной и той же модели одного и того же метода, но в разныз статьях. Почему скор разный вопрос открытый, давайте обсуждать в комментариях)))