Резюме статьи/Чтение

Введение

  • Причина, по которой люди в основном задаются вопросом, что на самом деле происходит между моделями, исходит из двух сторон спектра. Один исходит из научной/интерпретируемой стороны, которая в основном думает о том, где находятся вещи и какие модели делают для их достижения. На стороне спектра в основном в практическом смысле, так как иногда эти модели путаются, а иногда мы хотим изменить некоторую информацию в середине, поскольку они устарели.
  • Хотя многие из крупнейших нейронных сетей, используемых сегодня, являются авторегрессивными, способ хранения знаний в них остается малоизученным.
  • Некоторые исследования уже проведены на моделях в масках.
  • Случайные вмешательства оказались очень полезными для определения того, что происходит внутри модели.
  • Фундаментальный вопрос, стоящий за случайной трассировкой, заключается в том, что мы хотим знать, какое из скрытых состояний несет информацию, которая может помочь нам отлаживать нашу работу.
  • Но многие люди могут прийти к выводу, что каждое скрытое состояние содержит важную информацию, по которой можно отследить скрытое состояние. Это то, к чему в основном приходит эта статья, проверяя, происходит это или нет.

Давайте разоблачим, что на самом деле здесь происходит

Что такое случайная трассировка?

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

  • Так что здесь, во-первых, просто наша языковая модель нормально работает над данной подсказкой Space Needle is in the center, мы также можем наглядно убедиться в этом на изображении a. Он также дает правильный ответ как Сиэтл.
  • Но во втором запуске мы вводим поврежденные входные данные, как показано на рисунке b, со звездочкой в ​​конце каждого токена слова.
  • В конце концов, после того, как наши языковые модели обработают это приглашение, это в конечном итоге приведет к неправильному ответу, который ожидался. Но теперь здесь мы можем использовать случайную трассировку, чтобы проверить, все ли нейроны содержат важную информацию для трассировки скрытых состояний.
  • Мы просто возьмем нейрон из ранее правильно обученной модели ввода и поместим его на то же место в этой модели и проверим, даст ли он нам Сиэтл в качестве ответа даже сейчас или нет.
  • В конце концов это работает, а также доказывает, что все нейроны не содержат одинаково важную информацию. да, они содержат информацию, но не все из них содержат.

  • Ранний сайт и поздний сайт имеют действительно высокие случайные эффекты, по сути, они имеют достаточно информации, необходимой для восстановления фактических заявлений, но все остальные состояния этого не делают. Это очень редкий набор активаций, которые могут на самом деле

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

  • MLP соответствует ранним случайным следящим эффектам сайта
  • Это действительно странно видеть это, поскольку оно в середине, которое появилось из ниоткуда.
  • Если мы будем выполнять этот эффект в среднем более 1000 раз, то мы узнаем, что ранний сайт систематически приземляется на последний предметный токен.
  • Патч высокого казуального эффекта в MLP
  • Авторы этой статьи в основном сформировали гипотезу о том, что эти MLP являются теми, которые вспоминают фактические знания.

  • Эти MLP - это те, которые вспоминают фактическое утверждение, а токен внимания, который фактически отвечает за предсказание следующего токена, читает их.

  • Теперь, когда гипотеза гласит, что MLP — это тот, кто хранит/восстанавливает фактическое утверждение, поэтому, чтобы проверить это, мы здесь, автор просто разделил MLP и Attention один за другим, и мы можем ясно видеть эффект этого на изображении выше. .
  • Как показано выше, если мы разорвем МЛП, мы увидим, что это будет иметь очень меньший эффект по сравнению с тем, когда мы разорвем внимание.
  • Для ранних слоев, таких как 10–20 MLP, очень важно вспомнить фактическое утверждение.
  • Не удаляя ничего между MLP и вниманием, мы можем видеть синие линии, которые находятся вверху, но как только мы разорвем MLP, он в конечном итоге упадет до нижних зеленых линий.
  • Если мы отключим внимание, то оно также упадет, но не так, как MLP для ранних слоев, как показано красными линиями на изображении выше.
  • Таким образом, мы можем лучше понять, что у внимания есть роль, но не такая, как у MLP. МЛП играет гораздо более важную роль в воспоминании информации, чем внимание.

  • После токена space needle уже будет слой MLP, который уже вспомнил и сохранил тот факт, что он находится в seattle.
  • Хотя до сих пор мы даже не спросили модель о местонахождении космической иглы.
  • Таким образом, это, по сути, означает, что если гипотеза этой статьи верна, то, как только модель увидит объект, она соберет все виды слоев MLP, вызванных и сохраненных с целым набором информации.
  • В конце концов, с помощью модели уровня внимания в основном фокусируется на том, что мы просили, чтобы вызвать извлечение этой конкретной информации из всего набора информации, хранящейся на разных уровнях MLP.
  • Итак, здесь MLP действует как хранилище ключей и значений. Один из исследователей по имени Гева обнаружил, что второй слой прямой связи действует как память ключ-значение. Об этом много говорят, мы обсудим это в будущих блогах.

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

Как отредактировать языковую модель?

  • Скажем так, вместо Seattle они хотят Paris в качестве ответа от нашей языковой модели.
  • У них также есть значение Paris в векторной форме, и, используя это значение и используя немного математики, автор установил это как проблему оптимизации с ограничениями.
  • Получается, что если они решат это, то это даст решение в закрытой форме для обновления ранга 1.

  • Здесь W — исходная матрица, K и V — пары ключ-значение.
  • Требуется обновление ранга 1, которое они могут легко вычислить и которое им нужно добавить к исходной матрице весов, и, в конечном итоге, после этого они получают обновленную матрицу весов, которая учитывает новый факт, который они хотят вставить.
  • Здесь новым фактом является просто местоположение Paris .

Здесь у нас может возникнуть вопрос, что-

Откуда они узнают, какой вектор ключа и значения мы хотим вставить?

  • Ключ относительно прост, так как ключ — это тема, которую вы знаете и хотите, и которую мы можем просто пропустить через сеть и получить активацию на конкретном сайте, они всегда выбирают один и тот же сайт здесь.
  • Ценность сильно отличается, поскольку они как бы решают проблему оптимизации.

Как они выбрали MLP, в котором хотят внести изменения?

  • Здесь они должны ориентироваться на конкретный MLP на конкретном уровне.
  • Случайная трассировка дает диапазон MLP, в котором она работает.

По мере масштабирования модели большая часть FLOPS при обучении и выводе попадает в основном на уровень прямой связи, в MLP и не обязательно в механизм внимания. Все пытаются сделать механизм внимания более эффективным, но не понимают, что эти большие модели работают в основном в прямом слое. Слои упреждающей передачи Fan-out и Fan-in действительно могут поглощать огромное количество ресурсов (в основном, запомненной информации).

На этом давайте закончим этот блог, так как это краткое изложение исследовательской работы по поиску и редактированию фактических ассоциаций в GP. Если вы обнаружите какие-либо вопросы относительно концепции или кода, вы можете написать мне в мой Twitter или LinkedIn. Следующий блог будет опубликован 21 марта 2023 года.

Немного обо мне

Меня зовут Мохит.❤️ Вы также можете называть меня Шахматной фигурой. Я разработчик машинного обучения и конкурентоспособный программист. Большую часть времени я провожу, глядя на экран компьютера. В течение дня я обычно занимаюсь программированием, работая над извлечением информации из больших наборов данных. Мои навыки включают анализ данных, визуализацию данных, машинное обучение, глубокое обучение, DevOps и работу над полным стеком. Я развил в себе способность решать проблемы и иногда получаю удовольствие от сложных задач.

Мое Портфолио и Гитхаб.