Stable Diffusion на macOS: сравнение локальных инструментов для изображений
Автоматический перевод Эта статья была автоматически переведена с оригинальной английской версии.
Запуск моделей для генерации изображений локально на macOS в основном сводится к выбору инструментов. Draw Things, DiffusionBee, ComfyUI, AUTOMATIC1111 и Fooocus частично пересекаются по возможностям, но отличаются установкой, поддержкой моделей, управлением пайплайном, расширениями и автоматизацией.
Приложение с drag-and-drop позволяет быстро начать работу, а нодовый граф требует больше времени на изучение, зато открывает доступ к большему числу этапов пайплайна. На Apple Silicon на соответствие генерации доступной памяти влияют приложение, семейство моделей, точность, размер изображения и сам пайплайн. Выбирайте интерфейс исходя из того, какой рабочий процесс нужно воспроизводить, а затем тестируйте конкретную модель и настройки.
Коротко. Начните с Draw Things или DiffusionBee, если для задачи достаточно нативного приложения. Используйте ComfyUI, когда сам граф нужно инспектировать, передавать другим или автоматизировать. Выбирайте AUTOMATIC1111 только для пайплайна, зависящего от его интерфейса или расширений. Рассматривайте Fooocus как стабильный пайплайн эпохи SDXL, а не как путь к поддержке актуальных моделей: официальный проект находится в режиме ограниченной долгосрочной поддержки.
Файл модели — это не переносимый пайплайн
Несколько приложений умеют загружать файлы .safetensors, но совпадение расширения файла не означает, что модель заработает. Для полного пайплайна также могут потребоваться конкретная архитектура, текстовый энкодер, VAE, scheduler, ControlNet, LoRA, токенизатор или конфигурация, специфичная для приложения.
Фиксируйте всё, что участвовало в создании изображения:
- приложение и его версию
- репозиторий модели, ревизию и лицензию
- все компоненты модели и адаптеры
- промпт, негативный промпт, seed, sampler, число шагов, guidance и размеры
- файл графа или пайплайна, если приложение его предоставляет
Эта запись важнее популярности приложения. Даже при том же seed изображение может измениться после смены бэкенда, модели, sampler или точности.
Unified memory — общая, но не бесконечная
Apple пишет, что ее GPU используют модель unified memory, в которой CPU и GPU совместно используют системную память, хотя доступ к ресурсам всё равно зависит от режима хранения Metal. Это устраняет границу между отдельными копиями, но macOS и все открытые приложения используют один и тот же физический объём; Мониторинг системы показывает использование памятью приложений, wired memory, сжатой памяти и swap.
Для генерации изображений используйте следующую схему как концептуальный реестр пикового потребления памяти, а не как формулу подбора конфигурации:
peak memory ≈ model components
+ intermediate activations
+ attention and runtime workspace
+ loaded adapters and control models
+ application and OS memory
Разрешение, размер батча, архитектура модели, точность, апскейлинг, ControlNet и то, остаются ли компоненты загруженными, меняют итог. Ни один источник Apple не превращает этот реестр в универсальное правило «8/16/32 GB», поэтому выбор машины по нему — лишь вывод на основе тестирования пайплайна. Протестируйте целевой пайплайн, затем следите за Memory Pressure и Swap Used; постоянный уход в swap — признак того, что нагрузку нужно снизить или выбрать больше памяти.
Выбирайте по состоянию, которым нужно управлять
| Инструмент | Удобный уровень управления | Операционный компромисс |
|---|---|---|
| Draw Things | Нативный интерфейс Apple с локальными моделями, адаптерами, ControlNet и скриптами | Плотный интерфейс, специфичный для продукта; проверьте поддержку нужного семейства моделей |
| DiffusionBee | Упакованное приложение macOS со встроенным пайплайном генерации | Удобство важнее инспекции на уровне графа; нужно проверить темп релизов и поддерживаемые семейства |
| ComfyUI | Явный нодовый граф, JSON-пайплайны, API и custom nodes | Больше движущихся частей; графы и сторонние ноды становятся зависимостями |
| AUTOMATIC1111 | Web UI на основе форм, скрипты, API и большое поле расширений | Для Apple Silicon задокументированы ограничения возможностей и производительности; расширения расширяют границу доверия |
| Fooocus | Мнениезависимый prompt-first пайплайн SDXL | Официально находится в ограниченной LTS с одними багфиксами; рекомендации для Mac неофициальны и мало протестированы |
Таблица не является рейтингом. Она показывает, где находится состояние пайплайна: внутри приложения, в наборе форм или в графе, который можно проверить.
Draw Things: нативное взаимодействие и скриптинг
Draw Things — приложение для платформ Apple, предназначенное для локальной генерации изображений. В актуальной документации описаны модели, LoRA, ControlNet, textual inversion, Core ML и версионируемый скриптинг на JavaScript.
Выбирайте его, если работа должна оставаться внутри нативного приложения, но одного поля промпта недостаточно для нужного уровня контроля. Перед стандартизацией импортируйте точные компоненты модели и воспроизведите одну показательная операцию редактирования, работу с адаптером или пайплайн управления. «Нативный» описывает интерфейс и реализацию, но не гарантирует поддержку или скорость для каждой новой архитектуры.
DiffusionBee: упакованный пайплайн для macOS
DiffusionBee объединяет загрузку моделей и распространённые задачи генерации в десктопном приложении. В документации проекта перечислены image-to-image, inpainting, outpainting, ControlNet, LoRA и SDXL. В примечаниях к релизу DiffusionBee 2.5.3 указано, что Flux.1 поддерживается только на Mac с arm64 под управлением macOS 13 или новее.
Выбирайте его, если простота установки и интегрированный UI важнее экспорта графа пайплайна. Перед загрузкой большой модели проверьте последний релиз и точную архитектуру. Пометка вроде «поддержка Flux» не означает, что загрузятся любые производные модели, варианты квантизации или вспомогательные компоненты.
ComfyUI: пайплайн — это артефакт
ComfyUI представляет генерацию в виде нодового графа. Пайплайн можно хранить в JSON независимо от результата, благодаря чему его удобно инспектировать и версионировать. Его экзекьютор также может не пересчитывать участки графа, входные данные которых не изменились.
Comfy Desktop — менеджер нескольких инсталляций для локальных экземпляров ComfyUI. В актуальной документации для macOS заявлена поддержка Apple Silicon на macOS 13 или новее; установка выполняется из загруженного файла .dmg. Если вы предпочитаете Homebrew, актуальный cask — comfy, а не comfyui:
brew install --cask comfy
Выбирайте ComfyUI, если в пайплайне есть ветвления, повторно используемые компоненты, несколько моделей или автоматизация. Храните вместе JSON, версию приложения, версии core nodes, ревизии custom nodes и манифест моделей.
Custom nodes — это исполняемые зависимости. Изучите их исходный код и скрипты установки, зафиксируйте ревизии и изолируйте окружение. Граф неизвестного автора может ссылаться на код и модели, которые вы не проверяли.
AUTOMATIC1111: совместимость с привычным Web UI
AUTOMATIC1111 Stable Diffusion WebUI предоставляет настройки генерации через браузерный интерфейс и поддерживает скрипты, расширения и API. Выбирайте его, если конкретный туториал, автоматизация или расширение уже являются частью требований.
В официальном руководстве для Apple Silicon описаны исключения и ограничения производительности, включая слабую производительность обучения. Перед выбором конфигурации с большим количеством расширений убедитесь, что нужная возможность работает на целевых версиях macOS и PyTorch.
Расширения выполняют код внутри окружения приложения. Фиксируйте их версии, проверяйте обновления и оставляйте сервис доступным только через loopback, если удалённый доступ не предусмотрен намеренно и не защищён.
Fooocus: ограниченный вариант эпохи SDXL
Fooocus намеренно скрывает многие технические параметры за opinionated prompt-first пайплайном. Это удобно, если его настройки по умолчанию соответствуют задаче.
В актуальном README проекта сказано, что Fooocus построен вокруг SDXL и находится в режиме ограниченной долгосрочной поддержки, предусматривающей только исправления багов. Там же указано, что Mac не проходит интенсивное тестирование, а установка на Mac является неофициальной. Поэтому Fooocus — ограниченный выбор для уже существующего пайплайна Fooocus, но не путь по умолчанию для новых архитектур или планируемой к сопровождению конфигурации macOS.
Проведите один репрезентативный приёмочный тест
Перед выбором инструмента используйте небольшой набор приёмочных тестов:
- Воспроизведите базовый результат text-to-image с зафиксированными seed и настройками.
- Запустите самую сложную требуемую операцию: inpainting, ControlNet, LoRA, апскейл или многоэтапный граф.
- Перезапустите приложение и воспроизведите пайплайн из сохранённых артефактов.
- Измерьте холодный старт, время генерации, пиковую нагрузку на память и размеры результата.
- Перенесите пайплайн в чистую учётную запись пользователя или на другую машину и перечислите все отсутствующие зависимости.
- Проверьте привязку к локальной сети, загрузки, настройки аналитики, лицензии и происхождение моделей.
Не сравнивайте инструменты на разных чекпоинтах, разрешениях, количествах шагов или точности, а затем не называйте результат бенчмарком рантайма.
Практический выбор по умолчанию
Для исследовательской работы начните с нативного приложения и модели, поддержку которой оно документирует. Переходите на ComfyUI, когда ценность начинает представлять сам пайплайн: его нужно проверять, повторять, автоматизировать или передавать другому человеку. Оставайтесь на AUTOMATIC1111 или Fooocus, если существующая зависимость делает их конкретный интерфейс полезным.
Сохранять стоит минимальный воспроизводимый комплект идентификаторов моделей, параметров, зависимостей и состояния пайплайна, который позволяет снова получить тот же результат.
Ссылки
- Документация Draw Things
- Проект DiffusionBee
- Документация ComfyUI macOS Desktop, cask Comfy Desktop для Homebrew и документация по пайплайнам
- Документация Apple по unified memory и Metal и документация по нагрузке на память в Activity Monitor
- Примечания по установке AUTOMATIC1111 на Apple Silicon
- Статус проекта Fooocus и примечания по macOS