Dreams and Robots
3.07K subscribers
120 photos
20 videos
1 file
67 links
ИИ на практике или "мама, а меня тоже заменят?"
加入频道
Промпты - это самая интересная часть процесса генерации. Это больше искусство, чем наука, хотя, конечно, можно найти некоторые закономерности.

Для начала почитайте вот это: https://openart.ai/promptbook

1. Общая структура: Медиум (Painting, photo, drawing, sketch) of Объект (dog, cat, starship Enterprise), детали (highly detailed, trending on artstation), стиль (by Greg Rutkowski, in style of impressionism). Эта схема не отлита в камне, экспериментируйте!
2. Слова, которые находятся ближе к началу, имеют больший вес
3. Используйте (усилители) и [ослаблятели] весов. Для точной настройки пользуйтесь (вот таким форматом:1.2)
4. Если что-то вас не устраивает в изображении, подумайте над использованием негативного промпта
5. Заведите себе базу данных промптов и записывайте интересные находки

Ресурсы для поиска промптов:
https://openart.ai/
https://prompthero.com/stable-diffusion-prompts

Список стилей:
https://docs.google.com/spreadsheets/d/1BA8EMidpQsQbSDc7s3k-hA9CyijQ7X3pSACNhAuzut8/edit#gid=2051882840

Конструктор промптов:
https://promptomania.com/stable-diffusion-prompt-builder/

Когда у вас получилась хорошая картинка, заморозьте сид и начинайте немного видоизменять промпт. Меняйте веса отдельных слов - это приведет к мелким изменениям. Именно так, кстати, и делается самая плавная анимация, когда ключевыми кадрами меняется сила определенных слов запроса.
Иногда добавление одного слова или даже символа или перестановка слов местами может привести к интересным результатам, пробуйте!

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

Чужие промпты можно посмотреть, например, вот тут:
https://www.reddit.com/r/StableDiffusion/?f=flair_name%3A%22Workflow%20Included%22
https://yangx.top/text2image/84671

#основы
👍261
Существует много разных способов тюнинга модели и генерации. Поговорим про четыре самых популярных. Это Dreambooth, Lora, Hypernet и Embedding (textual inversion).

Можно как тренировать их самостоятельно на ваших собственных материалах, так и скачивать готовые на https://civitai.com

Что же это такое?

Dreambooth-чекпойнты.
Это файнтюнинг модели, когда уже готовую модель доучивают на небольшом датасете, чтобы добавить какой-то стиль или объект. Это большие файлы, от трех гигабайт, которые включают в себя как данные исходной модели, так и новые изученные веса. Именно такие чекпойнты и можно найти на Civitai.
Использование: Файл .ckpt или .safetensor кладется в папку Models/Stable-Diffusion и выбирается в выпадающем списке чекпойнтов.
Плюсы: можно обучить новой концепции, которой еще не было в модели.
Минусы: большой вес файла, нельзя использовать несколько моделей одновременно.

Lora
Это набирающий популярность формат, который объединяет возможности обучения Dreambooth с гибкостью других подходов. Это маленькие файлы размером в десятки мегабайт.
Использование: Положить в папку Models/Lora. Использовать в промпте вида <Lora:НАЗВАНИЕ ФАЙЛА БЕЗ РАСШИРЕНИЯ:ВЕС>. Или нажать на красную иконку с книжкой под кнопкой Generate и выбрать там нужную Лору. В одном запросе можно использовать несколько Лор. При этом можно с помощью веса менять их силу. Значения от нуля до одного, хотя можно ставить и больше единицы, иногда это дает интересный результат.
Плюсы: Хорошее и быстрое обучение, можно извлечь веса Lora из обычного чекпойнта DreamBooth, чтобы уменьшить его вес. Можно использовать несколько Лор в одном запросе.

Embedding
Когда вы делаете запрос, его слова превращаются в токены, а они - в цифровое представление, многомерные векторы. Это представление называется Embedding. Так вот, вместо изменения весов самой модели можно изменить веса этого эмбеддинга, чтобы более точно найти нужный стиль. Процесс обучения эмбеддинга называется Textual Inversion, потому что обучение как бы проходит наоборот. Мы подбираем промпт, чтобы он более точно соответствовал картинке. Потом результат записывается в очень маленький файл (десятки килобайт).
Использование: поместить файл .pt или .bin в папку Embeddings. В промпте написать название файла без расширения. Или выбрать через красную иконку, как и Лору. Можно менять силу эмбеддинга стандартными скобками.
Плюсы: Крошечный вес, можно использовать несколько эмбеддингов в одном запросе, обучение на маленьком датасете.
Минусы: Нельзя обучить новой для нейросети концепции.

Hypernetwork
Это еще один способ тюнинга модели путем добавления новых слоев в нейросеть. Отлично подходит для обучения стилю. Размер файлов от четырех до нескольких сотен мегабайт.
Использование: поместить файл .pt в Models/Hypernetworks. В промпте написать <hypernet:НАЗВАНИЕ ФАЙЛА БЕЗ РАСШИРЕНИЯ:ВЕС> или воспользоваться красной иконкой для выбора из имеющихся. Логика использования такая же, как у Lora.
Плюсы: очень быстрое обучение. Хорошо улавливает стиль. Можно использовать несколько гипернетворков одновременно.

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

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

#основы
👍241
Пожалуй, на этом можно заканчивать серию постов про основы. Надеюсь, эти статьи дадут вам прививку против инфоцыган, которые будут примерно все то же самое, только менее структурированное, впаривать вам за 16 тысяч.
В будущем, конечно, будут обучающие посты на более продвинутые темы, так что пишите в комментариях, о чем ещё вам хотелось бы услышать. Да. комментарии у нас тут есть, даже чат целый.

Всем удачного творчества!
🔥526👍4
Пятничная мудрость

Картинка - Stable Diffusion & ControlNet
Текст - ChatGPT
😁21🤔5🤯2🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
С помощью молотка, молитв и двухметрового костыля я сделал API для ControlNet. Теперь можно работать с ним из Гудини, делать батч-процессинг и прочие прикольные вещи.

Погружение в глубины исходников Автоматика стоило мне пары лет жизни. По возможности избегайте этого.
🔥10877👍1
Я сформулировал свои мысли о ChatGPT! Она мне напоминает того самого чувака, который никогда не скажет "я не знаю" или "я не умею", а просто возьмется за задачу, прошляпит сроки и подведёт всю команду.

В какой-то момент я полюбил обучаться с GPT. Иногда я прошу её объяснить разные сложные концепции простым языком, задаю уточняющие вопросы. Это действительно очень крутой способ узнать что-то новое, чем-то похожий на общение с настоящим ментором, у которого можно уточнить любой нюанс.

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

GPT - это просто языковая модель, которая сказав "А" обязана сказать и "Б". Она не умеет признаваться, что чего-то не знает, она просто не запрограммирована не знать. Добавим это в копилку слабостей ИИ, которую мы откроем, когда он начнет порабощать человечество.

Любопытно, что если общаться с GPT на русском, то как будто становится хуже. Возможно, где-то в модели произошло семантическое смешивание слов "расскажи", "опиши" и "перескажи", иначе я это объяснить не могу . Я попросил GPT пересказать сюжеты советских фильмов и не разочаровался.
👍28😁72🥰1💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Нашёл косяк в коде расширения для ControlNet, который сломал мне весь api. Починил и снова балуюсь, на сей раз с интерьерами. Накидал кубиков, и норм. Такая нынче визуализация.
🔥65👍8😱62❤‍🔥1
Если вы когда-нибудь занимались 3D, у вас наверняка скопилась коллекция текстур потеков краски, непонятных пятен, потертостей, царапин и прочих таких штук.
Вы можете использовать их для генерации интересных абстрактных картин. Помещаете такую текстуру в img2img, подбираете промпт типа 'Abstract paiting of a girl' и играете со слайдером Denoising strength, пока не получите подходящий результат.
Пользуйтесь!
#совет
🔥36👍7
Я быстро смоделил в Гудини спиральку, сделал из нее карту глубины, закинул в ControlNet с запросом Painting of a colorful magical liquid, smooth, trending on artstation, hyper-realistic, dramatic lighting, splatters, paint, magic potion и через пару минут у меня появился десяток кадров со спирально закручивающейся краской.

Вы слышите этот странный звук? Кажется, это трещит по швам рынок стоковых изображений.
👍33😁17🔥13😱2