Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

Я её уже упоминал на своём канале распределённую сеть Stable Horde, с помощью которой можно ускорить генерацию в Stable Diffusion в разы. Время показать её в действии. Особенно это зайдёт тем, у кого старое/слабое железо.

Что такое распределёнка — это сеть компьютеров по всему миру, которые могут делиться своими мощностями, чтобы ускорить генерацию контента. Когда вы нажимаете Generate ваш запрос по кусочкам разлетается на множество машин. Каждая из них будет обрабатывать свою часть картинки, а к вам придёт уже готовое изображение целиком.

Через Stable Horde можно генерить не только картинки, но и текст, голос, а также я думаю скоро сюда добавятся видео и музыка.

У проекта открытый исходный код, все репозитории можно посмотреть. В статистике на сайте видно, что он пользуется популярностью:

  • Сгенерировано 65 млн изображений и 10 млн текстов
  • Средняя скорость генераций 54 Мегапикселя/сек, а текста 674 токена/сек
  • Обработано 843 Терапикселя

Сервис бесплатный, но генерация в порядке очереди. Чтобы ускорить процесс, просто регаетесь, берёте API ключ, вставляете его в автоматике во вкладке с настройками Stable Horde и вперёд.

Для генерации изображений через Stable Horde есть разные веб-интерфейсы (остальные на сайте) и приложения как под Android, так и iOS (раз и два). Для генерации текста есть только веб-клиенты. Мне больше всего понравился Agnaistic как по количеству функций так и по интерфейсу.

Помимо этого для Stable Horde есть много инструментов. Боты:

Плагины ускоряющие генерации в:

Актуальные ссылки на всё смотрите на сайте Stable Horde.

1) И вот как раз про расширение для A1111 мы и поговорим. Для начала, поставим его. Это можно сделать зайдя в Extensions —> Available —> нажав Load from —> в поле поиска вбив Horde. Жмём Install напротив опции Stable Horde Client.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

Если у вас хорошая видюха с 4+ Гб RAM вы можете поставить и Stable Horde Worker, чтобы помогать генерить другим людям. За это вам начисляются баллы в KUDOS. Так вы поддержите сообщество и получите приоритет в очереди на генерации.

2) Когда поставили, идите в Settings и перезагрузите интерфейс нажав Reload UI.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

У вас появятся две новые вкладки Stable Horde Interrogation и Stable Horde Settings. Первая нужна, чтобы получать из картинок по ссылкам в интернете промт, а вторая для настроек и конкретно указания API ключа.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

3) Сам API ключ нужен, чтобы иметь приоритет при генерациях. Получить его можно зарегистрировавшись на сайте проекта. Причем регистрация заключается просто в указании Display Name, после чего отобразится API ключ, копируем его.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

Учтите, что сайт не хранит ваш API ключ и его лучше сохранить где-то отдельно, или залогиниться сначала аккаунтами Google, Discord, Github. Это важно для тех, кто хочет, чтобы KUDOS, начисленные за раздачу мощностей у них не пропадали.

4) Скопировав API ключ, идём в Stable Horde Settings и вставляем его в поле API key. Далее нажимаем Apply Settings.... и по сути всё, можно генерить.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

Для этого идём в раздел txt2img и в Scripts выбираем Run on Stable Horde, а также целевую модель и эффекты для постобработки.

Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

Что означает каждое поле:

  • Model — в стиле какой модели вы хотите генерить. Чем больше цифра рядом с названием, тем больше воркеров её поддерживают, и тем быстрее будет генерация.
  • Share With LAION — возможность поделиться сгенерированным с LAION, которые помогали создавать Stable Diffusion. Так вы помогаете создавать публичные датасеты.
  • Post processing — какие эффекты будут применены к картинке. Есть апскейлинг (повышение разрещения) и face restoration (улучшение лиц). Можно применять цепочкой.
Ускоряем генерацию в Stable Diffusion с 4,5 минут → до 14 сек

На видео в начале поста я сгенерил сначала локально на своей видюхе на ноуте GTX 1050 с 2 Гб VRAM без Stable Horde и на это ушло 4 м 33 сек, а потом через распределёнку.... и результат уже стал 14 сек. Разница почти в 20 раз!

Да оно будет прыгать от количества воркеров в сети, выбранной модели, настроек генерации, но это в любом случае буст и меньше необходимости покупать новое дорогостоящее железо. Чем больше будет воркеров, тем быстрее можно будет генерить. А с учетом того, что Microsoft, Nvidia, и AMD начали делать движения в сторону оптимизации для генераций (ONNX модели, DirectML, драйвера), а отец Stable Diffusion, Эмад Мостак, сказал на недавнем интервью, что вложил свои кровные в языковую модель, заточенную под кластеры, думаю эта тема будет развиваться.

Больше интересностей у меня в телеге Psy Eyes:

66
8 комментариев

Как такое можно победить? После проделанных операций генерация не происходит, а выдаёт такую ошибку: "Model": (None if not opts.add_model_name_to_info else shared.sd_model.sd_checkpoint_info.name_for_extra),
AttributeError: 'FakeCheckpointInfo' object has no attribute 'name_for_extra'

Ответить

так же

Ответить

Ускоряем генерацию в Stable DiffusionНо тут нет ускорения, просто замена железа..

Ответить

Для конечного пользователя идёт именно ускорение с минут ожидания до секунд. Причем в рамках веб-интерфейса без необходимости физически менять железо.

Ответить