SDXSv3: глубина через повтор слоёв

Заметка на русском про устройство трансформера SDXSv3. Фокус — рекуррентность, то есть переиспользование одних и тех же слоёв.

О модели

SDXSv3 — single-stream DiT. Эмбеддинги Qwen склеиваются с латентами VAE в одну последовательность, дальше всё идёт через общие блоки. Кросс-аттеншена нет.

Параметры:

  • скрытая размерность 2560, 20 голов по 128
  • полное внимание (kvheads = 20, без GQA)
  • текст: Qwen3.5-2B, скрытая 2048, берутся три слоя [2,12,22]
  • патч 2, VAE с 32 каналами, энкодер f8, декодер f16

Глубина через повтор

Два входных блока, двенадцать блоков середины, два выходных. Середина применяется дважды с общими весами.

  • 28 проходов через 16 уникальных блоков
  • параметры 1,65 млрд (3,3 ГБ bf16)
  • по работе — как 28-слойный трансформер, около 92 гигафлопс на токен

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

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

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

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

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for recoilme/sdxs-dit-ru

Finetuned
(65)
this model