Авторы:
(1) Бобби Хе, факультет компьютерных наук, ETH Zurich (переписка по адресу: [email protected].);
(2) Томас Хофманн, факультет компьютерных наук, ETH Zurich.
Упрощение блоков трансформаторов
Дальнейший экспериментальный анализ
Обсуждение, заявление о воспроизводимости, благодарности и ссылки
Двойственность между пониженным остатком и ограничением обновлений в линейных слоях
Простой рецепт создания глубоких трансформеров — собрать идентичные строительные блоки. Но стандартные блоки-трансформеры далеки от простоты: они переплетают внимание и подблоки MLP с пропусками соединений и слоями нормализации в точном расположении. Эта сложность приводит к хрупкой архитектуре, в которой, казалось бы, незначительные изменения могут значительно снизить скорость обучения или сделать модели необучаемыми. В данной работе мы задаемся вопросом, насколько можно упростить стандартный трансформаторный блок? Объединив теорию распространения сигналов и эмпирические наблюдения, мы мотивируем модификации, которые позволяют удалять многие компоненты блока без потери скорости обучения, включая пропущенные соединения, параметры проекции или значения, последовательные подблоки и слои нормализации. В экспериментах с моделями только авторегрессионного декодера и только BERT-кодировщика наши упрощенные преобразователи имитируют скорость и производительность обучения при каждом обновлении стандартных преобразователей, обеспечивая при этом на 15 % более высокую пропускную способность обучения и используя на 15 % меньше параметров.
Архитектура-трансформер (Васвани и др., 2017), возможно, является рабочей лошадкой многих недавних успехов в глубоком обучении. Простой способ построить архитектуру глубокого трансформатора — последовательно сложить несколько одинаковых «блоков» трансформатора один за другим. Однако каждый блок более сложен и состоит из множества различных компонентов, которые необходимо объединить в определенных схемах для достижения хорошей производительности. Удивительно, но базовый трансформаторный блок с момента своего создания изменился очень мало, несмотря на интерес многих исследователей.
В данной работе мы изучаем, можно ли упростить стандартный блок-трансформатор. Более конкретно, мы проверяем необходимость нескольких компонентов блока, включая пропускные соединения, матрицы проекций/значений, последовательные подблоки и слои нормализации. Для каждого рассматриваемого компонента мы задаемся вопросом, можно ли его удалить без потери скорости обучения (как с точки зрения шага обновления, так и времени выполнения), и какие архитектурные изменения необходимо внести в блок-трансформер, чтобы это сделать.
Мы считаем, что проблема упрощения блоков трансформаторов без ущерба для скорости обучения является интересным исследовательским вопросом по нескольким причинам. Во-первых, современные архитектуры нейронных сетей (НС) имеют сложную конструкцию со многими компонентами, и неясно, какую роль эти различные компоненты играют в динамике обучения НС, а также то, как они взаимодействуют друг с другом. Это особенно актуально, учитывая существующий разрыв между теорией и практикой глубокого обучения, где теоретики, работающие над пониманием механизмов глубокого обучения, часто рассматривают только упрощенные архитектуры из-за удобства, не обязательно отражающего современные архитектуры, используемые на практике. Упрощение архитектур нейронных сетей, используемых на практике, может помочь преодолеть этот разрыв.
Что касается связанной с этим теоретической темы, наша работа подчеркивает как сильные стороны, так и текущие ограничения распространения сигналов: теория, которая оказалась влиятельной благодаря своей способности мотивировать практический выбор дизайна в глубоких NN-архитектурах. Распространение сигнала (Poole et al., 2016; Schoenholz et al., 2017; Hayou et al., 2019) изучает эволюцию геометрической информации в нейронной сети при инициализации, фиксируемой с помощью внутренних продуктов послойных представлений на входных данных, и вдохновило многих впечатляющие результаты при обучении глубоких нейронных сетей (Xiao et al., 2018; Brock et al., 2021; Martens et al., 2021; Zaidi et al., 2023). Однако текущая теория рассматривает модель только при инициализации и часто учитывает только начальный прямой проход. Таким образом, распространение сигнала в настоящее время не может пролить свет на многие тонкости динамики обучения нейронной сети, например, на преимущества пропуска соединений для скорости обучения. Хотя распространение сигнала имеет решающее значение для мотивации наших модификаций, мы бы не пришли к нашим упрощенным трансформаторным блокам только на основе теории и полагались бы также на эмпирические данные.
Наконец, с практической стороны, учитывая непомерные затраты на обучение и развертывание больших моделей трансформаторов в настоящее время, любое повышение эффективности в конвейерах обучения и вывода для архитектуры трансформатора представляет собой значительную потенциальную экономию. Упрощение блока трансформатора за счет удаления несущественных компонентов уменьшает количество параметров и увеличивает пропускную способность наших моделей. В частности, мы показываем, что можно удалить пропускаемые соединения, параметры значений, параметры проекции и последовательные подблоки, при этом соответствуя стандартному преобразователю с точки зрения скорости обучения и выполнения последующих задач. В результате мы сокращаем количество параметров на 16 % и наблюдаем увеличение пропускной способности на 16 % как во время обучения, так и во время вывода.
Нашей отправной точкой для упрощения блоков Transformer является He et al. (2023), которые показывают, что соблюдение принципов распространения сигналов позволяет обучать глубокие трансформаторы без пропуска соединений или слоев нормализации, но со значительно сниженной скоростью сходимости на каждое обновление параметра. Сначала мы покажем, что регулирование обновлений значений и параметров проекции (раздел 4.1) или фактически полное их удаление (раздел 4.2) улучшает производительность подблоков внимания без пропусков и восстанавливает потерянную скорость обучения при каждом обновлении, о которой сообщается. Он и др. (2023). Это удаляет половину параметров и матричных умножений в подблоке внимания. В гл. 4.3 мы показываем, что наши упрощения выгодно сочетаются с параллельными подблоками (Wang & Komatsuzaki, 2021), что позволяет нам удалить все оставшиеся пропущенные соединения и последовательные подблоки без ущерба для скорости обучения каждого обновления, одновременно увеличивая увеличение пропускной способности до в нашей реализации составит 16%. Наконец, в гл. 5 мы показываем, что наши упрощенные блоки улучшаются при масштабировании до большей глубины, хорошо работают как в архитектурах только с кодировщиком, так и только с декодером, и что наши результаты также справедливы при масштабировании длины обучения. Мы завершаем обсуждением ограничений и будущей работы в разд. 6.
Этот документ доступен на arxiv под лицензией CC 4.0.