03 Мая 2023
49

Оптимизируем и ускоряем Automatic1111, полный гайд

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

В данном гайде мы разберем все наиболее доступные способы ускорения и оптимизации работы Automatic1111. Указанные здесь способы пригодятся для абсолютно всех видеокарт вплоть до RTX 4090.

Инструкции будут указаны для актуальной версии автоматика, если у вас старая - обновитесь.

***

Материал подготовлен телеграм каналом Neurogen News. Здесь я публикую новости, ссылки на новые релизы и гайды по Stable Diffusion.

Обновляем драйвера видеокарты

Самый базовый, но и самый основной шаг. Время от времени работа драйверов со Stable Diffusion улучшается, что позволяет получить увеличенную скорость генераций.

Отключаем планирование графического процессора

По неизвестной на данный момент причине, планирование графического процессора с аппаратным ускорением в Windows 10 и 11 вызывает серьёзную просадку производительности на видеокартах Nvidia (возможно и на других тоже, к сожалению, нет информации подтверждающей или отрицающей это).

Отключить ее можно следующим образом:

Откройте Параметры экрана. В Windows 11 в настройках нажмите «Графика» в разделе «Сопутствующие параметры», а в Windows 10 — «Настройки графики» ниже раздела «Несколько дисплеев». В Windows 11 дополнительно перейдите в раздел «Изменение стандартных параметров». Отключите, если у вас включена эта функция и перезагрузите ПК.

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

Переходим в Изменение стандартных параметров графики

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

Отключаем Планирование графического процессора

Настраиваем переменные в bat файле webui-user.bat

Если у вас видеокарта с 8 Gb видеопамяти и более:

Открываем webui-user.bat в блокноте или любом другом текстовом редакторе.

В строке

set COMMANDLINE_ARGS=

указываем следующие значения:

  • Если у вас видеокарта поколения RTX либо карта от AMD:

set COMMANDLINE_ARGS= --opt-sdp-attention --upcast-sampling --opt-channelslast

opt-sdp-attention - включает метод перекрестного внимания SDP, встроенный в Torch 2.0 и 2.1. Он позволяет эффективнее работать с видеопамятью и увеличивает скорость генерации.

upcast-sampling - выборка по восходящему потоку. Не имеет эффекта при использовании --no-half. Обычно дает результаты, аналогичные --no-half, с лучшей эффективностью при использовании меньшего объема памяти. Обычно дает небольшое ускорение.

opt-channelslast - Неоднозначный пункт. Активирует альтернативный режим работы с видеопамятью в torch, должно ускорить генерацию, но на слабых системах или системах с процессорами с низкой частотой или старой архитектурой - может вызывать замедление. Поэтому индивидуально.

  • Если у вас видеокарта поколения GTX:

set COMMANDLINE_ARGS= --xformers --upcast-sampling

xformers - метод перекрестного внимания от Meta (Facebook). Также улучшает работу с видеопамятью и ускоряет генерацию, как и SDP. По заявлениям пользователей, лучше работает на слабых картах чем SDP.

Также, для всех карт Nvidia, стоит добавить следующие строки:

set CUDA_MODULE_LOADING=LAZY

Данная переменная активирует режим отложенной загрузки ненужных модулей CUDA. Направлено на экономию видеопамяти.

set NUMEXPR_MAX_THREADS=16

где 16 - кол-во потоков вашего процессора.

set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.9,max_split_size_mb:512

Запрещает torch разбивать блоки, превышающие этот размер (в МБ). Это может помочь предотвратить фрагментацию и может позволить выполнять некоторые пограничные рабочие нагрузки без нехватки памяти.

Таким образом, ваш webui-user.bat должен иметь примерно следующее параметры:

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

Текст для копирования:

@Echo off
set PYTHON=
set GIT=
set VENV_DIR=
set CUDA_MODULE_LOADING=LAZY
set NUMEXPR_MAX_THREADS=16
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.9,max_split_size_mb:24
set COMMANDLINE_ARGS= --opt-sdp-attention --upcast-sampling
call webui.bat

Настройки в Automatic1111

Заходим в Settings, переходим в Sampler Parameters, и для ползунка Negative Guidance minimum sigma выставляем значение 3. Сохраняем.

Данный твик ускоряет генерацию за счет снижения значения cfg для негативного промта под конец генерации.

Устанавливаем Token Merging (ToMe)

ToMe позволяет ускорить генерацию с небольшим падением детализации изображения, за счет объединения некоторых избыточных токенов.

Заходим в Extentions, переходим в Install from url и вставляем следующую ссылку:
https://github.com/SLAPaper/a1111-sd-webui-tome
и нажимаем Install. После установки появится сообщение, что установка закончена. Перезапускаем автоматик. По умолчанию, ToMe будет активирован.

Подробнее об установке и работе ToMe я рассказывал в следующем видео:

(Опционально) Отключаем Live Preview

Предпросмотр замедляет основной процесс генерации, и если вы хотите выжать еще немного скорости - отключите его. Зайдите в Settings, перейдите в Live previews и уберите галки на Show live previews of the created image и Show previews of all images generated in a batch as a grid. Примените настройки.

(Опционально) Используем модели, основанные на SD 2.1

По моим личным наблюдениям и тестам на RTX 3060 Ti и RTX 4090, а также по наблюдениям админов других тематических телеграм каналов, после майского обновления Automatic1111 генерация на моделях, основанных на версии SD 2.1 идет быстрее чем на моделях 1.5 при полностью одинаковых параметрах.

При тестировании на 3060 ti, включив все улучшения и оптимизации, я смог дополнительно получить ускорение на 20%.

Обновляем CUDNN

CUDNN - библиотеки от Nvidia для работы с нейронными сетями. Свежие версии этих библиотек, как правило, привносят улучшение производительности, особенно для карт поколения RTX30xx и выше.

Идем сюда: https://developer.nvidia.com/rdp/cudnn-archive выбираем самую актуальную версию для Cuda 11.x и скачиваем архив Local Installer for Windows (Zip)

Открываем архив, переходим в папку bin внутри архива.

Теперь открываем папку, где лежат файлы нашего Automatic1111, переходим в venv\Lib\site-packages\torch\lib

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост


И теперь из нашего архива, где мы открыли папку bin, перекидываем все файлы с заменой в открытую нами папку lib.

Теперь мы обновили библиотеки Cudnn на самую актуальную версию.

Для тех, у кого 6 гб видеопамяти:

Для начала, вам необходимо выполнить все прошлые шаги.

Ваш webui-user. bat должен выглядеть примерно так:

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

--opt-sdp-attention --upcast-sampling --no-hashing --always-batch-cond-uncond --medvram

то есть, просто допишите параметры:

--no-hashing --always-batch-cond-uncond --medvram

Использование medvram немного снизит производительность, но позволит прилично снизить потребление видеопамяти. Чтобы снижение производительности было еще меньше, можно отключить предпросмотр при генерации в настройках автоматика.

Для тех, у кого 4 гб видеопамяти:

Ваш webui-user.bat должен выглядеть примерно так:

Оптимизируем и ускоряем Automatic1111, полный гайд Гайд, Нейронные сети, Stable Diffusion, Полезное, Nvidia, Видео, YouTube, Длиннопост

--opt-sdp-attention --upcast-sampling --no-hashing --always-batch-cond-uncond --lowvram

В зависимости от вашей видеокарты, попробуйте opt-sdp-attention заменить на xformers. Сравните результаты. То, что будет лучше работать с вашей картой будет необходимо оставить в bat файле.

Важно: оба параметра (xformers и sdp) не будут работать вместе. Будет активирован только один из них.

Если вы планируете генерировать, используя ControlNet или же использовать hi-res fix, то используете параметр lowram. Это очень сильно снизит производительность, но даст максимально экономное использование видеопамяти. Если же вы не собираетесь использовать вышеописанные функции, можете попробовать использовать также medvram.

***

На данный момент это все основные способы ускорения и оптимизации работы Automatic1111. Есть еще дополнительные способы, например, использовать linux вместо windows, или использовать wsl2, но они слишком сложные для обычного пользователя Stable Diffusion. При появлении новых статья будет дополняться.

***

Neurogen News - Новости, релизы и гайды из мира нейросетей
Нейрогенное искусство - авторский канал с нейросетевыми артами

Показать полностью 6 1
6114

Нюрнбергский процесс прям под носом

Гуляю сегодня в центре Москвы (район м. Арбатская) и свернул в Калашный переулок. Тихий и безлюдный переулок. Людей единицы ходят, туристов нет. Тут находятся рядом два посольства, Эстонии и Нидерландов. Тротуар неширокий перед ними. И прям вдоль всего посольства Эстонии установлены стенды, посвящённые Нюрнбергскому процессу.

Нюрнбергский процесс прям под носом Политика, Посольство, Длиннопост, Фотография, Нюрнбергский процесс, Москва
Нюрнбергский процесс прям под носом Политика, Посольство, Длиннопост, Фотография, Нюрнбергский процесс, Москва

С фотографиями и описанием всех основных событий того периода. Кто, за что и почему был казнён (повешен) из правящей верхушки 3 Рейха. Каждый день, приходя на работу, сотрудники видят фото американского палача и казнённых им гитлеровцев. Какой "тонкий ход" московских властей))). Ранее эти стенды стояли на Старом Арбате (в марте, апреле). Кто работает в центре наверняка видели их.
Далее, пройдя до посольства Нидерландов я увидел на соседнем с ним здании, которое примыкает к нему, на стене огромный баннер:

Нюрнбергский процесс прям под носом Политика, Посольство, Длиннопост, Фотография, Нюрнбергский процесс, Москва

Понятно, что и тем и другим сотрудникам посольств глубоко наплевать на это, но тем не менее я оценил эти мероприятия. Не знаю какой эффект они приносят, но как минимум бесят их. Интересно, есть ли что то подобное у других представительств? Надо в другие дни прогуляться и посмотреть.

Показать полностью 3
12

Пирог со сливами на песочном тесте

Мой рецепт без сахара, вы можете его добавить по своему вкусу.

Масло сливочное - 150 г
Сахарная пудра - 77 г
Сахар для джема- 30 г
Мука пшеничная - 225 г
Желток - 1 шт.
Сливы - 10-12 шт.
Или крупные 4 шт.
Кукурузный крахмал-5 г

Вариант без сахара и пшеничной муки.
Масло сливочное -150 г
Финики-3 шт ( любые)
Мука кукурузная, рисовая цельнозерновая по 112 г
Желток -2 шт
Сливы - 10-12 шт.
Или крупные 4 шт.
Кукурузный крахмал-5 г

1. Соединяем масло, финики ( сахарную пудру), муку и желток
2. Разминаем вилкой в однородную массу или стационарным миксером с насадкой для теста.
3. Тесто распределяем по форме у меня 16 см и убираем в холодильник.
4.Берём сливы очищаем от кожуры ( по желанию можно оставить, если любите легкую кислинку) и взбиваем до однородной массы погружным блендером.
5. Сотейник со сливовой массой ставим на огонь ( можно добавить сахар или любой подсластитель)и варим 2-3 минуты, затем вливаем кукурузный крахмал разведённый холодной водой и на среднем огне, помешивая венчиком непрерывно, ещё увариваем 1-2 минуты, ориентируйтесь на то, что некоторые сорта слив могут иметь большое количество сока, тут либо увеличить крахмал до 10 г., или уваривать до 5 минут. По итогу у вас должно получится густая масса, как повидло.
6. Охлаждаем нашу начинку до комнатной температуры.
7. Разогреваем духовку на 180-200 градусов
8. Выкладываем начинку на основу.
9. При желании можно украсить дольками слив пирог и посыпать сахаром
9. Выпекать на 180-200 градусов 30-40 минут.

Пирог со сливами на песочном тесте Рецепт, Слива, Пирог, Эстетика, Видео, Вертикальное видео, Длиннопост, Кулинария, Выпечка
Пирог со сливами на песочном тесте Рецепт, Слива, Пирог, Эстетика, Видео, Вертикальное видео, Длиннопост, Кулинария, Выпечка
Показать полностью 2 1
13

Утеряна сумка с документами. Москва, автобус М88

Стареньким родственником утерян (забыт в автобусе) черный пакет в автобусе М88 в Москве 02.05.2023, поездка от ст.м. Каширская до ст.м. Кантемировская.

В пакете барсетка с кучей ключей и папка с документами на имя Владимир Александрович Ш.

При нахождении прошу написать в телеграм, @Orange_irina

Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите