Model Merge
model merge — смешивание весов двух моделей в одну
Model Merge — объединение весов двух или нескольких моделей в одну новую. Применяется в Stable Diffusion и SDXL: смешивают чекпоинты, чтобы получить стиль и навыки сразу нескольких моделей в одном файле. Самые частые методы — Weighted Sum, Add Difference и Block Merge. Делается за минуты, не требует тренировки на GPU и работает без датасета.
Коротко
Коротко. Model Merge — это смешивание весов двух чекпоинтов Stable Diffusion в один новый файл. Берут «Модель А × 0.6 + Модель Б × 0.4» — и получают гибрид: стиль одной модели, анатомию другой. Делается за пару минут в ComfyUI или AUTOMATIC1111, никаких видеокарт-монстров не нужно. На Civitai большинство популярных «миксов» (DreamShaper, RealisticVision, AnythingMix) — это десятки слоёв merge.
Что это такое
Художник скачал две модели Stable Diffusion. Первая — RealisticVision: фотореалистичные лица, кожа с порами, пыль на свету. Вторая — AnythingMix: аниме-стилизация, чистая графика, выразительные глаза. Каждая хороша по-своему, но ни одна не делает того, что нужно автору: «фотореалистичный портрет с лёгкой стилизацией».
Можно тренировать новую модель неделю на 100 тысячах картинок. А можно за полторы минуты слить веса:
new_model = RealisticVision × 0.7 + AnythingMix × 0.3
Файл получается тот же по размеру (~2 ГБ для SD 1.5, ~6 ГБ для SDXL), но поведение — гибридное. Лица остаются фотореалистичными, но с лёгкой выразительной стилизацией глаз и губ.
Это и есть model merge — арифметика над тензорами весов. Никакой тренировки. Никакого датасета. Просто перемножение чисел внутри файлов.
История термина началась в 2022-м, когда сообщество Stable Diffusion открыло для себя AUTOMATIC1111 с вкладкой «Checkpoint Merger». За полгода появились сотни «миксов»: художники мешали модели как краски на палитре. К 2026-му больше 80% популярных моделей на Civitai — это merge-композиции, иногда из 5–10 источников.
Как это работает
Модель — это огромный набор тензоров. У SDXL — около 2,5 миллиарда параметров, разложенных по слоям U-Net, текстовому энкодеру и VAE. Merge перебирает каждый параметр и применяет одну и ту же формулу.
Три основных метода:
- Weighted Sum (взвешенное среднее). Самый простой:
new = α·A + (1−α)·B. Параметрαот 0 до 1 — пропорция первой модели. При α=0.5 модели смешиваются поровну. - Add Difference. Берёт «разницу» между двумя моделями и добавляет к третьей:
new = A + α·(B − C). Удобно, когда есть базовая модель C, файнтюн на её основе B, и нужно перенести «дельту» обучения на другую базу A. - Block Merge (или Hierarchical Merge). Тонкий контроль: разные слои U-Net мешаются с разными пропорциями. Например, нижние слои (отвечают за композицию) — 70% модели А, верхние (детали) — 30%. Дает огромную свободу, но требует понимания архитектуры.
После merge новый файл часто требует VAE-fix: стандартный VAE может оказаться «чужим» для смешанной модели и давать пересвет или цветовые артефакты. Решается подменой VAE на родной от одной из исходных моделей.
Пример на практике
3D-художник делает раскадровку для рекламы. Нужны портреты в стиле «гламурный реализм»: фотография, но с лёгкой иллюстративной обработкой, как в журнальной рекламе.
Стек ComfyUI:
- Скачивает три модели:
RealVisXL(фотореализм),JuggernautXL(универсальный),Pony Diffusion XL(стилизация и динамика). - Открывает ноду
CheckpointMergerили скриптsd-scripts merge_models.py. - Первый merge:
RealVis × 0.6 + Juggernaut × 0.4. Сохраняет какrealjugger.safetensors. Размер 6,9 ГБ. - Второй merge:
realjugger × 0.85 + Pony × 0.15. Получаетglamglow.safetensors.
Тестирует на промпте studio portrait, model agency look, soft window light. Результат — фотореалистичные лица с чуть «нарисованным» свечением. Pony в малой пропорции добавил выразительности позам, не сломав реализм.
Файлы сохраняются как обычный .safetensors. Их можно загрузить в ComfyUI, AUTOMATIC1111 или поделиться на Civitai. Никаких прав на исходные модели merge не нарушает, если только их лицензия это разрешает — у некоторых коммерческих чекпоинтов merge явно запрещён в EULA.
С чем часто путают
- Model Merge и Fine-tuning — fine-tuning меняет веса через тренировку на датасете (час–сутки на GPU). Merge просто смешивает уже готовые веса (минута на CPU).
- Model Merge и LoRA — LoRA добавляет маленький слой поверх модели в момент инференса. Merge переписывает веса самой модели в новый файл. После merge LoRA не нужна.
- Model Merge и Model Soup — Model Soup это академическое название для усреднения весов нескольких чекпоинтов одной тренировки (для уменьшения шума). Это частный случай merge.
- Weighted Sum и Add Difference — Weighted Sum смешивает две модели, Add Difference переносит «изменение» с одной пары на другую. Разные применения.
- Merge и Quantization — quantization уменьшает размер файла за счёт точности (FP16 → INT8). Merge меняет поведение, не размер.
Частые ошибки и заблуждения
- «Merge сильнее, чем тренировка с нуля». Не работает. Merge — это интерполяция между уже выученными точками. Если ни одна из исходных моделей не умеет делать что-то — гибрид тоже не научится.
- «Чем больше моделей в миксе, тем лучше». Не всегда. После 4–5 уровней merge модель становится «средней по больнице»: теряет характер всех источников и начинает галлюцинировать. Большинство удачных миксов — 2–3 модели максимум.
- «Можно смешать SD 1.5 с SDXL». Нет. У них разное количество слоёв, разные размерности эмбеддингов. Merge возможен только внутри одного семейства архитектуры.
- «Merge сохраняет лицензию исходных моделей». Часто да, но не всегда. У некоторых моделей merge коммерчески запрещён даже если оба источника разрешены. Читать EULA каждой исходной модели обязательно.
- «После merge нужно опять тренировать». Нет, новый чекпоинт работает сразу. Но иногда полезно сделать
LoRA-finetuningповерх — чтобы «закрепить» характер микса.
Связанные термины
- Checkpoint — основной файл с весами модели; объект merge.
- Fine-tuning — альтернатива merge, требует датасет и GPU.
- LoRA — облегчённый способ менять поведение модели без merge.
- Safetensors — формат, в котором обычно хранятся merge-результаты.
- Block Merge — продвинутый merge с разными пропорциями по слоям.
- VAE — после merge может потребоваться подмена.
- Civitai — главная площадка для публикации merge-моделей.
Частые вопросы
Сколько занимает merge по времени? В ComfyUI на обычном CPU — 30–90 секунд для SD 1.5, 2–4 минуты для SDXL. Видеокарта не нужна, операция идёт в RAM.
Сколько RAM нужно для merge SDXL? Минимум 16 ГБ системной памяти, комфортно — 32 ГБ. Чекпоинты грузятся целиком в RAM, две модели по 6,5 ГБ + рабочая память съедают много.
Можно ли смержить с LoRA? Да, есть специальная операция «Merge LoRA into Checkpoint»: она встраивает LoRA внутрь чекпоинта навсегда. После этого LoRA уже не нужна, но и отключить эффект нельзя.
Что такое «exotic merge»? Жаргон Civitai. Так называют миксы из 5+ источников с экспериментальными весами по слоям. Часто они дают красивые случайные эффекты, но плохо предсказуемы.
Безопасно ли качать merge с Civitai?
Если файл в формате .safetensors — да, в нём нельзя выполнить код. Старые .ckpt-файлы потенциально опасны (использовали Python-pickle). По возможности всегда выбирайте safetensors-версию.
Как откатить плохой merge? Никак, это новый файл. Просто удалить и попробовать другие пропорции. Исходные модели не повреждаются — merge их не трогает, только читает.
Главное
Model Merge — это арифметика над весами моделей: пара минут вместо суток тренировки. Самый частый рецепт — Weighted Sum двух чекпоинтов в пропорции 60/40 или 70/30. Block Merge даёт тонкий контроль по слоям, но требует понимания архитектуры. Главное правило — не смешивать больше трёх источников и держать долю «характера» добавок в диапазоне 15–35%. Это превращает чужие модели в инструмент для собственного визуального стиля, не требуя ни датасета, ни GPU-кластера.