Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Всем привет, меня зовут Лёша и я веду свой канал в котором пишу о том, что мне интересно (по большей части все в около-IT-шной-AI-ной-Design-cкой тематике).

В этой инструкции кратко изложу как поставить популярную модель генерации изображений Stable Diffusion прямо на ваш Macbook и затем «накатывать» кастомные fine-tuned модели, которые могут в разные тематики.

Примеры изображений, которые удалось сгенерировать SD на маке
Примеры изображений, которые удалось сгенерировать SD на маке

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

Понадобится примерно 15-20 минут.

Преимущества такого способа использования SD очевидны:

1 — это бесплатно;

2 — можно использовать кастомные модели;

3 — можно пользоваться прямо на ПК;

4 — можно натренировать свою модель и использовать ее;

Минусы: это достаточно ресурсоемко + не на всех маках будет работать.

Итак, поехали:

Шаг 1:

Убедитесь, что ваш Mac поддерживает Stable Diffusion — здесь есть два важных момента:

  • Во-первых, вам понадобится Mac на M1 или M2, чтобы все работало. Предыдущие версии Mac не все будут поддерживаться, но запустить на Intel тоже можно.
  • Во-вторых, вам нужно обновиться до последней версии macOS Monterey, прежде чем пытаться использовать Stable Diffusion — со старыми версиями macOS могут быть проблемы.

Шаг 2:

Идем на сайт DiffusionBee. Находим кнопку «Загрузить для macOS» и жмем.

Шаг 3:

устанавливаем DiffusionBee на мак:

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Шаг 4:

После установки все готово к использованию. Запустите приложение — в нем уже стоит базовая модель Stable Diffusion. В верхней части вы увидите вкладку «Text to image». Это уже привычный многим инпут куда нужно ввести ваш prompt и нажать на кнопку Generate. Подождать какое-то количество минут в зависимости от мощности вашего ПК и видеокарты в частности. И вуаля, ваше изображение готово!

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Рядом с кнопкой Generate есть возможность настройки, например, можно добавить инпут с минус-словами или выбрать какую модель вы хотите использовать для генерации. Так мы плавно переходим ко второй части. Базовая модель Stable Diffusion выдает не особо «интересные» изображения. Сколько я не пытался, получить что-то хорошее, что можно было бы показать у меня не вышло. В таком случае выручают кастомные fine-tuned модели.

Как установить и использовать кастомные модели

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

Шаг 1:

Переходим на сайт Civitai.com (предупреждение: на сайте есть модели способные генерировать изображения для взрослых).

Это каталог моделей, которые были натренированы людьми под различные тематики: аниме, кино, мультфильмы или даже какая-то конкретная внешность.

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Шаг 2:

Выбираем подходящую модель и переходим на внутреннюю страницу. Внутри можно ознакомиться с параметрами, примерами изображений от других пользователей, примерами prompt'ов.

Шаг 3:

Выбранную модель можно скачать. Обратите внимание, что разрешение скачиваемой модели должно быть .ckpt

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Шаг 4:

Модель скачали, теперь переходим обратно в DiffusionBee и жмем на иконку бургера в правом верхнем углу (три палочки) и выбираем Settings.

Шаг 5:

В открывшемся окне нажимаем Add New Model и выбираем недавно скаченную модель. Нужно будет подождать пока модель загрузится (время ожидания будет зависеть от вашего ПК).

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Шаг 6:

После того как модель загрузилась переходим обрано на вкладку «Text To Image» и нажимаем Options. Пролистываем вниз и в графе Custom Model выбираем модель, которую только что установили.

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Шаг 7:

Все готово! Теперь можете прописывать prompt и жать кнопку Generate. Новое изображение будет сгенерированно кастомной моделью. Качество, размер и другие параметры можете задать на все той же вкладке Options, но обратите внимание, чем более качественное изображение вы хотите сгенерировать, тем больше ресурсов вашего ПК потребуется и собственно времени ожидания тоже.

Напоследок прикрепляю несколько изображений, которые мне удалось сгенерировать с помощью кастомной модели «Deliberate».

Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)
Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)
Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)
Гайд: Как запустить Stable Diffusion прямо на Mac и использовать кастомные модели (18+)

Подписывайтесь на канал, что бы не пропускать другие посты:

5050
18 комментариев

Юзаю. Не без недостатков:
• Модель по умолчанию — SD 1.5 со всеми вытекающими (негатив промпты мало влияют, с разрешением выше 512×512 до апскейлера будут проблемы и т.д.), 2.x импортировать не получится, перспективы поддержки 2.x туманны;
• Нет поддержки весов для частей запросов, будут ли — хз;
• Нет настройки сэмплеров (это обещают, сейчас оно на ЗБТ)
• Нет поддержки CoreML (медленнее, нельзя заюзать NPU, но зато залетают любые SD-модели без конвертации); разраб изучает возможность запилить поддержку, пока ограничивает мин. версия макоси (13.1) — в дискорде есть опрос, кто какую версию юзает

Из плюсов конечно простота использования, работоспособность из коробки, лёгкий импорт моделей (кроме стандартных SD 2.x). Для third-party моделей как раз и хорошее решение. Для нормальной работы с SD 2.1 и некоторыми другими, с весьма гибкими настройками, есть DrawThings — изначально мобильная софтина, поначалу крэшилась на ARM-маках, но нынче допилена и полноценно работает, есть набор моделей (в т.ч. openjourney, 3дшные, анимешные), но произвольную импортнуть нельзя. Юзает меньше памяти, чем DiffusionBee, но работает вероятно медленнее, т.к. не загружает гпу полностью (около 90% на M1 Max против 95–99% у DiBee при генерации), видимо причина в mobile-first природе проекта и оптимизациях для мобил с их априорной нехваткой памяти. Также у DiffusionBee есть fp32-версия для arm64, DrawThings чисто fp16.

AUTOMATIC1111 остается самым настраиваемым и универсальным решением, но он очень CUDA-центричен и на Apple Silicon будет самой медленной из имеющихся реализаций, плюс некоторые вещи типа самостоятельного обучения моделей не работают под darwin arm64.

Вообще, ещё есть приложение от HuggingFace на базе CoreML-кода от Apple на базе diffusers-кода от HuggingFace (лол): https://github.com/huggingface/swift-coreml-diffusers, настроек там мало. Доступно на маке и на мобилках, совместимо только со сконверченными под CoreML моделями — SD 2.1 имеется, как и некоторые другие, можно конвертить самому через cli, см. https://github.com/apple/ml-stable-diffusion

5

Юзает меньше памяти, чем DiffusionBee, но работает вероятно медленнееНасчет DrawThings — в этом есть и плюс: можно запустить генерацию и параллельно спокойно работать (не с 3D, конечно) — благодаря некоторому недогрузу гпу и относительно малому потреблению памяти (по крайней мере у меня с M1 Max и 32 ГБ uRAM) нет импакта по перфе и отзывчивости системы и обычных приложений, работаешь, а в фоне оно генерит себе. DiBee fp32 лучше оставлять генерить в выделенном режиме, он отжирает почти все доступные ресурсы GPU и жрёт больше объединенной памяти.

Еще есть SD на Tensorflow с поддержкой Apple Metal специально для интеловских маков (мой случай), но со своими заморочками (интерфейс, настройки, совместимость моделей).
https://github.com/soten355/stable-diffusion-tensorflow-IntelMetal

Это всё прекрасно, но когда люди научатся писать гайды?
Ну вы хоть, примеры запросов к дополнении к фоткам прикладывайте.

Дак гайд же был не по prompt’ам, а по тому как запустить SD на своей машине с MacOS.

3

Попробовал. Видюха разогревается до 85 градусов в процессе генерации. До этого работал с https://github.com/AUTOMATIC1111/stable-diffusion-webui, выше 60-65 не поднималась. Боюсь что приложение может вывести железо из строя очень быстро.

90–100 °C — штатные температуры для ARM, для M2 даже 105 °С
Автоматик не оптимизирован для arm64 и не использует в полной мере возможности GPU, оттого и температура ниже