Model stitching как идея появился в 2015 году. Его выдвинули как метод изучения эквивалентности двух сетей, но математическая эквивалентность здесь мимо не проходила — она, более того, не верна — авторы назвали два представления эквивалентными, если существует преобразование между ними, в математике мы требуем аксиом).Тогда это осталось нишевым инструментом для картинок — юзали AlexNet-ы. Потом в 2021 NeurIPS идею дооформили, вышли две работы: Similarity and Matching of Neural Network Representations и Revisiting Model Stitching to Compare Neural Representations. Кстати, в первой работе шутили про Франкенштейна (или нет). Как это стало устроено: Смотрим на две обученные и замороженные сети A и B. «Сшитая» модель строится так: • берём нижние слои сети B (front model, представление r = B≤ℓ) • между ними ставим тонкий обучаемый stitching layer — единственный, кто обучается • подключаем к верхним слоям сети A (top model, A>ℓ) То есть делаем бутерброд из белого и темного хлеба, если хотите. А формально ищется простейший слой, задачей вида: L_ℓ(r; A) = inf_{s∈S} L(A>ℓ ∘ s ∘ r) Где s — stitching layer, A>ℓ — верхние слои A, r — представление из B. s∈S — тут специально, мы ищем слой из класса простых слоев, а инфимум (inf), как математический знак, говорит нам, что stitching layer обязан быть минимальным: для свёрточных сетей — 1×1 conv с BatchNorm, для трансформеров — token-wise linear. Как именно обучают stitching layer: — HLM (hard label matching) — минимизируем ошибку на настоящих метках задачи. — SLM (soft label matching) — минимизируем расстояние до предсказаний end-модели, а не до ground truth. — DM (direct matching) — напрямую минимизируем расстояние между активациями на уровне stitching. — FuLA (functional latent alignment, Athanasiadis et al., 2026) — stitching layer обучается имитировать не только выход end-модели, но и её внутренние процессы послойно (на пальцах плохо — надо читать). Метрика успеха — stitching penalty = разница между ошибкой сшитой модели и ошибкой базовой A. Penalty ≈ 0 означает совместимость. Penalty < 0 — сшитая модель стала лучше базовой, то есть мы буквально подсадили ей более сильные нижние слои. Зачем это нужно: Смотрим на фиолетовую/рыжую цитату — изначально — метрика сходства. Но потом пошло интереснее. Например, Stitchable Neural Networks (CVPR 2023) можно семейство предобученных моделей разного размера (например, Swin-Ti/S/B), сшить и получить модель, которая во время инференса может динамически переключаться между режимами accuracy/efficiency или T-Stitch: ускорение диффузионных моделей через замену первых шагов денойзинга на более лёгкую сеть и возврат к тяжёлой для финального качества. Это что, пахнет LoRA? Эту мысль я обдумывала при знакомстве со stitching. Вдруг она не возникла у вас — я опеределиа. Да: оба метода замораживают предобученные веса и вставляют тонкий линейный слой. Но нет: LoRA адаптирует одну модель к новой задаче, stitching измеряет совместимость двух уже обученных сетей на старой задаче. Финал не придумала, но stiting — одна из штук, висящих у меня на "идеи для рисерча". А ещё — просто вдумайтесь! Этот AI-мир можно сшить! Хирург, кстати, ничего не спросил, но швы наложил нормально. Аккуратнее будьте, друзья, и будьте здоровы! 😌
Model stitching: как объединять нейросети
Разбор метода model stitching: история, технические подходы, метрики и отличие от LoRA.
StiTching
Мне сегодня нужно было сшить кожу на пальце, и в процессе этого перформанса я вспомнила про model stitching. Чтобы скрасить время — врачебное и моё — начала рассказывать зачем это надо. Без понятия, зашло ли хирургу и медсестре, но зато я обнаружила для себя интересный тейк на поделиться с вами = )
Что:
Кратко (AI)
Автор объясняет концепцию model stitching — метода объединения слоев двух разных нейросетей через обучаемый промежуточный слой. В посте рассматриваются способы обучения этого слоя (HLM, SLM, DM, FuLA), метрики успеха и практическое применение, например, в динамическом переключении моделей или ускорении диффузионных сетей.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖