Новости

Что произойдет, если я зашифрую/пропущу слой Трансформера?Последние исследования раскрывают механизм потока информации

2024-07-26

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Западный ветер дует из храма Аофэй.
Кубиты | Публичный аккаунт QbitAI

Механизм потока информации в Transformer был раскрыт в ходе последних исследований:

Все ли слои необходимы? Средний уровень делает то же самое? Имеет ли значение порядок слоев?

еслипропустить несколько слоевНапример, что произойдет, если выход слоя 4 подключить к слою 6.Случайным образом перетасуйте порядок слоев, а как насчет 4-6-5-7, например.

Недавнее исследование под названием «Слои-трансформеры как художники» стало популярным и было завершено исследовательской группой из стартапов в области искусственного интеллекта Sakana AI и Emergence AI.



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

Лукасу Бейеру, исследователю Google DeepMind и автору ViT, оно понравилось сразу после прочтения:

Отличное резюме! Хотя некоторые эксперименты были показаны в предыдущих исследованиях, мне нравятся новые детали, которые вы добавили, особенно подчеркнув, что на задачи типа «рассуждение» это влияет больше, чем на другие задачи!



Многие ученые и инженеры также высказали сильные рекомендации.

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



Эксперименты еще раз подтвердили, что: копирование слоев полезно для творческих задач, но обычно неэффективно для задач рассуждения, изменение порядка слоев не работает лучше всего в среднем слое, но все равно требует корректировок;



Итак, какие эксперименты провела исследовательская группа в рамках этого исследования? На какие вопросы были даны ответы?

Выбор экспериментальной модели и сравнительный анализ

Давайте сначала посмотрим на экспериментальную конфигурацию~

Экспериментируйте втолько декодеритолько кодервыполнено на модели.

Среди них модель, использующая только декодер, выбираетЛама2, в основном изучает Llama2-7B с 32 слоями и 7 миллиардами параметров. Расширенный эксперимент также включает модели 13B (40 слоев) и 70B (80 слоев).

Модель только для кодировщика выбираетБЕРТ, с 24 слоями и 340 миллионами параметров.

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

Что касается эталонного тестирования, Llama2 использует следующие стандартные тесты: ARC (вопросы теста по естественным наукам), HellaSwag (вопросы здравого смысла), GSM8K (вопросы по математике), WinoGrande (рассуждения здравого смысла), LAMBADA (словарное предсказание). Среди них LAMBADA используется для измерения путаницы, которая наиболее близка к исходному предсказанию токена, используемому во время обучения.

Для оценки производительности Llama2 предоставляется нормализованная медиана тестов, количественно определяющая производительность от 0 до 1 (оптимальная производительность модели).

Для BERT принят эталонный тест GLUE и учитываются его оценочные показатели, включая ненормализованный средний балл эталонного теста. Обратите внимание, что стандартная оценка BERT включает этап тонкой настройки, таким образом адаптируя модель. В приложении исследователи также показывают результаты оценки, при которой можно регулировать только голову модели.

Мотивацией эксперимента изначально послужил следующий вопрос:

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

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

8 главных вопросов о Трансформере
Используют ли слои одно и то же пространство представления?

Чтобы определить, используют ли разные слои одно и то же пространство представления, исследователи изучили структуру Transformer.Пропустить определенные слои или изменить порядок соседних слоев.прочности.

Например, в модели Llama2-7B измените выходной поток с обычного порядка «Слой 4 -> Слой 5 -> Слой 6» на «Слой 4 -> Слой 6», пропуская Уровень 5. Что произойдет?

Или что произойдет, если выходные данные слоя 4 будут отправлены на уровень 6, а затем выходные данные уровня 6 отправятся на уровень 5, а затем на уровень 7?

Как показано на рисунке ниже, эксперимент показал, что, за исключением первых и нескольких последних слоев,Llama2-7B демонстрирует хорошую надежность за счет пропуска или изменения последовательности слоев.

То есть средний уровень разделяет пространство представления, а средний уровень и «внешний уровень» (первый и последний уровни) имеют независимые пространства представления.



Чтобы еще больше подтвердить эту гипотезу, исследователи измерили среднее косинусное сходство между активациями скрытых состояний разных слоев в разных моделях (Llama2-7B, Llama2-13B и BERT-Large) и сравнили их между тестами.

На рисунке 3 ниже показаноСогласованность между всеми средними слоями . Например, активация четвертого слоя внизу очень похожа на активацию четвертого слоя вверху. Для 40-слойной Llama2-13B видно, что слои можно разделить на 4-5 групп по сходству: слой 0, слои 1-3, средний слой и затем последний один или два слоя.



Это говорит о том, что модель можетСуществует три разных пространства представления для «начального», «среднего» и «конечного» слоев. . Исследователи также обнаружили, что количество «начальных слоев», похоже, увеличивается с общим количеством слоев в модели.

Более того, высокое косинусное сходство может доказывать, что существует общее пространство представления, тогда как низкое сходство более указывает на то, что эти пространства не являются общими. Данные Llama2-7B на рисунке 3 выше полностью соответствуют результатам производительности, показанным на рисунке 2, что дополнительно доказывает:

По крайней мере, пространство представления на среднем уровне является общим.

Все ли слои необходимы?

Чтобы дополнительно убедиться в том, что пространство представления среднего уровня действительно является общим, исследователи также провелиЭксперимент с пропуском слоев(В ходе экспериментов точная настройка не проводилась).

В частности, выходные данные N-го слоя напрямую передаются на вход N+M-го слоя (M>1), таким образом «пропуская» слой M-1, как показано на рисунке ниже.



Первоначально уровень N+M обучался только на входных данных слоя N+M-1, поэтому теперь он может понимать активацию слоя N?

В экспериментах этого типа исследователи выполняют первый слой и последний слой N-1 в обычном режиме, пропуская или изменяя слои от N+1 до TN (T — общее количество слоев в модели).

Как показано на рисунке 4 ниже, в нескольких тестах производительности Llama2-7B и BERT-LargeПроизводительность постепенно снижается (На рисунке показано постепенное увеличение количества пропущенных слоев слева направо). Этот результат выявил:

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



Все ли средние уровни выполняют одну и ту же функцию?

Являются ли промежуточные уровни избыточными, если они имеют общее пространство представления?

Чтобы ответить на этот вопрос, исследователи повторили предыдущий эксперимент «пропуска», но на этот раз вместо пропуска среднего слояЗаменены веса всех средних слоев на веса центрального слоя.,Как показано ниже.

Фактически на центральном слое выполняется T-2N+1 раз, где T — общее количество слоев модели (Llama2-7B — 32 слоя, BERT-Large — 24 слоя).



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



поэтому,Не является излишним то, что каждый средний уровень выполняет разные функции. Распределение весов между средними уровнями может иметь катастрофические последствия.

Имеет ли значение порядок слоев?

Приведенные выше эксперименты показывают, что хотя средний уровень разделяет пространство представления, он выполняет над этим пространством разные операции. Так имеет ли значение порядок этих операций? Исследователи провели две серии экспериментов.

Сначала средний слой обучается пообратный порядок выполняются по порядку (обратный порядок). Передайте выходные данные слоя TN на уровень TN-1 и так далее до уровня N, а затем передайте выходные данные этого слоя на последний уровень TN.

Как показано ниже:



Второй эксперимент,случайное расположениеСредние слои упорядочены и усреднены по 10 случайным начальным результатам.

Результаты показаны ниже. В обоих случаях модели показывают.Медленное снижение производительности





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

Итак, имеет ли значение порядок слоев? Вывод таков:

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

Стоит отметить, что случайный порядок работает лучше, чем обратный. Возможно, это связано с тем, что обратный порядок полностью противоположен порядку во время обучения, и любой случайный порядок поддерживает по крайней мере некоторую последовательную согласованность (то есть слой i всегда находится после другого слоя j, где i>j).

Могут ли эти уровни работать параллельно?

Если наличие слоев, т.е. отсутствие пропуска, важнее порядка их выполнения, можно ли рассмотретьЗапустите эти слои независимо, а затем объедините их результаты. ? Как показано ниже.



Исследователи провели эксперимент, в котором вместо пропуска слоев от N к TN они запускали эти промежуточные слои параллельно, а затем передавали свои средние результаты последним N слоям.

Результаты показаны на рисунке ниже. За исключением теста математических задач GSM8K, все тесты демонстрируют медленное снижение производительности.

Интересно,Параллельные слои работают лучше, чем пропуск слоев, но не так эффективно, как запуск слоев в обратном порядке.



Подводя итог, можно ли запускать эти уровни параллельно? ответ:Да, за исключением сложных математических тестов.

Для некоторых задач порядок имеет большее значение?

Большинство вариантов (включая обратный порядок, пропуск и параллельный режим) демонстрируют самое быстрое снижение производительности в тестах абстрактного рассуждения ARC или математического рассуждения GSM8K.

Это можно объяснить тем, что задачи поэтапного рассуждения более чувствительны к изменениям порядка слоев, чем «семантические» задачи, такие как Winogrande или HellaSwag.

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

В результате экспериментов исследователи пришли к выводу:Математические и логические задачи больше полагаются на порядок, чем на «семантические» задачи.

Помогает ли итерация работать с параллельными слоями?

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

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

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

Если посмотреть на это с другой стороны, по сравнению с выполнением параллельного слоя только один раз:Итеративное выполнение параллельных слоевДолжно улучшиться производительность.

Исследователи проверили это, передав средний результат параллельных слоев обратно в тот же слой и зафиксировав количество итераций, как показано ниже:



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



Единственным исключением является случай, когда начальный уровень N равен 15 для Llama2-7B или 11 для BERT. В этом случае эффект от распараллеливания цикла 3 раза эквивалентен повторению только среднего слоя 3 раза, а параллельный слой в это время эквивалентен полной модели.

Исследователи также повторили эксперимент с разным количеством итераций.

На рисунке ниже показано, как меняется производительность Llama2-7B в зависимости от количества параллельных слоев M и количества итераций.



Оптимальное количество итераций для каждого M указано красным прямоугольником. За исключением M=29 и M=31 (почти все уровни распараллелены), оптимальное количество итераций примерно линейно пропорционально количеству параллельных слоев.

Итак, вывод такой:Итерация помогает при использовании параллельных слоев, а оптимальное количество итераций пропорционально количеству параллельных слоев.

Какие варианты меньше всего вредят производительности?

Наконец, исследователи сравнили все различные варианты эксперимента на одном графике.

Результаты показывают, чтоПовторить один слой(Как упоминалось выше, замените средние слои равным количеством центральных слоев)Худший эффект, производительность быстро снижается до случайного базового уровня.



Итеративный параллелизм и последовательное снижение производительности на случайных уровнях минимальны., среди которых итеративный параллелизм лучше всего работает в BERT и Llama2-7B.



Дополнительные экспериментальные результаты были добавлены в приложение к статье, и заинтересованные члены семьи могут проверить оригинал статьи.

Ссылка на документ: https://arxiv.org/abs/2407.09298v1.
Ссылка на ссылку: https://x.com/A_K_Nain/status/1812684597248831912