C
ChaoBro

101 голос «за» — лидер ежедневного рейтинга Hugging Face: как довести Diffusion Transformer до 1000 слоёв и что на самом деле означает «крик в режиме среднего значения»

101 голос «за» — лидер ежедневного рейтинга Hugging Face: как довести Diffusion Transformer до 1000 слоёв и что на самом деле означает «крик в режиме среднего значения»

Название статьи — «Mean Mode Screaming: Mean–Variance Split Residuals for 1000-Layer Diffusion Transformers».

101 голос «за», первое место в ежедневном рейтинге статей Hugging Face Daily Papers.

Название выглядит несколько абсурдно — «крик в режиме среднего значения»? — однако за ним стоит серьёзная техническая идея: как увеличить глубину Diffusion Transformer с привычных 28–64 слоёв до 1000 без катастрофического провала обучения.

Почему Diffusion Transformer так сложно сделать глубоким

В LLM архитектура Transformer с лёгкостью достигает более чем 100 слоёв — это повседневная практика. В диффузионных моделях же количество слоёв обычно ограничивается 28–64.

Причин две:

Во-первых, исчезновение или взрыв градиентов. Процесс обучения диффузионных моделей изначально менее устойчив, чем обучение языковых моделей. Он требует вычисления функции потерь на множестве временных шагов, а градиенты должны проходить через весь процесс денойзинга. Чем больше слоёв — тем длиннее путь распространения градиентов и тем острее эта проблема.

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

Это порождает парадоксальную ситуацию: в LLM можно почти беспрепятственно наращивать глубину сети, тогда как в DiT (Diffusion Transformer) число слоёв долгое время не удавалось существенно увеличить.

Что такое Mean-Variance Split Residuals

Ключевая инновация статьи — новый тип остаточного соединения: раздельные остаточные соединения по среднему значению и дисперсии.

В классическом остаточном соединении используется формула: y = x + F(x), где вход напрямую суммируется с результатом преобразования.

В подходе Mean-Variance Split каналы признаков разделяются на две группы: одна отвечает за обучение среднего значения («режим среднего»), другая — за обучение дисперсии («режим дисперсии»). Каждая группа обрабатывается отдельно с применением остаточного соединения, после чего результаты объединяются.

Интуитивная основа этого решения такова: в глубоких сетях сигналы среднего значения и дисперсии обладают принципиально различными характеристиками распространения. Сигнал среднего значения склонен затухать в глубоких слоях (исчезновение градиентов), тогда как сигнал дисперсии — накапливаться (взрыв градиентов). Раздельная обработка этих компонентов позволяет оптимизировать пути их распространения независимо.

Что означает переход к 1000 слоям

Увеличение числа слоёв с 64 до 1000 — это не просто количественный рост.

Рост глубины более чем в 15 раз теоретически ведёт к экспоненциальному росту выразительной способности модели. Однако ключевой вопрос — удаётся ли её действительно обучить эффективно?

Слово «Screaming» («крик») в названии, вероятно, намеренно указывает на экстремальное поведение модели при предельной глубине: она либо демонстрирует выдающиеся результаты, либо полностью терпит крах. Задача раздельных остаточных соединений по среднему и дисперсии — обеспечить, чтобы модель «кричала», а не «молчала»: сохранять активность сигнала даже в самых глубоких слоях.

Сравнение с глубиной LLM

Вот любопытное сравнение:

  • LLM (например, GPT-4): обычно около 100 слоёв
  • DiT (например, Stable Diffusion 3): обычно 28–64 слоя
  • Модель из данной статьи: DiT из 1000 слоёв

Если DiT из 1000 слоёв удастся стабильно обучить и он продемонстрирует превосходство над более мелкими архитектурами, это будет означать, что закон масштабирования (Scaling Law) для диффузионных моделей ещё далеко не исчерпан и содержит значительный нераскрытый потенциал.

Однако важно учитывать принципиальное различие: глубина LLM и глубина DiT — это не одно и то же понятие. В LLM каждый слой обрабатывает последовательность с помощью самовнимания, тогда как в DiT каждый слой работает с пространственными патчами и использует пространственное внимание. Их вычислительная сложность и плотность информации принципиально различны.

Практические вопросы

101 голос «за» свидетельствует об оживлённом интересе сообщества к данному направлению, однако остаются несколько важных вопросов, требующих проверки:

Улучшается ли качество генерации монотонно с ростом глубины? Многие архитектурные нововведения выглядят многообещающе в статье, но на практике дают лишь скромный прирост в стандартных бенчмарках. Необходимо проанализировать метрики FID, IS и другие.

На сколько возрастает вычислительная стоимость генерации? Задержка при инференсе для модели из 1000 слоёв превышает задержку для 64-слойной модели на порядок. Даже если такая модель удастся обучить, будет ли её практическое развертывание экономически оправданным?

Подтверждают ли эксперименты с исключением компонентов (ablation studies), что именно раздельные остаточные соединения по среднему и дисперсии являются решающим фактором? Возможно, успешное обучение 1000-слойной модели обусловлено другими техниками — например, улучшенной инициализацией или адаптивным планированием скорости обучения — а не конкретно этим типом остаточных соединений.

Оценка

Это смелое архитектурное исследование. Доведение DiT до 1000 слоёв — вне зависимости от того, станет ли такой подход общепринятым — помогает сообществу лучше понять границы масштабируемости диффузионных моделей.

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

Стоит продолжать отслеживать развитие этой линии исследований.

Основные источники: