Релиз модели17 августа 2026 г., 10:17 МСК🤖 Auto

Untie Squared ReLU: Эксперимент с архитектурой FFN в GPT

Исследователи протестировали вариацию активации FFN, разделяя квадрат ReLU на два независимых потока. Модель требует на 50% больше вычислений, но сходится к тому же уровню потерь.

Баннер новости 5899

Суть эксперимента: от Squared ReLU к «Untied»

В стандартном трансформере функция FFN (Feed-Forward Network) часто использует ReLU. Исследователи Amy_ и Michael Bukatin предложили модификацию, вдохновленную работой Primer, где квадратичная активация ReLU(xW)² показала лучшую эффективность обучения. Вместо возведения в квадрат одного выхода, авторы разделили процесс на два независимых потока (branches) с разными весовыми матрицами Wa и Wb, которые затем перемножаются поэлементно:

Этот подход, названный Untie Squared ReLU, является более общей формой квадратичной активации. Если Wa = Wb, вариант становится эквивалентным классическому Squared ReLU. Идея продолжает исследования мультипликативных нейронных единиц как компактного способа представления полиномиальных взаимодействий.

Настройки и метрики

Эксперимент проводился на архитектуре modded-nano-gpt (12 слоев, d_model=768, 6 attention heads) на датасете FineWeb-10B. Обучение выполнялось на двух GPU NVIDIA H100 с использованием оптимизатора Muon. Ключевые параметры:

  • Шаги оптимизации: 1,750
  • Размер скрытого слоя FFN: 3,072 (для базовой линии) и 2,048 (для сравнения по параметрам)
  • Количество параметров FFN: Базовая линия (Squared ReLU) имеет 4.72M параметров, новый вариант — 7.08M (рост в 1.5 раза из-за добавления второго up-projection).

Результаты: Потери, сходимость и вычисления

После 1,750 шагов обучения вариант Untie Squared ReLU достиг уровня валидационных потерь, практически идентичного базовой линии Squared ReLU. Однако это потребовало на ~18% больше машинного времени (wall-clock time) на шаг.

Интересный феномен наблюдался в косинусном сходстве матриц Wa и Wb. Изначально случайная инициализация в высокоразмерном пространстве давала значения, близкие к ортогональности. В ходе обучения сходство быстро росло и стабилизировалось вокруг ~0.77. Однако последующий эксперимент с намеренной инициализацией (0 и 0.999) показал, что нет универсального значения сходимости: при высокой начальной схожести матрицы «разъединялись» в процессе обучения.

Профилирование FLOPs подтвердило теоретические расчеты: добавление третьего умножения матриц (вместо двух в базовой линии) увеличило вычислительную нагрузку ровно в 1.5 раза.

Метрика / Параметр Squared ReLU (Baseline) Untie Squared ReLU (Variant)
Параметры FFN (на слой) 4.72M 7.08M (+50%)
Вычислительная сложность (FLOPs) 1.392 TFLOPs 2.088 TFLOPs (+50%)
Wall-clock time (на шаг) База (100%) +18% медленнее
Косинусное сходство Wa/Wb N/A (одна матрица) Сходится к ~0.77 (при случайной инициализации)
Валидационная потеря (после 1750 шагов) Базовый уровень Практически идентична базовому уровню

Почему это важно?

Результаты показывают, что «развязывание» квадратичной активации не дает преимущества в скорости или качестве сходимости на коротких дистанциях (1.75k шагов), но требует значительных вычислительных ресурсов. Однако, поскольку базовая линия была предварительно настроена (co-adapted learning rate, warmup), а новый вариант обучался без тонкой настройки гиперпараметров, окончательный вердикт о эффективности архитектуры требует более длительных экспериментов. Тем не менее, работа демонстрирует интересный механизм самонастройки весовых матриц в мультипликативных блоках.

Источник: LessWrong ↗