Как и зачем смотреть через призму встраивания пространства

В этом посте я представляю статью Анализ трансформаторов в пространстве встраивания» (2022 г.) Гая Дара, Мор Гевы, Анкита Гупты и Джонатана Беранта. Гай Дар это я :)

В этой статье мы предлагаем новый метод интерпретации трансформаторов, делая их параметры более интерпретируемыми. Мы показываем, что некоторые веса Трансформера можно «убедить» объяснить, что они означают. Мы используем простую и очень эффективную технику для перевода весов модели в токены. Мы можем перевести все веса в векторы и матрицы над токенами. Следовательно, они больше не зависят от модели, из которой они исходят. Затем мы можем подключить разные модели, использующие один и тот же токенизатор. Наша работа в значительной степени зависит от Geva et al. (2020, 2022) и Elhage et al. (2021).

Мотивация

Модели-трансформеры лежат в основе НЛП и многих других разделов машинного обучения. С ростом удобства использования Трансформеров возникает большая ответственность, и люди хотят знать, что заставляет их модели работать. Модели часто предвзяты (пол, раса и т. д.), могут быть лживыми, питаясь конспирологическим интернет-контентом, и иногда используют оскорбительные выражения. Поскольку все больше и больше чувствительных приложений используют Transformer, крайне важно понимать его процесс «принятия решений». Это рассуждение породило область исследований, называемую интерпретируемостью. В попытке сделать результаты моделей более интерпретируемыми исследователи разработали множество интересных методов. Однако большинство из них, за некоторыми исключениями, требуют ввода входных данных в Transformer, а также часто вычисления градиентов.

Наш метод использует только умножение матриц и не требует ввода примеров. Его можно применять к отдельным весам, а не ко всем сразу. Интерпретация параметра не ограничивается определенными входными данными, как это обычно бывает с другими методами интерпретации. С помощью нашего метода параметр переводится из своего функционального пространства в другое, универсальное пространство — пространство вложения — где координатами являются элементы словаря (обычно называемые «токенами»). Поскольку параметры больше не выражаются в специфичном для модели пространстве признаков, а в общем пространстве вложений, мы можем сравнивать их с параметрами в другой модели и, возможно, даже использовать знания из одной модели в другой. Мы показываем эксперименты, подтверждающие это ниже.

Терминология

Чтобы точно описать наш подход, нам необходимо кратко представить терминологию, введенную в предыдущей работе.

Мы следуем Geva et al. (2020) и рассматривать модуль FF как своего рода внимание: f(QK^T)V, где Q — входные данные для модуля FF, K — веса первого слоя модуля прямой связи, а V — веса второго слоя. Отличие от исходного механизма внимания заключается в том, что f — это GELU, а не softmax, а K и V не зависят от ввода. Мы называем K ключами FF, а V — значениями FF.

Следующая концепция, представленная Elhage et al. (2021), мы называем «матрицами взаимодействия». На этот раз мы сосредоточимся на модуле внимание.

Учитывая ввод X в модуль внимания, мы вычисляем Q_att = X W_Q, K_att = X W_K, V_att = X W_V, а затем разделяем их на головки. Мы могли бы заранее разбить матрицы весов на решки и получить тот же результат:

Оказывается, веса запроса внимания (W_Q) и головок ключей (W_K) всегда работают вместе, поэтому имеет смысл вычислять W_QK — матрицы запроса-ключа:

Теперь вспомним, что после объединения выходных данных всех головок внимания в слое мы применяем линейное преобразование W_O к объединенным головкам. Получается, что каждая головка матрицы ценности внимания W_V^i всегда взаимодействует с определенным срезом матрицы вывода внимания W_O — назовем его W_O^i. Подобно запросам и ключам, заголовки значений и вывода могут быть объединены в одну матрицу для каждого заголовка:

матрицы ценности и результатов внимания. Это обобщено на следующем рисунке:

Как проецировать параметры модели?

Внедрение пространства — центральный мотив статьи, и его стоит кратко обсудить, прежде чем мы продолжим. Пространство встраивания — это термин, который мы используем для векторного пространства, где каждая координата соответствует словарному элементу (иногда также называемому «токеном») в словаре токенизатора. Мы различаем токены и словарные элементы, где мы считаем словарные элементы элементами словаря, а токены — это (потенциально дублирующиеся) словарные элементы, созданные при токенизации фрагмента текста. Термины часто используются авторами взаимозаменяемо, но для ясности мы делаем различие.

Зачем думать о встраиваемом пространстве? Вектор в пространстве вложений можно рассматривать как представляющий взвешенную сумму слов. Когда мы выполняем операции в пространстве вложений, мы на самом деле берем «распределение» или оценки (на самом деле они не являются распределениями, потому что они не ограничены положительными значениями или суммой до единицы) по словарным элементам и выводят другой вектор оценок. над предметами. Однако Трансформеры работают в скрытом пространстве (также известном как пространство признаков) плотных векторов. В качестве примечания: вы можете чувствовать себя знакомыми с операциями в пространстве встраивания. На самом деле, они напоминают ранние методы, такие как TF-IDF и классификаторы мешка слов, где оценки получаются в результате операций непосредственно с токенами.

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

Остаточный поток

Остаточный поток — еще одна концепция, появившаяся в предыдущей работе (например, nostalgbraist, 2020), и это другой взгляд на слои Трансформера. Представление остаточного потока предусматривает, что скрытые состояния модели относительно неизменны между слоями, в том смысле, что скрытое состояние после i-го слоя часто не очень далеко от скрытое состояние после (i+1)-го слоя. Причиной этого является остаточная связь между слоями. Остаточное соединение берет выход (i+1)-го слоя и добавляет его в скрытое состояние после i-го слоя.

Как оказалось, i-е скрытое состояние обычно гораздо более доминирующее, чем вектор, к которому оно добавлено — результат (i+1)-го слоя. Это представление также можно объяснить интуитивно: предсказание следующего слова обычно возможно на ранней стадии в Transformer, поскольку обычно требует простых рассуждений. Некоторые входные данные, тем не менее, требуют более сложной обработки, и тогда более глубокие уровни начинают влиять на окончательное решение.

Вместо того, чтобы думать о скрытом состоянии для каждого слоя, мы можем думать о скрытых состояниях как об остаточном потоке, который слегка обновляется с каждым новым слоем. В некотором смысле каждый уровень считывает из остаточного потока и записывает в остаточный поток, как показано на следующем рисунке:

Следствием этой точки зрения является то, что во многих случаях мы можем игнорировать последние несколько слоев модели и получать не очень разные прогнозы. В некотором смысле в Трансформере возможен «ранний выход».

Кроме того, мы можем рассматривать каждое скрытое состояние как последнее скрытое состояние. Это ключевое наблюдение. Почему это так важно? Последнее скрытое состояние очень важно. В Transformer последнее скрытое состояние умножается на матрицу встраивания E и дает логиты модели — оценки, которые она дает каждому словарному слову. Если все скрытые состояния «похожи на последнее состояние», как мы объяснили выше, их также можно спроецировать в пространство встраивания с помощью E!

Точно так же, как и конечное скрытое состояние, проецируемое скрытое состояние создает логиты модели на этом уровне модели! Другими словами, проецирование скрытого состояния (или остаточного потока, если хотите) на уровне i дает нам текущий прогноз модели для следующего токена.

Гева и др. (2020, 2022) сделали еще один шаг вперед и заявили, что, поскольку значения FF просто суммируются со скрытыми состояниями в каждом слое, возможно, они представляют понятие (животные, прилагательные, имена и т. д.) при проецировании на вложение пространство — формирование атомов, из которых состоят скрытые состояния. Они показали эмпирические результаты, которые помогли им подтвердить это утверждение.

Но можно спросить: а как насчет других групп параметров? вывод внимания также добавляется к остаточному потоку, клавиши FF взаимодействуют со скрытым состоянием из предыдущего слоя. А как насчет W_QK, который формирует матрицу внимания? Можно ли перевести его в матрицу, определяющую сходство между словарными единицами? Это то, что мы решили исследовать!

Получение схем прогнозирования других параметров

Вышеупомянутые методы, которые мы применяли к скрытым состояниям и значениям FF, могут быть расширены. Мы используем очень простое наблюдение: если h является скрытым состоянием, мы можем спроецировать его в пространство вложения с E. Таким образом, мы можем думать о скалярных произведениях с >hкак если бы они происходили в пространстве вложения: h*w= (hE)*( E' w), где E' — правая инверсия E.

Так, например, когда мы вычисляем взаимодействие между скрытым состоянием h и клавишей FF, мы можем переписать это взаимодействие в пространстве встраивания. Поскольку hE был идентифицирован как "оценка" прогноза текущей модели, мы можем думать о внутреннем продукте так, как если бы он определял, насколько текущий прогноз соответствует концепции, кодируемой ключом.

Эту логику можно использовать для переинтерпретации модели в пространстве вложений, где взаимодействия (например, скрытые состояния с ключами FF) преобразуются в взаимодействия в пространстве вложений, а векторы, которые добавляются к остаточному потоку (например, значения FF), считаются интерпретируемыми при проецировании их с помощью E. Мы не будем подробно останавливаться на всем процессе. Ниже мы приводим таблицу, которая суммирует наши выводы.

Как видно из таблицы, вместо фактического обратного преобразования мы используем E' = E^T, хотя это и не настоящее обратное преобразование E. . Это связано с тем, что правая обратная формула Пенроуза-Мура, популярная правая обратная формула, плохо работает с нашим методом интерпретации по причинам, объясненным в Приложении A нашей статьи. E^T на самом деле достаточно близко, чтобы быть обратной матрицей вложения, по крайней мере, для наших целей. Для получения дополнительной информациисм. Приложение A документа.

Вот схематический обзор нашей проекции в пространство встраивания:

Примеры

Ключи и значения FF являются векторами, и они проецируются на векторы в пространстве встраивания. Точно так же W_VO и W_QK являются матрицами, и они проецируются на матрицы в пространстве вложения, т. Е. У них есть запись для каждой пары словарных элементов. Поскольку пространство для встраивания огромно, мы не можем показать все записи при интерпретации вектора или матрицы. Вместо этого мы выбираем целое число k и представляем первые k записей в векторе или матрице.

Ниже мы покажем несколько интересных примеров из весов среды GPT-2. Например, вы знали, что у медиума GPT-2 канадская голова (в W_VO)?

А также голова, говорящая на британском английском:

Еще немного географии:

А также несколько очень уникальных голов:

Кроме того, для беглости речи важно найти правильный предлог:

W_QK имеет юридическую голову:

Голова для чисел, а также:

Подробнее см. Приложение B к нашей статье!

Приложения

Направления тонкой настройки можно интерпретировать

Мы точно настроили заголовок классификации и последние три слоя предварительно обученной модели на обзорах фильмов IMDB (положительный или отрицательный обзор), оказалось, что направления, в которых меняются параметры, интерпретируемы. В частности, векторы смещения тонкой настройки — разница между параметрами настроенной модели и исходной модели — либо делают упор на токены, связанные с положительными отзывами, либо акцентируют внимание на отрицательных отзывах. Схематично:

Далее мы показываем, что модели изучают подобные представления в пространстве вложений.

Согласование параметров между моделями

Мы используем MultiBERT (Sellam et al., 2022) — набор моделей BERT, обученных на одних и тех же данных с разными случайными начальными значениями. Согласно нашей теории, мы можем взять две отдельные модели и спроецировать их обе в объемлющее пространство. Важное замечание: поскольку пространство для встраивания зависит только от словаря, пространство для встраивания общее! После того, как мы спроецировали параметры обеих моделей в пространство вложения (каждая со своей собственной матрицей вложения), все параметры лежат в одном и том же пространстве. Теперь у них есть общий язык, и мы можем их сравнивать. Когда мы сопоставляем параметры из первой модели со второй моделью, оказывается, что параметры из одного слоя наиболее похожи на параметры из того же слоя в другой модели. Это означает, что слои из обеих моделей изучают семантически схожие концепции в аналогичных слоях, но каждый представляет их в своем собственном пространстве признаков. В то время как представление пространства признаков является произвольным и зависит от случайности, пространство вложения является каноническим и стабильным. Вот почему мы можем сравнивать модели в пространстве для встраивания!

На следующем рисунке мы показываем сравнение параметров двух BERT как в пространстве вложений (слева), так и в пространстве признаков (справа):

Нулевой шов

Подумайте о двух моделях, одна из которых предварительно обучена, а другая настроена на задачу, скажем, анализ настроений на IMDB. Если мы считаем, что обе модели неявно работают в пространстве вложений, мы можем перенести знания из модели с тонкой настройкой в ​​предварительно обученную модель без какого-либо обучения. Нам нужно преобразовать пространство признаков настроенной модели в пространство признаков предварительно обученной модели. Для этого мы берем скрытое состояние в пространстве признаков A и проецируем его в пространство вложений с помощью матрицы вложений модели A, затем мы проецируем из пространства вложений в пространство признаков B — используя правую инверсия матрицы вложения модели B. Это простой линейный оператор, который позволяет нам «переключать» пространства признаков, и теперь можно применять точные слои из модели B. Наглядно:

К сожалению, это не работает так гладко, как ожидалось, и нам нужно повторить эксперимент, чтобы получить хорошую точность. Нам потребовалось 11 прогонов, чтобы получить 3 «хорошие» сшитые модели (с точностью >70%) при анализе настроений. Дальнейшие исследования, вероятно, решат эту проблему. Результаты показаны на рисунке ниже. Ось layer показывает, где в модели A мы сшивали доработанные слои модели B.

Заключительные слова

Мы видели, что Трансформер можно рассматривать как работающий в пространстве вложений, где мы можем сравнивать разные модели в одном линейном пространстве. Мы также предложили новый метод интерпретируемости параметров предварительно обученной модели. Этот метод не требует ввода данных в модель и не требует совместной интерпретации всех параметров. Мы считаем, что в будущем это может привести ко многим интересным приложениям. Важно сказать, что мы не ожидаем, что наш метод будет пуленепробиваемым. Тем не менее, мы считаем, что это первый шаг, который может послужить основой для захватывающих будущих достижений.

Спасибо за прочтение! Следите за обновлениями!

Пожалуйста, ознакомьтесь с нашим репозиторием на github: https://github.com/guyd1995/embedding-space.

Если вам понравился этот пост, вы можете подписаться на меня в твиттере: https://twitter.com/guy__dar.

Все изображения созданы автором

Рекомендации

[1] М. Гева, Р. Шустер, Дж. Берант и О. Леви. Трансформаторные слои с прямой связью — это память типа ключ-значение, 2020. URL https://arxiv.org/abs/2012.14913

[2] М. Гева, А. Качулару, К. Р. Ван и Ю. Голдберг. Уровни прямой связи преобразователя строят прогнозы, продвигая концепции в словарном пространстве, 2022b. URL https://arxiv.org/abs/2203.14680.

[3] Н. Элхейдж, Н. Нанда, К. Олссон, Т. Хениган, Н. Джозеф, Б. Манн, А. Аскелл, Ю. Бай, А. Чен, Т. Конерли, Н. Дассарма, Д. Дрейн , Д. Гангули, З. Хэтфилд-Доддс, Д. Эрнандес, А. Джонс, Дж. Кернион, Л. Ловитт, К. Ндусс, Д. Амодей, Т. Браун, Дж. Кларк, Дж. Каплан, С. МакКэндлиш и К. Олах. Математическая основа трансформаторных схем, 2021. URL https://transformer-circuits.pub/2021/framework/index.html.

[4] носталгебраист. интерпретация gpt: логит-линза, 2020. URL https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru/interpreting-gpt-the-logit-lens.

[5] Т. Селлам, С. Ядловски, И. Тенни, Дж. Вей, Н. Сафра, А. Д'Амур, Т. Линзен, Дж. Бастингс, И. Р. Турк, Дж. Эйзенштейн, Д. Дас и Э. Павлик. MultiBERT: воспроизведение BERT для анализа надежности. На Международной конференции по обучающим представлениям, 2022 г. URL https://openreview.net/forum?id=K0E_F0gFDgA.