ИИшница: Flux и как вы вообще этим пользуетесь?

Автор: wayerr

В прошлом году летом вышла очередная нейросеть для генерации картинок. "Flux1 dev" (их там несколько вариантов но это самая популярная). Сама моделька весит под 22гига, а там еще к ней ~9гиг текстовой модели.

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

Обложки делать очень просто:

Как обычно, анекдот в нюансах.

Ну мало у кого есть видяха с 12 гигами (ужатая fp16 моделька весит 11гиг, а ещё надо куда-то картинку же впихнуть). У меня же amd rx6600m (мобильная но для десктопа) с 8гиг. 

В итоге чтобы модельку не просто впихнуть в память видяхи (она всё равно полностью там не поместится, но хоть что-то) и т.п. пришлось заморочиться.

Работает это так: 

- comfyui - стандартные ноды для загрузки и семплинга. Увы в webui-forge то лоры перестают работать, то память течёт то ещё что, он у меня для sdxl

- включен PYTORCH_TUNABLEOP

- fp16 модель с turbo и прочими улучшениями, выдаёт быстрый, но глючный результат за 4-8 итераций, позволяет оценить промпт

- генерация мелких изображений 512x760

Итог, 10 итераций, 50сек на картинку:

В картинке чуть поправил контраст. В остальном это все работа нейросети за 10 итераций. Текст получился с соотвествующей лорой с 4-мя попытками. В остальных более кривые буквы (это особенность лоры).

Другой нюанс в том, что многие сложные промпты и лоры требуют поднимать cfg выше 1 (не путать с guidance cfg который 3.5 по умолчанию). Это приводит к тому, что итерация выполняется в два раза дольше. Что грустнее.

А без этого не получить многие эффекты. Красненькая обложка с примера выше требовала cfg = 2.

Следующий нюанс  в том, что flux использует две текстовые модели: 

- clip_l - она простенькая, человеческий язык не понимает и использовалась в stable diffusion с первых версий. Зато отлично работает при обучении по тегам.

- t5xxl - понимает человеческий язык и вот это всё. Зато хз как с ней обучать. Судя по всему - плохо.

К тому стоит добавить что flux сам по себе достаточно тяжёл что его не на всяком железе можно обучать. И мы приходим к тому, что если под sdxl полно лор и моделей с чем угодно, то под flux всё печально. Много прикольных стилей. Но... 

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

Если сказать girl with dragon wings, то нейросеть может нарисовать головы драконов на крыльях. Это же то самое чего мы так долго желали! Причём в примерах у других пользоваталей я видел тамже и головы воронов и всё проее. Офигенная работа нейросети.

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

Но вот если нужен ростовой протрет что-то из фэнтези, зверолюдей и т.п. да ещё и не в реализме то всё плохо.

Впрочем не фатально, всё же она что-то может:

Но тут прекрасно видна уйма косяков, которых бы не допустил sdxl. Зато flux умеет кучу деталюшечек даже на таком разрешении. Без стилизации результат менее кривой (это 10 шагов и две лоры - на фуррей и ускоряющая):

Хотя и тут етсь изъяны. И нет чёлки.

Вероятно есть смысл такие вещи генерить в sdxl а flux использовать для апскейла. Хотя в сети народ наоборот генерирует флуксом, а апскейлит sdxl.

Итог?

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

+52
206

0 комментариев, по

2 249 425 206
Наверх Вниз