В видеообзоре известного IT-блогера Янника Кильхера (Yannic Kilcher) подробно разбирается научно-исследовательская работа специалистов из Google Research, озаглавленная «Synthesizer: Rethinking Self-Attention in Transformer Models». Ведущий анализирует смелую попытку авторов переосмыслить классический механизм самовнимания (self-attention) в архитектуре Transformer и заменить дорогостоящее скалярное произведение на синтетические матрицы весов. Главный сюжет исследования строится вокруг вопроса: так ли незаменима традиционная функция внимания для успешной работы современных языковых моделей?
🧠 Суть проблемы: Зачем переосмыслять Self-Attention? 0:01
Классический механизм самовнимания, основанный на скалярном произведении (dot-product), принято считать центральным и незаменимым элементом современных моделей семейства Transformer. Однако авторы исследуемой статьи задаются амбициозным вопросом: действительно ли он необходим? Как отмечает Янник Кильхер, в стандартном слое трансформера каждый входящий токен генерирует три вектора — query (запрос), key (ключ) и value (значение). Чтобы определить, как распределять информацию внутри последовательности, модель должна рассчитать скалярное произведение каждого запроса с каждым ключом.
Ведущий приводит наглядный пример с обработкой предложения: если в тексте сначала встречается имя «Сара», а затем местоимение «она», трансформеру выгодно направить информацию от узла «Сара» к узла «она». Это позволяет местоимению лучше «понять» свой контекст. Проблема заключается в том, что вычисление попарных взаимодействий всех токенов создает квадратичную вычислительную сложность по длине последовательности ($O(L^2)$), что обходится очень дорого с точки зрения ресурсов.
🛠️ Архитектурные альтернативы: Dense и Random Synthesizer 8:06
В качестве решения исследователи из Google Research предложили новую архитектуру под названием Synthesizer. Главная идея заключается в отказе от токен-токен взаимодействий при расчете матрицы внимания. Вместо этого авторы предлагают два основных варианта синтеза весов: Dense (плотный) и Random (случайный).
В рамках метода Dense Synthesizer каждый отдельный токен самостоятельно прогнозирует целую строку матрицы внимания, минуя процедуру скалярного произведения. Математически это реализуется через двухслойную нейросеть с активацией ReLU, которая принимает вектор конкретного токена $X_i$ и возвращает $L$-мерный вектор, где $L$ — длина последовательности. По мнению Янника Кильхера, при таком подходе токен решает, откуда ему забирать информацию, опираясь исключительно на собственное значение и позицию, совершенно «не зная» содержимого других позиций. Например, слово «она» понимает, что оно является местоимением, и запрашивает информацию из начала предложения (позиция 0), предполагая, что там обычно находится подлежащее.
Второй вариант — Random Synthesizer — предлагает еще более радикальный шаг: полностью отказаться от зависимости маршрутизации от входных данных. Модель просто обучается фиксированной глобальной матрице размера $L \times L$ для всех последовательностей. Проведя математический разбор, Янник Кильхер делает ироничный вывод: Random Synthesizer без функции Softmax превращается в обычный полносвязный слой (MLP) в другой обертке. Как иронично отмечает Янник Кильхер: «Случайный синтезатор — это просто причудливый способ записи обычного полносвзяного слоя». Ведущий признается, что ему трудно поверить, будто сами авторы случайно завели себя в такое заблуждение.
Для оптимизации параметров авторы также предлагают факторизацию матриц, разбивая их на низкоразмерные составляющие с коэффициентом $K$, который значительно меньше длины $L$. Это работает как регуляризатор и сокращает объем памяти. Кроме того, исследователи экспериментируют со смешиванием подходов, создавая комбинации из Dense, Random и классического (Vanilla) внимания. Янник Кильхер подчеркивает, что такие гибриды требуют обучения параметров для каждого компонента отдельно, что автоматически делает их более сложными и тяжелыми.
Сравнение затрат по параметрам выглядит следующим образом:
- Классический dot-product требует $2D^2$ параметров.
- Случайный (Random) вариант требует $L^2$ параметров, что при сопоставимых значениях длины $L$ и размерности $D$ (например, 512) не дает выигрыша.
- Плотный (Dense) вариант расходует $D^2 + DL$ параметров.
📊 Эксперименты: Машинный перевод и языковое моделирование 25:40
Эффективность разработанных моделей тестировалась на задаче машинного перевода (датасет WMT14 English-German). Базовая модель трансформера из оригинальной статьи набирает 27.3 балла по метрике BLEU, в то время как в тестовом запуске авторов она показала 27.67 балла.
Результаты альтернативных моделей Synthesizer распределились следующим образом:
- Synthesizer с фиксированной случайной матрицей (которая вообще не обучается в процессе) показал результат около 23.9 балла BLEU.
- Глобально обучаемая матрица (Random) достигла 27.27 балла BLEU.
- Плотная модификация (Dense) набрала 27.43 балла BLEU.
- Смесь классического внимания (Vanilla) и случайного (Random) смогла обойти базовую модель.
Комментируя запуск с фиксированной случайной матрицей, Кильхер отмечает, что результат в 23.9 балла не должен вызывать чрезмерного изумления. По его мнению, в глубоком обучении часто срабатывает эффект, когда остальные части сети (например, блоки Feed-Forward) способны адаптироваться и «абсорбировать шок» от дефектной маршрутизации на нижних слоях.
Кроме того, Янник Кильхер утверждает, что машинный перевод является максимально благоприятной и удобной задачей для моделей с жестко заданной или позиционной маршрутизацией. На примере перевода фразы с английского на немецкий он демонстрирует, что в схожих языках порядок слов и выравнивание позиций почти всегда монотонны и детерминированы. Поэтому модели легко обходиться без динамического попарного анализа токенов, опираясь лишь на их порядковые номера.
📉 Трудности на сложных задачах: SuperGLUE и генерация текста 36:22
Когда тестирование перешло в плоскость саммаризации (абстрактного реферирования) и генерации диалогов, результаты оказались крайне нестабильными. В каких-то метриках (ROUGE-2) побеждал классический трансформер, в других (ROUGE-1, ROUGE-L) — гибридные или чисто плотные варианты Synthesizer. По мнению ведущего, эта чехарда указывает на определенную «шаткость» и ненадежность предложенного подхода.
Еще более наглядный провал произошел на бенчмарке SuperGLUE, где вместо генерации текста выполнялись задачи классификации, логического вывода и анализа контекста. Для этого эксперимента авторы сменили архитектуру на T5 (Text-to-Text Transformer). Результаты показали, что ни одна модель без классического скалярного произведения (dot-product) не смогла превзойти базовый T5.
Авторы статьи объясняют эту неудачу тем, что в архитектуре T5 механизм самовнимания энкодера одновременно выполняет роль межпредложенческого внимания (cross-sentence attention) при объединении двух фраз через специальный токен-разделитель (separator). Однако Янник Кильхер категорически не согласен с этим аргументом. По его мнению, если бы дело было только в позициях фраз, модель Synthesizer легко бы выучила положение разделителя. Рассуждая о результатах SuperGLUE, блогер заявляет: «Эти задачи требуют сложного динамического роутинга информации, зависящего от контекста, а не просто статических позиционных смещений». Ведущий считает, что истинная причина неудачи — неспособность статической матрицы выполнять гибкое логическое рассуждение, критически зависящее от конкретного содержимого слов в тексте.
🧐 Критика методологии и выводы Янника Кильхера 42:08
В финальной части статьи исследователи приводят графики распределения весов на разных этапах обучения и анализируют влияние количества голов внимания (attention heads). В тексте работы упоминается, что для моделей Synthesizer критически важно иметь как можно больше параллельных голов внимания, поскольку они компенсируют отсутствие динамического роутинга за счет создания множества глобальных паттернов.
Однако Янник Кильхер подвергает этот раздел жесткой критике, называя его простым перечислением очевидных фактов без какой-либо научной интерпретации. Блогер указывает, что авторы просто констатируют изменения на графиках, не объясняя их причинно-следственную связь. Более того, Кильхер выражает сомнение в корректности абляции количества голов: если авторы увеличивали число голов, не масштабируя внутренние размерности векторов ключей и значений (как это правильно делалось в оригинальной статье про Transformer), то прирост качества обусловлен банальным увеличением общего числа параметров модели, а не архитектурным преимуществом.
В качестве общего итога Янник Кильхер хвалит авторов за смелую попытку мыслить нестандартно и поставить под сомнение догмы индустрии AI. Тем не менее, с чисто научной точки зрения исследование выглядит незавершенным, гипотезы сформулированы слабо, а результаты сильно зашумлены попарным влиянием объема параметров. Ну а факт того, что революционный «случайный синтезатор» оказался обычным скрытым полносвязным слоем, вызывает у ведущего лишь добрую улыбку.