Stable Diffusion XL. Выбираем модели, рефайнеры, лоры и стили
Если ты соберешься запускать на своем компьютере генеративные модели для создания изображений, то перед тобой встанет серьезная проблема выбора: их множество, и все они дают похожие, но все же немного разные результаты. В этой статье поговорим об этих отличиях, а также о рефайнерах, стилях, лорах и особенностях промптинга.
В качестве инструмента по‑прежнему будем использовать Fooocus. В то же время эта статья — последняя, где я его использую. В следующий раз перейдем на более продвинутую сборку — AUTOMATIC1111.
Последние новости генеративного ИИ
Генеративные нейросети развиваются со скоростью мысли. Не успела выйти предыдущая статья, как новости посыпались словно из рога изобилия.
Раз — и разработчики Fooocus выпускают Stable Diffusion WebUI Forge, свой собственный оптимизированный форк популярнейшего AUTOMATIC1111. Новая сборка продолжает традиции Fooocus — она работает «из коробки» и не требует доработки напильником, как оригинальный проект.
Два — и Stability AI, разработчики Stable Diffusion, выпускают предварительную сборку нового поколения нейросети, Stable Cascade, погонять которую можно прямо в онлайне, но можно и установить на свой компьютер по ссылке с GitHub.
Три — и компания ByteDance, разработавшая TikTok, выпускает проект SDXL-Lightning, который позволяет генерировать изображения за доли секунды — быстрее, чем SDXL Turbo, и с более высоким качеством. К примеру, картинка ниже была создана за восемь секунд в разрешении 2024 на 2024; в стандартном для SDXL разрешении 1024 на 1024 изображения создаются менее чем за секунду. Базовую модель можно опробовать на сайте Hugging Face, но лучше скачать модель dreamshaperXL_lightningDPMSDE с Civitai и использовать ее локально (только внимательно ознакомься с инструкциями — это важно).
И уже когда я писал эту статью, пришла совершенно неожиданная новость: Stability AI выпустила Stable Diffusion 3, пока только в виде превью для разработчиков.
В новой версии Stable Diffusion (кстати, не совсем понятно, как она соотносится с релизом Stable Cascade) обещают много хорошего, при этом почти дословно идут по пунктам из пресс‑релиза Midjourney V6. Первые примеры впечатляют, но на то они и демки.
РАЗЛИЧИЯ МЕЖДУ ПРЕСЕТАМИ
В прошлый раз мы генерировали фотореалистичные изображения, запустив Fooocus командой run_realistic.bat
, однако фотографиями Stable Diffusion не ограничивается. Запустив нейросеть командой run.bat
, мы автоматически переключимся на другие, универсальные настройки. Из строки негативных ключевиков пропадут термины, запрещающие художественные стили, а из списка подключенных «лор» исчезнет та, которая отвечает за фотореалистичность.
При запуске какого‑либо файла Fooocus использует настройки из соответствующего пресета (они лежат в папке Fooocus\presets
). По этой причине стоит запускать файлы корректной командой в зависимости от типа изображений, которые ты собираешься генерировать.
Раз уж мы заговорили о пресетах, то разница между фотореалистичными (run_realistic.bat
) и основными (run.bat
) настройками такова.
В фотореалистичном пресете базовая модель — realisticStockPhoto_v10, лора — SDXL_FILM_PHOTOGRAPHY_STYLE_BetaV0.4, негативные ключевые слова — unrealistic, saturated, high contrast, big nose, painting, drawing, sketch, cartoon, anime, manga, render, CG, 3d, watermark, signature, label, активные по умолчанию стили — динамический стиль Fooocus V2, а также Fooocus Photograph и Fooocus Negative.
В основном же пресете, который запускается командой run.bat
, настройки другие. В качестве базовой модели авторы выбрали juggernautXL_version6Rundiffusion
(хорошая универсальная модель), лора — sd_xl_offset_example-lora_1.0
(ее предназначение с дефолтной настройкой — увеличивать контраст; на высоких весовых коэффициентах может помочь генерировать изображения с глубоким черным цветом). Никаких негативных ключевых слов на сей раз нет, а в качестве стилей выставлен набор из уже знакомого динамического улучшайзера Fooocus V2 и новых стилей Fooocus Enhance и Fooocus Sharp.
Значение здесь имеет буквально всё, и начнем мы с главного — выбора базовой модели.
БАЗОВЫЕ МОДЕЛИ
Базовая модель, или чекпоинт, — это генеративная модель, используемая для преобразования текста в изображения алгоритмами Stable Diffusion. В зависимости от выбора модели на один и тот же запрос с одним и тем же сидом и прочими настройками ты можешь получить как похожие изображения, выполненные в разных стилях, так и совершенно разные картинки.
В качестве основных Fooocus поддерживает только модели SDXL 1.0, а вот в качестве рефайнера (Refiner) может использовать как их, так и старые модели от SD 1.5. О рефайнерах мы поговорим чуть ниже; пока что ты можешь скачать одну или несколько моделей в дополнение к juggernautXL_version6Rundiffusion
, которую Fooocus скачает автоматически при запуске run.exe
. Сохранять чекпоинты нужно в папку Fooocus\models\checkpoints
или в любую другую, если ты укажешь к ней путь в файле Fooocus\config.txt
. Например, так:
"path_checkpoints": "d:\\Models\\Stable-Diffusion\",
После этого можно нажать Refresh all files, и модель появится в списке.
Почти все модели в большей или меньшей степени основаны на самой первой модели, которую выпустила компания Stability AI. Они дополнялись новыми данными, полученными в результате обучения; авторы ремиксов добавляли улучшения и тонкие настройки. В результате разные модели могут заметно различаться между собой как по общей композиции изображения, так и по качеству картинки.
Ниже — небольшое сравнение моделей по запросу «photorealistic, cinematic, close view of a redhead woman in 19th century clothing of a woman mechanic fixing a steampunk car» с подключенным кастомным стилем Cinematic: «cinematic angle, cinematic lighting, highly detailed, amazing, finely detailed, more realistic, Ultra HD 32k, cinematic, 4k, footage from an epic movie, clear focus, detailed character design, ultra-high resolution, perfectly composed, UHD».
Вот так отработала модель Bastard V1:
А в галерее ниже — результаты других моделей:
Модели: Softfantasy Dark Edition, Cinevisionxl By Socalguitarist Easily, realisticStockPhoto v10
Модели: raffaelloxl Real People 10, Yggdrasil V2 и mjLnir SDXL Lightning v10
Обрати внимание в первую очередь на разницу в композиции. «Темная» Dark Edition разительно отличается от «голливудской» CineVisionXL; фотореалистичные модели пытаются в реализм, модель Yggdrasil V2 воссоздает атмосферу, используя оригинальную цветовую палитру, а модель mjLnirSDXLLightning_v10, хоть и напутала с пальцами, сумела сгенерировать картинку всего за восемь итераций (остальным моделям для этого потребовалось сорок).
Где скачать модели
Базовых моделей разных типов и поколений множество, и далеко не все поддерживаются в Fooocus. В качестве основной можешь взять одну из моделей SDXL 1.0, скачать их можно с сайта Civitai. В правом верхнем углу сайта будет значок «фильтр»; выбери настройки, как на скриншоте.
С такими настройками отображаются все модели независимо от возраста (All Time), только базовые модели (Checkpoint), только SDXL 1.0. Последняя настройка (All) включает отображение как обученных моделей (Trained), так и ремиксов (Merge).
Модели бывают двух типов: обученные (Trained) и ремиксы (Merged). Обученными обычно считают модели, автор которых натренировал (обучил) модель на том или ином наборе изображений. Впрочем, довольно часто обученными моделями называют ремиксы, для которых разработчик провел дополнительное обучение на относительно небольшом наборе данных.
С ремиксами проще: их авторы объединяют несколько разных моделей и лор с заданными весовыми коэффициентами. Самый простой пример — добавление «фотореалистичной» лоры в одну из моделей, что дополнительно увеличит весовые коэффициенты именно фотографий.
В зависимости от вкуса, чувства меры и мастерства разработчиков получаются более или менее интересные ремиксы. Моделей — тысячи, перепробовать все невозможно даже теоретически. Ты можешь просто отсортировать их по популярности, а можешь воспользоваться моими рекомендациями.
УНИВЕРСАЛЬНЫЕ МОДЕЛИ, ПРИГОДНЫЕ ДЛЯ РЕАЛИЗМА
AlbedoBase XL — прекрасно сбалансированная модель, которая умеет всё. Многие авторы ремиксов используют эту модель в качестве основы.
Bastard Lord (SDXL) с сайта Tensor.Art — одна из лучших протестированных мной моделей. По качеству она близка к Midjourney V6. Эта модель — результат совместной работы двух разработчиков: Freek22 (автор нескольких моделей семейства Norsk) и Afroman4peace (автор многочисленных моделей, в том числе отличных моделей Hephaistos и Colossus XL).
Brookers Style XL, она же Reality Check XL, — обученная модель с уклоном в реализм. Способна выдавать уникальные результаты, непохожие на работу других моделей.
Bifröst Project с сайта Tensor.Art — мощная модель, в состав которой вошли как другие модели того же автора (в том числе обученные), так и некоторые сторонние. Рекомендую обратить внимание и на другие модели этого автора на том же сайте или на сайте Civitai.
CineVisionXL и, чтобы два раза не вставать, «фотографическая» ProtoVision XL, «3D-мультяшная» DynaVisionXL и «ночная» NightVisionXL того же автора — сбалансированные модели, отвечающие заявленным целям. Например, в «киношной» CineVisionXL даже самые простые запросы выполняются так, как будто кадр был поставлен голливудским режиссером — с соответствующим освещением и динамикой.
EnvyHyperrealXL01 — сбалансированный ремикс с уклоном в турбореализм (не путать с реалистичным реализмом). Кстати, рекомендую обратить внимание и на другие модели того же автора.
raffaelloxlRealPeople — несмотря на то что это ремикс, мне не удалось повторить результаты работы этой модели ни в одной другой. Характерные черты модели — детализированные лица и текстуры, высокий микроконтраст.
Realistic Stock Photo — тебе уже дали первую версию этой модели в составе Fooocus, но с тех пор вышла вторая. Это отличная обученная реалистичная модель. Разницу между первой и второй версиями можно увидеть на примерах ниже.
SDVN6-RealXL — модель, обученная на фотографиях лиц. Способна выдавать неизбитые портреты, непохожие на сгенерированных фотомоделей. Но этим дело не ограничивается: в модели — полный набор художественных средств.
Есть много других достойных внимания моделей; перечислить все невозможно, да я и не ставлю такой цели. Есть cherryPickerXL, Hephaistos NextGen, Luna Mia, Softfantasy Dark Edition и много других интересных моделей.
СПЕЦИАЛИЗИРОВАННЫЕ МОДЕЛИ: АНИМЕ
Анимешные модели относятся к специализированным, так как они работают с собственным синтаксисом, о чем нужно рассказать подробнее.
В Stable Diffusion 1.5 был единственный конвейер текстового декодера. В целом модель работала лучше, если указывались ключевые слова через запятую.
В Stable Diffusion XL используется два конвейера: классический CLIP-ViT/L и OpenCLIP-ViT/G, способный распознавать запросы на естественном языке. Базовая модель, выпущенная Stability AI, поддерживает работу с обоими конвейерами; соответственно, ремиксы, основанные на этой модели, также работают как с ключевыми словами, так и с запросами на естественном языке.
И тут пришли любители картинок в стиле аниме. В качестве источника картинок для обучения взяли базы многочисленных сайтов-booru, а там почти для каждой картинки указаны наборы тегов: что изображено, как, в каком стиле, кто автор. И все это в машиночитаемом формате.
Соответственно, в этих моделях основную работу выполняет конвейер L, а конвейер G остается практически не при делах. Через какое‑то время эту проблему решили, использовав очередной искусственный интеллект для процесса CLIP Interrogation, в рамках которого ИИ анализирует изображение и выдает текстовый запрос для выбранного типа конвейера.
На выходе получились модели, обученные на хорошо структурированных базах и дополненные текстовыми запросами на естественном языке, которые были сгенерированы очередным искусственным интеллектом.
В результате анимешные модели максимально четко срабатывают на триггеры в виде ключевых слов, но и обычные фразы тоже понимают (хоть и через раз). Если твоя цель — картинки в анимешном стиле, то специализированная модель позволит получить более качественный результат с меньшими усилиями.
PonyDiffusion-V6XL. Вероятно, это самая популярная модель: для нее существуют сотни стилей и лор. Если ты скачаешь эту модель, сделаешь запрос и получишь в результате что‑то невнятное, серое и в условно трехмерном стиле — прочитай подробную инструкцию по ссылке выше, укажи в запросе стиль (из коллекции на GitHub), используй специализированную лору или один из ремиксов. Напомню только, что лоры так же, как и сама модель, должны быть в формате SDXL 1.0.
animagine3.0 — имеет смысл почитать документацию к этой модели на Hugging Face и на сайте CagliostroLab.
На основе каждой из этих двух моделей создано огромное количество ремиксов, в которых сразу «из коробки» будет использован какой‑нибудь конкретный стиль.
Если ты используешь A1111 или WebUI Forge, рекомендую установить расширение, которое предотвратит появление артефактов при генерации с этими моделями.
МОДЕЛИ-РЕФАЙНЕРЫ
Когда вышла первая базовая модель Stable Diffusion XL, ее разработчики предусмотрели возможность на последних шагах генерации использовать вторую, дополнительную модель для мелкой детализации и исправления небольших огрехов модели основной. Модели‑рефайнеру нет необходимости качественно декодировать запрос, ей вполне достаточно того изображения (в латентном еще пространстве), которое до нее сгенерировала основная модель.
Пользоваться рефайнером достаточно просто: подключаем, выставляем весовой коэффициент (об этом чуть ниже) — профит! Или нет.
Для начала проясню вопрос с весовым коэффициентом. Цифра указывает, какую часть работы должна выполнить основная модель; оставшуюся часть выполнит рефайнер. То есть если указать коэффициент 0.8, как на скриншоте, то 80% генерации выполнит выбранная модель albedobase, а оставшиеся 20% — модель RealStockPhoto.
С большинством современных моделей использовать рефайнер для дополнительной детализации и исправления мелких огрехов картинки, как это было предусмотрено разработчиками, уже нет нужды; об этом же пишут и сами разработчики моделей. Однако не стоит забывать о креативном потенциале переключения на другую модель в произвольно выбранный момент генерации; не стоит, однако, и преувеличивать значение этого потенциала.
И последнее: если в качестве основной Fooocus поддерживает только модели SDXL, то рефайнером могут быть как SDXL, так и SD 1.5.
СТИЛИ
Выбор стилей доступен на вкладке Style.
По сути, стили — это всего лишь расширения запроса тем или иным набором ключевых слов. Все стили статичны, за исключением стиля Fooocus V2, который использует локальную версию GPT-подобного ИИ для динамического расширения запроса (каждый последующий обрабатывается отдельно, и разные картинки даже в одном пакете будут сгенерированы с разными запросами). Стили можно представить в следующем виде:
style_keyword1, style_keyword2, . style_keyword3, style_keyword4, style_keyword5
Количество ключевых слов не ограничено, но увлекаться не стоит. Помним о лимите в 75 токенов, по достижении которого строка запроса будет разбита на несколько, и место разрыва ты не сможешь проконтролировать.
Для всех последующих тестов я отключил стили по умолчанию (главное — динамический стиль Fooocus V2), убрал все негативные ключевые слова, отключил все лоры и рефайнер. Для демонстрации разных стилей я использовал один и тот же запрос, одну и ту же модель и один и тот же сид.
Для сравнения стилей я использовал запрос «photorealistic, cinematic, close view of a redhead woman fixing a steampunk car», модель BastardV1 и сид 1125477473. Разрешение — 1024 на 1024 с последующим удвоением размерности.
Так выглядит изображение безо всяких стилей:
А в галерее ниже используются разные стили — как из списка Fooocus, так и те, которые я составил самостоятельно.
И наконец, я протестировал и динамический стиль Fooocus V2, дополненный стилем Fooocus Masterpiece.
Протестировать все стили — огромная работа, но пользователи в сети регулярно это проделывают. Есть, например, замечательный документ со сравнением всех стилей в большой таблице с картинками (его обсуждение тоже достойно внимания).
Кстати, в таблице для каждого стиля приводится и его полная расшифровка.
ЛОРЫ
Благодаря лорам можно научить почти любую базовую модель использовать ту или иную концепцию (например — «лучи света в пыльной комнате»), персонажам или стилям (например, стилям конкретных художников или направлениям живописи), но этим дело не ограничивается.
Существует класс лора‑слайдеров, которые позволяют, к примеру, менять масштаб изображения, для чего достаточно просто изменить их весовой коэффициент в указанном разработчиком диапазоне (иногда в довольно широких пределах, начинающихся с отрицательных значений). Бывают лоры, указывающие нейросети на необходимость добавить детализации или, наоборот, упростить картинку (например, лора AddDetail).
Для моделей семейства Pony Diffusion нужно использовать специализированные лоры, так как эти модели лишь в незначительной части включают в себя базовую модель SDXL. Таких лор на сайте Civitai вполне достаточно; как правило, в них включены конкретные стили и персонажи.
Модели LoRA относительно компактны и занимают порядка 60–150 Мбайт, что заметно меньше стандартного размера базовой модели (около 6,5 Гбайт).
Для примера рассмотрим все тот же запрос: «cinematic, close view of a redhead woman in 19th century clothing of a woman mechanic fixing a steampunk car», но добавим стиль: «in the style of esao andrews, esao andrews style, esao andrews art, esao andrews».
Вот как выглядит генерация без лоры.
А теперь — с ней (лора — FF-Style-ESAO-Andrews-LoRA).
Многие лоры прекрасно работают в сочетании со стилями. Здесь я скомбинировал лору со стилем Cinematic.
А тут — подключил стиль Midjourney.
БОНУС: ГАЛЕРЕЯ МОДЕЛЕЙ
Из спортивного интереса я прогнал генерацию по тому же запросу с одним и тем же сидом на нескольких десятках разных моделей. Чаще всего варианты оказывались довольно похожими, но некоторые модели выдали интересный результат. Вот лишь несколько примеров.
socafaeXL, sahastrakotiXL, SorcererXL-3, xi_v10
Fenrisxl V16.4, NewdawnXL3.1 bf16, SoftFantasy Heavensfall, Better than words v3.0
Artium v20, easelEssenceXL v10, weekendWarriorVaeXL v10, aderekSDXL v15 DPO
Altar SDXLRealistic v10, fantasyAndRealityXL v10, LahMysteriousSDXL v40, paintersCheckpointOilPaint v11
ПРОДОЛЖЕНИЕ СЛЕДУЕТ
Да, мы все еще обсуждаем программу, которая и устанавливается, и запускается командой run.bat
, имеет одно поле ввода и кнопку Generate, однако эта тема еще не исчерпана. В продолжении я планирую рассказать о том, на что влияют параметры Guidance Scale (он же — CFG value) и Image Sharpness (это не о контурной резкости).
Далее будет беседа о том, какие бывают семплеры и чем они отличаются, о моделях LCM, Turbo и Lightning, позволяющих в разы ускорить генерацию.
Наконец, после этого можно будет переходить на следующий по сложности продукт — Stable Diffusion WebUI Forge. В общем, продолжения следуют!