Содержание статьи
Все что нужно знать про модели stable diffusion. Часть 1
Как развивались нейросети
В апреле 2022 года компания OpenAI выпустила DALL-E 2. Главная особенность этой нейросети — возможность экспериментировать со стилями. Можно сгенерировать картинку в формате реализма, футуризма, а также «примерить» стиль известных художников: например, Винсента ван Гога или Василия Васильевича Кандинского.
Продолжим. Как я писал выше, тренировать — это долго, дорого и еще надо постараться чтобы получилось хорошо. А на это не у всех есть время, деньги и необходимые знания/сотрудники. Но если у нас есть несколько натренированных моделей, то почему бы нам не попробовать их смешать между собой в некоторой пропорции? Именно так и делают миксы/мержы: берут модели которые понравились и смешивают их вместе до результата, который понравиться. И смешивать так можно любое количество моделей. То как их правильно мержить это отдельное искусство.
В основе Stable Diffusion лежит техника латентной диффузии — когда в процессе генерации система находит знакомые формы среди большого пула изображений, а затем фокусируется на них при совпадении с запросом. Как нейросеть узнает формы? Этот «навык» она получает в процессе обучения и тренировки.
Да.
Обе линейки тренировались по разному (датасет, разрешение, количество шагов). Насколько я знаю, для второй линейки датасет фильтровали более консервативно: там получилось меньше nsfw, меньше качественных фото, меньше крутых артов и тд. Если интересно, то тут можете глянуть примеры того что не вошло (порнуха даже при значении фильтра в 0.99 не всегда попадается, а они ограничились 0.1. ) К тому же, во второй версии используется другая модель для обработки текста, которая тренировалась тоже по другому и данном случае это получилось хуже чем было. Еще, в силу разных архитектур моделей, все что комьюнити наработало для версии 1.x не совместимо с версией 2.x. Итог подвести можно мемом
— Но нет. Не вводите людей в заблуждение — просто прочитайте, что происходило в момент релиза и чем завершилось. Кратко: в 2.0 по ошибке срезали слишком много, в 2.1 быстро все вырезанное вернули. Но в 2.x также поменяли модель обработки запросов и более корректно распределили ключевые слова (не стало такой сильной привязки к некоторым конкретным художникам и стилям, и вообще ключевые слова в запросах стали работать иначе). С 2.x двачеры, вопящие про вырезку nsfw из новой версии, работать не смогли — мозгов не хватило, видимо — поэтому больше моделей делают на базе 1.5. А еще это просто дешевле и быстрее.
После DALL-E 2 компания Сбер выпустила нейросеть ruDALL-E. Она обладает схожим функционалом, однако ее отличительная особенность — это разнообразие стилей российских и советских художников: например, можно сгенерировать изображение в стиле Казимира Севериновича Малевича и Василия Ивановича Сурикова.
Линейка моделей второй версии не стала продолжением первой, как можно было предположить, а была создана с чистого листа. Цепочка следующая: сначала сделали базовую модель «2-base» и от нее сделали пачку других. Потом натренировали 2.1-base, основываясь на 2-base, и уже от новой (т.е. 2.1-base) сделали еще одну. Проще картинкой (512 и 768 — это разрешения)
Самая первая модель создавалась с нуля (неожиданно!): взяли кучу картинок, подрубили видяхи и натренировали. Для следующей модели — версии 1.2 — взяли первую модель и продолжили ее тренировать, в итоге получив новую. С остальными точно также: 1.3 это продолжение 1.2, 1.4 — продолжение 1.3, 1.5 — продолжение 1.4. Из этой линейки моделей, в силу качества получаемых картинок, лучше всего себя зарекомендовали версии 1.4 и 1.5. Сейчас, например, версия 1.5 это стандарт для тренировки разных дополнительных мелких моделей (экстрасетей типа лор, текстуальных инверсий, гиперсетей или создания своей модели). Также с версии 1.2 была выучена еще одна модель — 1.5 inpainting, предназначение которой (неожиданно! x2) inpaint и outpaint (перерисовка части картинки или дорисовка вне ее). Вот как выглядит линейка первой версии
Модели версии 1.x и 2.x
Сама собой модель не появиться, поэтому мы должны ее сделать и натренировать. Для тренировки нам нужен так называемый «датасет» — набор данных на которых нейросеть будет учиться и куча видеокарт, которые это все будут обрабатывать. Потратив кучу времени и денег, на выходе мы получим нашу модель. Именно таким образом и создавались основные модели stable diffusion — первой и второй версии.
Никакую. В силу того, что это базовые модели, они могут нарисовать почти все, но это «все» они нарисуют посредственно. Но мы можем взять их за основу и немного дотренировать в нужную сторону, будь то аниме или фотореализм.
Вот например модель дотренированная специально для всякой фантастики (rpg). Эту тренировали на куче артов, чтобы получалось красиво.
А для аниме натренировали эту, можно еще nai вспомнить (nai — модель компании NovelAI, которую слили в сеть и используют все кто хочет)
Тактично промолчу про кучу натренированных моделей для генерации порнухи.
После сбора данных нейросеть обучалась на GPU — сервере с графической картой для сложных операций. Обучение проходило по следующему принципу: система задействовала технологию CLIP (Contrastive Language–Image Pre-training) — генерацию готовой композиции в один этап. Для сравнения, обычно создание изображения происходит послойно: начинается с фона и заканчивается объектом. CLIP же позволяет строить ассоциативные ряды между словами и изображениями. Обучение Stable Diffusion продолжается — это помогает усовершенствовать нейросеть.
Без 100 грам не разобрать, что за воды настрочил, да ещё и 2 раза. На самом деле всё на столько просто, что даже сложно. Модель или контрольная точка — это мозги ИИ. Хочешь мозги анимешника, хочешь фотографа, а хочешь амбидекстера ну тот который в 2 полушария фигачит
На начальном этапе обучения сети сотрудники Stability AI отобрали изображения с метаданными — дополнительной информацией (например, подписью под картинкой на сайте) — и сформировали пул графических данных. Они использовали подмножество из крупного сета LAION-5B, в который входит около 5 000 000 000 изображений из интернета. Большая часть картинок взята с сайтов Getty Images, DeviantArt и Pinterest — благодаря этому Stable Diffusion может применять стили современных художников.
Ответы на эти вопросы важны, потому что если микс основан на модели от nai например, то мы можем спокойно использовать дефолтный nai’вский промпт (с доработкой в сторону других моделей в мерже), тоже самое и с каким-нибудь f222 или другими моделями для людей, чтобы целенаправленно писать mutated, disfigured, а не просто лить в промпт все подряд или тупо копировать из картинки с civitai. Аналогично дело обстоит и c остальными параметрами типа clip-skip. Тот кто учил, обычно знает особенности своей модели, тот кто смешивал — ?