Фундамент — курс по внутреннему спокойствию и уверенности
Курс 1 уровня психопрактики по построению внутреннего фундамента и ментальной стабильности
Цель: сформировать прочный внутренний фундамент.
0.1 Вступление
Часть 1. Что такое Stable Diffusion.
1.1. Обзор технологии
1.2 Как создавался Stable Diffusion
1.3 На чьих картинках учился Stable Diffusion?
Часть 2. Установка Stable Diffusion Automatic1111
2.1 Устанавливаем программу на ПК
2.2 Аренда сервера для запуска SD
Часть 3. Онтология промпта. Семантическая сеть и микросюжетный промпт
3.2 Влияние текстовой подсказки
3.3 ⭐ Домашнее задание. Сравниваем типы промптов
Часть 4. Prompt-инжиниринг
4.1 Промпт-инжиниринг базовый
4.2 Домашнее задание. Оцениваем эффективность видеокарты
Часть 5. Синтаксис в промпт-инжиниринге
5.1 Синтаксис промпта
5.2 ⭐ Домашнее задание. Упражняемся в синтаксисе
Часть 6. Чекпоинты (модели Stable Diffusion)
…
🚧🚧🚧
Список уроков будет обновляться по мере выхода нового материала…
Пока вы только выбираете подходящий промпт, нет необходимости генерировать множество изображений и долго ожидать результата. Когда ваш промпт будет хорошо сформулирован и отредактирован, тогда используйте ресурсы видеокарты на полную мощность.
Из этого урока вы научитесь определять оптимальные настройки генерации для вашей видеокарты. В таблице ниже представлена эффективность видеокарты в зависимости от значения batch size.
Вот какие выводы можно сделать из этой таблицы:
Проведите такой же тест на своём компьютере.
Откройте таблицу и создайте её копию. Для этого в верхнем углу таблицы нажмите «Файл» -> «Создать копию». Копия этой таблицы сохранилась на вашем гугл-диске, теперь вы можете редактировать её.
Вернитесь к SD и выполните последовательность действий:
1. Выставьте batch size = 1;
2. Сгенерируйте картинку размером 512×512;
3. Запишите длительность генерации в таблицу. Длительность отображена под генерацией в строке Time taken;
4. Увеличьте значение batch size на +1 и повторите шаги 2 и 3. Продолжайте увеличивать bach size пока он не станет равен 8.
Чем больше объём VRAM у видеокарты, тем большее количество изображений можно генерировать одновременно. Сообщение «OutOfMemoryError: CUDA out of memory» указывает на то, что видеокарта достигла своего предела возможностей. Это поможет вам определить оптимальное число изображений для одновременной генерации картинок размером 512×512 пикселей.
Повторите эксперимент с чекпоинтом SDXL и разрешением 1024×1024 пикселей. Оптимальное значение batch size будет отличаться.
Далее: Домашнее задание + тестирование пройденного материала. Улучшаем эстетичность изображения в пару кликов.
Из видео вы кое-что узнали про сэмплеры, теперь посмотрим какой из них самый лучший.
График показывает относительное время генерации при использовании разных сэмплеров. Чем меньше столбик на графике, тем быстрее будет генерация.
Посмотрите на ещё один пример того как картинка изменяется при изменении Seed и сэмплера.
Рекомендую использовать сэмплер DPM++ 2M. Он подходит для фотореалистичных и творческих генераций. С его помощью достаточно 20-30 шагов генерации для получения красивых картинок. Дальнейшее увеличение количества шагов увеличит время генерации, но не сделает картинку лучше.
В конце статьи вы найдёте ссылки на скачивание больших таблиц с примерами того как CFG и Step влияет на сэмплеры. Картинки слишком огромные и не вмещаются на сайт.
Примеры негативного промпта:
Не обязательно использовать все слова из этих примеров. Оставьте только только то, что требуется вам в данный момент.
Негативный промпт для фотореалистичных генераций:
По умолчанию оставляйте CFG = 7. Для создания фотореалистичных картинок уменьшайте CFG до 3-4.
Пример влияния CFG на разных сэмплерах:
https://drive.google.com/file/d/1Yyf7A3UbXVWuAtkkPHc2Ya-fqr4lYkij/view?usp%3Dsharing
Ниже есть ссылки на полезные материалы: модификаторы, стили и различные примеры генераций при разных настройках.
Далее: Домашнее задание. Оцениваем оптимальные настройки для серийной генерации картинок.
(⓿_⓿) Внимание! Примеры на видео созданы в ранних версиях Stable Diffusion. Современные чекпоинты сгенерируют результат с более высокой эстетической оценкой. Общая суть промптинга при этом остаётся неименной. С видами чекпоинтов познакомимся в одном из следующих уроков.
Создание промптов для Stable Diffusion является ключевым этапом в работе с нейросетями и моделями text2image. Эффективные промпты позволяют добиться высококачественных результатов и реализовать творческие замыслы. Промпт — это текстовый запрос, который формулируется таким образом, чтобы нейросеть могла его понять и воплотить в изображение. В промпте указывается тип (фотография, иллюстрация, скетч и т.п), субъект (то, что должно быть изображено), его действия или окружение, а также ключевые слова, определяющие стиль и детали. Важно помнить, что расположение слов в промпте влияет на итоговую генерацию: чем ближе слово к началу, тем больше его влияние. Для создания эффективных промптов можно использовать различные подходы: самостоятельное написание, использование конструкторов промптов или оптимизационных инструментов.
Посмотрите как модификаторы влияют на генерируемое изображение.
Переводчики помогут перевести промпт на английский языке.
🖐На практике микросюжетные промпты не используются, поскольку современные нейросети плохо понимают контекст. В лучшем случае нейросеть проигнорирует слова, а в худшем — добавит в изображение нежелательные искажения. Подробности вы найдете в следующем уроке.
Далее: 3.2 Влияние текстовой подсказки
Если программа у вас уже установлена — переходите к третьей части курса.
Есть два основных способа запуска Stable Diffusion Automatic1111: Запуск на своём компьютере и аренда мощного сервера. Выбор зависит от ваших потребностей и возможностей. Установка на собственный ПК обеспечивает больший контроль и гибкость, но требует мощного оборудования. Аренда сервера может быть более доступным вариантом, но менее гибким и часто платным.
Минимальные требования:
Плюсы:
Минусы:
☝️Установите Stable Diffusion Automatic1111 одним из нескольких способов. Перед установкой SD обязательно нужно установить Git и Python версии 3.10.9. Если нужна помощь в установке git и python — смотрите youtube инструкцию.
📃 Полезные ссылки
💬 Дополнительная важная информация!
Программа запускается через файл webui-user.bat, который не имеет своей иконки, исправим это. Иконки для скачивания находятся внизу статьи
❗ Если ошибки возникнут в дальнейшем использовании программы — вернитесь к этому сообщению.
Добавление параметров поможет оптимизировать программу: ускорить генерации или избавиться от ошибок. Полный список параметров есть на официальной странице проекта. Далее я приведу список основных параметров.
Для добавления параметров откройте через блокнот файл «webui-user.bat». Параметры добавляются в конце строки «set COMMANDLINE_ARGS=». Все параметры перечисляются через пробел. Подробнее об этом я рассказывал в видео об установке программы.
➡️ Полезные параметры
--opt-sdp-attention
Уменьшает потребление памяти. Уменьшает время генерации картинки на 15-70%. Работает только на видеокартах Nvidia.
--xformers
После выхода torch 2.0.0 этот параметр считается устаревшим для современных. Вместо этого используйте параметр --opt-sdp-attention.
--autolaunch
Рекомендую использовать. Автоматически открывает веб-страницу в браузере после завершения загрузки программы.
--theme=dark
Включает тёмную тему интерфейса программы.
--api
Не включайте пока в этом нет необходимости. Требуется для некоторых сторонних расширений, которые требуют доступ к интернету.
➡️ Ускоряем генерацию в SDXL
Читайте так же: Оптимальное использование SDXL · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub
➡️ Параметры для устранения ошибок
--medvram
Для генераций крупных картинок, либо для видеокарт с менее чем 6гб видеопамяти. Увеличивает время генерации! Используйте параметр только при острой необходимости.
--lowvram
Работает как предыдущая настройка, но еще сильнее увеличивает время генерации. Только для самых слабых видеокарт с менее чем 4гб видеопамяти
--no-half-vae
Если генерируются чёрные или коричневые квадраты. Сильно увеличивает использование памяти при генерации.
--no-half
Требуется, если у вас проблемы с любой генерацией, такое бывает на 16хх серии видеокарт, особенно с SD 2.x моделями.
Что делать обладателям видеокарт с низким VRAM? (<=4 ГБ)
Что делать если генерируется черный экран?
Как переустановить программу?
Часто причиной ошибок становятся расширения программы. Расширения делают члены сообщества любителей Stable Diffusion и не всегда это опытные программисты. Закройте программу, переименуйте папку с расширениями `extensions` — так SD потеряет их и запустится без расширений. Если ошибка программы не повторяется, то начинайте поиск того расширения, которое сломало программу.
Следующая статья № 2.2 посвящена аренде Stable DIffusion на удаленных серверах. Если вы уже установили программу — переходите к уроку 3.1 Структура промпта.
Датасет — это набор картинок, на которых обучается нейросеть. В видео я покажу как посмотреть на эти картинки и как среди них найти свои фотографии или рисунки.
Тот самый пост с челленджем на генерацию Чебурашки.
При обучении Stable Diffusion версии 1.5 использовался общедоступный датасет изображений. Однако большинство компаний, создающих нейросети, например, Midjourney, предпочитают не раскрывать источники данных, использованных для обучения их моделей. Государства тоже не стесняются использовать наши персональные данные для обучения надзирающего «Большого брата» 😈
Вы вряд ли сможете с уверенностью сказать, были ли ваши личные фотографии задействованы при обучении нейросети Midjourney. Тем не менее, многие социальные сети и интернет-платформы активно используют пользовательский контент, включая тексты, видео и изображения, для обучения своих нейронных сетей без ведома и согласия авторов.
Происходит ли это с вашим контентом в данный момент? Хотите ли вы, чтобы так было? К сожалению, пользователи зачастую не имеют выбора и возможности проконтролировать этот процесс 🕵️
Хотя использование персональных данных для обучения нейронок может вызывать беспокойство с точки зрения приватности, это одновременно является неотъемлемой частью развития технологий искусственного интеллекта. Нейросети обучаются на больших объемах разнообразных данных, и пользовательский контент является ценным источником такой информации.
Компаниям следует быть более прозрачными в отношении своих практик использования данных и предоставлять пользователям возможность сделать осознанный выбор о том, хотят ли они делиться своим контентом для этих целей.
Я обрисовал общую информацию о Stable Diffusion, теперь давайте взглянем на эту технологию в более широком контексте.
Согласно теории диффузии инноваций, процесс распространения новых идей и технологий проходит через пять этапов. Нейросети, несомненно, являются важной инновацией, которая затронет все сферы нашей жизни. В данный момент мы находимся на границе между ранними последователями и ранним большинством пользователей этой технологии.
Это одновременно наше преимущество и вызов. Чем раньше мы освоим нейросети, тем больше выгод сможем извлечь из их использования. Однако на ранних этапах порог входа выше, индустрия только формируется, а набор инструментов стремительно меняется. Вот в чем заключается сложность раннего вхождения в новую область.
Сейчас идет конкурентная борьба между разработчиками нейросетей, и мы, как пользователи, получаем многообразие продуктов. Пока на рынке не закрепились монополии, каждый разработчик стремится удовлетворить наши потребности и предоставить новые уникальные возможности.
Тот факт, что вы смотрите этот курс, говорит о том, что вы относитесь к числу тех, кто не хочет оставаться на месте и ищет новые горизонты. Я искренне рад, что вы работаете над собой и обогащаетесь знаниями.
Освоение нейросетей на этом раннем этапе требует усилий, но это также открывает перед нами огромные перспективы. Лет 20 назад в резюме было принято писать «Уверенный пользователь ПК». Сейчас это настолько базовая вещь что упоминать об этом в резюме так же нелепо как всерьез заявлять: «Обучен письму и арифметике».
«Уверенный пользователь нейросетей» — вот новый тренд на ближайшие годы! Вместе мы сможем стать частью этой революционной технологии и извлечь максимальную пользу из ее возможностей.
Далее: 2.1 Установка Stable Diffusion Automatic1111
В основе работы Stable Diffusion лежит диффузионная модель машинного обучения. Процесс обучения этой модели начинается с того, что исследователи берут реальные изображения из интернета и искусственно добавляют к ним случайный шум, похожий на помехи на старом телевизоре. Затем нейросеть обучают убирать этот шум и восстанавливать исходное изображение.
На ранних этапах обучения шум добавляется в небольших количествах. Постепенно его уровень повышается, пока в конечном итоге изображение не будет полностью замаскировано случайными помехами. Несмотря на это, нейросеть учится находить в этом хаотичном шуме визуальные образы: людей, предметы, растения и другие объекты.
Наступает момент, когда нейросети показывают картинку, состоящую исключительно из случайного шума, и просят сгенерировать изображение цветка, кота или шаурмы. И удивительным образом нейросеть способна увидеть в этом беспорядочном наборе пикселей искомые объекты, какими бы они ни были. Этот процесс и называется «диффузионной моделью» машинного обучения.
Но на этом возможности нейросети не заканчиваются. Она не только находит образы в шуме, но и постепенно добавляет детали к изображению, шаг за шагом преобразуя хаотичные пиксели в привлекательную и реалистичную картинку.
Чем больше шагов удаления шума — тем лучше становится картинка, но только до некоторого предела, после которого картинка перестаёт улучшаться. Этот процесс занимает от 1 секунды до нескольких минут в зависимости от количества шагов удаления шума, размера картинки, мощности компьютера и других параметров.
В рамках этого курса мы сосредоточимся на практическом применении диффузионных моделей, таких как Stable Diffusion. Однако для тех, кто захочет углубиться в технические детали и узнать больше о том, как устроены эти модели, я предоставлю дополнительные материалы и ресурсы.
Задумывались ли вы, сколько изображений может храниться в нейросети весом всего 4 гигабайта? Для сравнения, обычный DVD-диск вмещает до 4,7 гигабайт данных. Представьте, что у вас на компьютере есть папка с фотографиями, занимающая гигабайты или даже десятки гигабайт. Сколько же реально фотографий может содержаться в такой папке? Тысячи или даже десятки тысяч?
Теперь вопрос: сколько изображений, по вашим предположениям, может быть «упаковано» в нейросеть объемом 4 гигабайта? Попробуйте угадать 🤔
Правильный ответ может вас удивить: 5 миллиардов изображений упаковано в SD1.5! 🤯Однако стоит уточнить, что это не полноценные изображения в привычном понимании, а скорее некая информация, описывающая характерные особенности людей, животных, предметов, стилей, художественных техник и многого другого.
Нейросеть не хранит готовые изображения как таковые. Вместо этого она содержит математические представления визуальных концепций, извлеченные из огромного количества обучающих данных. Благодаря этому нейросеть способна генерировать совершенно новые изображения, комбинируя и интерпретируя усвоенные закономерности и паттерны.
Таким образом, 4 гигабайта данных нейросети эквивалентны информации, содержащейся в миллиардах отдельных изображений, что позволяет создавать практически бесконечное разнообразие новых визуальных композиций. Именно эта способность к генерации уникального контента делает нейросети, такие как Stable Diffusion, столь мощным и революционным инструментом.
🧠 Статьи для самых любознательных с углубленным объяснением того, как устроен SD: [рус.] [english 1] [english 2]. Более сложные технические детали о диффузионных моделях: [english].
Далее. 1.3 На чьих картинках учился Stable Diffusion?
Stable Diffusion был выпущен компанией Stability AI в августе 2022 года и сразу же приобрел популярность. Для него создано множество плагинов, оболочек, надстроек, генераторов промптов и дополнительных моделей. Чёрт ногу сломит во всём этом многообразии — будем идти по прядку. Начнём с железа.
Stable Diffusion может работать даже на домашних ПК, оснащенных видеокартой с 2 ГБ видеопамяти. Генерация на таком компьютере будет долгой, лучше вовсе не использовать настолько слабые видеокарты и рассмотреть аренду онлайн видеокарты, к этому мы ещё вернёмся чуть позже. 6 гигабайт видеопамяти уже приемлемо, но всё ещё мало. Для быстрой и эффективной работы рекомендуется видеокарта с 16 ГБ памяти от NVIDIA, это касается не только стейбла, а вообще любых нейронок. Хотите покупать новую видеокарту — берите Nvidia — не ошибетесь. Использование видеокарт других производителей потребует дополнительной настройки.
«У меня лапки, я просто хочу делать картинки и ничего не смыслю в видеокартах». Окей, вот простая инструкция. Просто запустите диспетчер задач и откройте вкладку «производительность».
Есть упрощенные способы использовать SD в виде ботов, сайтов, и приложений. Они не требуют установки, но и возможностей там гораздо-гораздо меньше. Например https://www.mage.space/ или https://playground.ai/
Чекпоинт Stable Diffusion не содержит картинок — это не библиотека и не база знаний. А генерация картинки — не тоже самое что поиск картинки в гугл. Stable Diffusion не создает коллажи из фотографий. SD скорее является подобием глины: как в куске глине нет отдельных рук, ног и голов, так и в Stable Diffusion нет каких-то конкретных частей, но есть потенциальная возможность обрести форму. Конечный результат зависит от мастерства промпт-инженера. От его навыков написания промпта.
Когда я говорю о Stable Diffusion, то имею ввиду триединую систему, состоящую из: языковой модели, диффузионной модели и декодера. В простонародье всё это зовется просто чекпоинтом Stable Diffusion. Да и пофиг как он там устроен, мы рассматриваем стейбл как пользователи и не будем слишком глубоко погружаться в тонкости, но кое-что на курсе я всё же расскажу. Знание базы сделает нас могущественными промпт-шаманами!
Вопрос авторских прав на изображения, сгенерированные с помощью нейронок, остается спорным. В некоторых случаях создатели таких работ могут претендовать на авторские права для коммерческого использования. Однако юридическая практика в этой области еще не устоялась, и иногда суды отказываются признавать авторство за создателями промптов (промпт-инженерами).
Я провёл опрос среди подписчиков своего канала. 61% людей не поддержало авторское право на промпт. «За» высказалось 20% опрошенных респондентов.
Одна из распространенных точек зрения заключается в том, что Stable Diffusion — это всего лишь инструмент, который выполняет всю работу по генерации изображения, а вклад человека незначителен. Однако то же самое можно сказать и о фотоаппарате. Фотограф нажимает несколько кнопок, а сложный процесс улавливания и преобразования фотонов в пиксели происходит внутри камеры. Фотограф не создает композицию из атомов, а фиксирует существующую реальность. Тем не менее, мы признаем авторские права фотографов на их работы.
Таким образом, можно утверждать, что создатель промпта для Stable Diffusion также вносит творческий вклад, подобно фотографу, который выбирает ракурс, освещение и другие параметры съемки. Генерация изображения с помощью нейросети — это своего рода «фиксация» виртуальной реальности, созданной на основе текстового описания. Следовательно, авторство создателя промпта может быть признано, несмотря на использование автоматизированного инструмента.
Нужно учитывать, что нейронка училась на том, что сделали люди, миллиарды людей. Многие из нас внесли вклад в обучение нейронки, но могут даже не знать об этом. Все мы авторы и учителя для нейронок. Получаем ли мы от этого право на результаты работы нейронных сетей? Что вы думаете об этом?
Stable Diffusion имеет ограничения: подвержен социальным предубеждениям, плохо умеет генерировать разборчивый текст, плохо понимают любые языки кроме английского.
Изначально SD был обучен на квадратных изображениях 512×512 пикселей. Поэтому лучше всего он генерирует картинки с равными пропорциями сторон. При попытке создать прямоугольные изображения с людьми высока вероятность получить «мутантов». Позже мы рассмотрим, как этого избежать.
Читать дальше: 1.2 | Как создавался Stable Diffusion?
Добрый день!
Поскольку цикл завершён, то остаётся только один уровень подписки для приобретения полного доступа ко всему курсу.
Примеры лекций доступны тут и тут.
Цена 4500 рублей за курс останется неизменной до 1 сентября, после этого цена курса будет пересмотрена.