ComfyUI — это мощный и гибкий инструмент для работы с моделями Stable Diffusion, предоставляющий графический интерфейс для создания сложных пайплайнов (воркфлоу). Одной из востребованных функций является слияние (merging) базовой модели (checkpoint) с LoRA-моделью (Low-Rank Adaptation). Этот процесс позволяет интегрировать стили, персонажей или эффекты LoRA непосредственно в базовую модель, создавая новую модель, которая сразу включает нужные характеристики, без необходимости загружать LoRA отдельно при генерации изображений.

В этой статье мы подробно разберём процесс слияния модели и LoRA в ComfyUI, включая установку необходимых компонентов, настройку воркфлоу и ссылки на все необходимые ресурсы. Статья ориентирована на пользователей, знакомых с основами ComfyUI, но мы объясним всё шаг за шагом, чтобы даже новички смогли справиться.

Что такое слияние модели и LoRA?

LoRA (Low-Rank Adaptation) — это метод тонкой настройки моделей Stable Diffusion, который позволяет добавлять новые стили или элементы с минимальными изменениями в весах модели. Слияние LoRA с базовой моделью отличается от применения LoRA во время генерации: вместо временной загрузки LoRA в пайплайн мы создаём новую модель, в которой веса LoRA уже встроены в базовую модель. Это удобно, если вы хотите использовать модель в других инструментах или упростить процесс генерации.

Предварительные требования

Для выполнения слияния вам понадобится:

  1. ComfyUI:

    • Скачайте последнюю версию с официального репозитория GitHub.
    • Убедитесь, что у вас установлены Python 3.10+ и PyTorch (рекомендуется версия с поддержкой CUDA для GPU).
    • Инструкции по установке: ComfyUI Installation Guide.
    • После установки запустите ComfyUI через run_nvidia_gpu.bat (для Windows) или аналогичный скрипт для вашей ОС.
  2. ComfyUI-Manager:

    • Это расширение упрощает установку дополнительных нод и плагинов.
    • Скачайте и установите через GitHub.
    • Установка: Скопируйте папку ComfyUI-Manager в ComfyUI/custom_nodes/ и перезапустите ComfyUI.
  3. Расширения для слияния LoRA:

    • LoRA-Merger-ComfyUI: Простое расширение для слияния LoRA с моделью. Скачать.
    • ComfyUI-DARE-LoRA-Merge: Более продвинутое расширение с гибкими настройками весов. Скачать.
    • Установите через ComfyUI-Manager: в интерфейсе менеджера введите название репозитория и нажмите "Install".
  4. Модели:

    • Базовая модель: Например, DreamShaper 8 или любая другая модель Stable Diffusion 1.5/SDXL. Скачайте с Civitai или Hugging Face.
      • Пример: DreamShaper 8.
      • Поместите модель в ComfyUI/models/checkpoints/.
    • LoRA-модель: Найдите подходящую LoRA на Civitai.
      • Пример: BlindBox LoRA.
      • Поместите LoRA в ComfyUI/models/lora/.
  5. Дополнительные зависимости:

    • Убедитесь, что у вас установлены все зависимости PyTorch для ComfyUI. Запустите pip install -r requirements.txt из папки ComfyUI.
    • Для работы с GPU требуется NVIDIA CUDA Toolkit (версия 11.8+). Скачать.

Пошаговая инструкция

Шаг 1: Настройка ComfyUI

  1. Запустите ComfyUI, открыв run_nvidia_gpu.bat (или аналог для вашей ОС).
  2. Перейдите в веб-интерфейс по адресу http://localhost:8188 (или другой порт, указанный при запуске).
  3. Убедитесь, что ComfyUI-Manager установлен и работает. В интерфейсе вы увидите кнопку "Manager" в боковом меню.

Шаг 2: Установка расширений

  1. Откройте ComfyUI-Manager в интерфейсе.
  2. Введите в поиск:
    • larsupb/LoRA-Merger-ComfyUI и нажмите "Install".
    • ntc-ai/ComfyUI-DARE-LoRA-Merge и нажмите "Install".
  3. Перезапустите ComfyUI после установки (закройте и снова запустите).

Шаг 3: Подготовка моделей

  1. Поместите базовую модель (например, dreamshaper_8.safetensors) в ComfyUI/models/checkpoints/.
  2. Поместите LoRA (например, blindbox_lora.safetensors) в ComfyUI/models/lora/.
  3. Проверьте совместимость: LoRA для SD 1.5 не будет работать с SDXL-моделями, и наоборот.

Шаг 4: Создание воркфлоу

  1. В интерфейсе ComfyUI нажмите "Clear Workflow" для создания нового пайплайна или загрузите готовый воркфлоу (ссылки ниже).
  2. Добавьте ноду для слияния:
    • Для LoRA-Merger: Найдите ноду LoRA Merge в меню (щелкните правой кнопкой мыши → "Add Node" → "LoRA Merger").
    • Для DARE: Найдите ноду DARE LoRA Merge в меню.
  3. Настройте ноду:
    • Model: Выберите базовую модель (например, dreamshaper_8.safetensors).
    • LoRA: Выберите LoRA-модель (например, blindbox_lora.safetensors).
    • Weight: Установите вес LoRA (рекомендуется 0.5–1.0). Меньшие значения дают слабое влияние, большие — сильное.
    • Output Path: Укажите путь для сохранения новой модели (например, ComfyUI/models/checkpoints/merged_model.safetensors).
  4. (Опционально) Добавьте ноду Save Model для сохранения результата.

Шаг 5: Выполнение слияния

  1. Подключите все ноды в правильном порядке (модель → LoRA → Merge → Save).
  2. Нажмите Queue Prompt в интерфейсе ComfyUI.
  3. Дождитесь завершения процесса. Новая модель появится в указанной папке.

Шаг 6: Проверка результата

  1. Загрузите новую модель в стандартный воркфлоу Stable Diffusion в ComfyUI.
  2. Создайте простой пайплайн для генерации изображений (например, с нодами Checkpoint Loader, CLIP Text Encode, KSampler, VAE Decode).
  3. Сгенерируйте изображение с промптом, связанным с LoRA (например, для BlindBox: "cartoon character, vibrant colors").
  4. Проверьте, что эффекты LoRA встроены в модель.

Рабочие воркфлоу

  1. LoRA-Merger Workflow:
    • Скачать.
    • Простой воркфлоу для базового слияния. Подходит для новичков.
  2. DARE LoRA Merge Workflow:
    • Скачать.
    • Продвинутый воркфлоу с гибкой настройкой весов и поддержкой нескольких LoRA.

Как загрузить воркфлоу:

  • Скачайте JSON-файл.
  • В ComfyUI нажмите "Load" и выберите файл.
  • Убедитесь, что все ноды из воркфлоу установлены (через ComfyUI-Manager).

Полезные советы

  • Экспериментируйте с весами LoRA: Значения 0.3–0.7 подходят для тонкого влияния, 0.8–1.2 — для заметного эффекта. Слишком высокие веса (выше 1.5) могут привести к искажениям.
  • Резервное копирование: Всегда сохраняйте оригинальные модели перед слиянием.
  • Совместимость: Проверяйте, что LoRA и базовая модель совместимы (SD 1.5 или SDXL).
  • Производительность: Слияние на CPU может быть медленным. Используйте GPU с CUDA для ускорения.
  • Отладка: Если процесс не запускается, проверьте логи в консоли ComfyUI. Убедитесь, что пути к моделям указаны правильно.

Частые проблемы и решения

  1. Ошибка: "Модель не найдена":
    • Проверьте, что файлы моделей находятся в правильных папках (checkpoints и lora).
    • Убедитесь, что имена файлов указаны без ошибок в воркфлоу.
  2. Ошибка: "Нода не найдена":
    • Установите нужное расширение через ComfyUI-Manager.
    • Перезапустите ComfyUI после установки.
  3. Слияние не даёт ожидаемого эффекта:
    • Попробуйте увеличить вес LoRA.
    • Проверьте промпт: некоторые LoRA требуют специфических ключевых слов.

Полезные ресурсы

Заключение

Слияние модели и LoRA в ComfyUI — это мощный способ создать кастомную модель с уникальными характеристиками. Используя расширения LoRA-Merger или DARE-LoRA-Merge и готовые воркфлоу, вы можете легко интегрировать LoRA в базовую модель. Следуйте инструкциям, экспериментируйте с настройками и проверяйте результаты через генерацию изображений. Если возникнут вопросы, обратитесь к сообществу ComfyUI или документации.