Найти в Дзене

Работа с новой моделью FLUX в ForgeUI 2.0.1: Руководство по настройке и запуску.

Привет, друзья!

Вероятно, что Вы еще не успели насладиться\настрадаться с новой моделью FLUX, как разработчик всеми нами любимых Fooocus и Forge снова порадовал нас новинкой. На этот раз он обновил ForgeUI до версии f2.0.1v1.10.1. И главная новость: теперь вы можете использовать новую модель FLUX в привычном и удобном интерфейсе ForgeUI!

Визуальных обновлений в ForgeUI много, но все они касаются непосредственно работы с моделью FLUX. Описывать их не имеет смысла, да и увидеть вы это все можете своими глазами. Главное, что теперь интерфейс поддерживает работу с FLUX.

Чтобы начать работу с моделью в Forge, вам необходимо сначала скачать сам Forge 2.0.1 с Github. Есть несколько версий, и вам нужно загрузить ту, которая подходит для вашей версии CUDA и PyTorch. Чтобы узнать, какие версии установлены, введите команду в терминале:

nvidia-smi

В ответ на эту команду вы должны получить такое вот окно где указана версия CUDA.

-2

Узнать версию PyTorch можно командой в терминале:

python -c "import torch; print(torch.__version__)"
-3

Т.е порядок действий прост, узнаете версию CUDA и PyTorch, переходите на Github по ссылке выше, скачиваете поддерживаемую версию.

На случай если у вас другая версия CUDA и PyTorch и они не указаны на Github, то можно перейти сюда, найти нужную версию, и установить её скопировав команду в вашу командную строку (терминал):

# CUDA 12.1
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

С установкой Forge всё намного проще, ничего устанавливать не нужно, это обычный архив, который вам после скачивания остается только распаковать в удобное для вас место.

Далее нужно скачать новую модель FLUX. В данный момент доступно несколько версий от автора lllyasviel: это модели FP8 и NF4 или NF4(V2). Версия V2 была оптимизирована для устранения необходимости в дополнительном этапе квантования. Она занимает на 0,5 ГБ больше места по сравнению с предыдущей версией, потому что теперь использует формат float32 для хранения данных с полной точностью. Это улучшает точность модели по сравнению с предыдущей версией. Кроме того, поскольку V2 не требует второго этапа сжатия, она меньше нагружает систему и немного быстрее выводит результаты.

Разработчик на этот счет так же говорит, что если ваш ПК оснащён графическим процессором RTX 3000 или 4000 и поддерживает CUDA версии 11.7 и выше, вы можете воспользоваться NF4. Однако если у вас более старые модели графических процессоров, такие как GTX 1000 или 2000 серии, то вам придётся отказаться от использования NF4 и выбрать модель flux1-dev-fp8.safetensors. Однако есть сведения о том, что у владельцев GTX 1070 работает модель NF4. Не могу подтвердить достоверность этой информации, но, на мой взгляд, стоит попробовать скачать модель и установить её на свой компьютер, возможно, она будет работать.

После того как вы скачаете модель, просто скопируйте или перенесите файл по пути ...ваш диск\ваша директория\Forge\webui\models\Stable-diffusion\

-4

Немного о новой модели FLUX - flux1-dev-bnb-nf4. Эта модель создана с использованием ускорителя BitsandBytes, который значительно увеличивает скорость генерации изображений благодаря оптимизированной работе с 4-битными данными. Это делает FLUX одной из самых быстрых версий доступных моделей на данный момент и разработчик утверждает, что NF4 быстрее, чем FP8.

Что касается скорости генерации, то на графических процессорах с 6 – 8 ГБ видеопамяти заявлено ускорение работы от 1,3x до 2,5x (pytorch 2.4, cuda 12.4) или от 1,3x до 4x (pytorch 2.1, cuda 12.1) в зависимости от версии PyTorch и CUDA. Например, на ноутбуке с видеокартой 3070 Ti и 8 гигабайтами видеопамяти, генерация изображений с FP8 занимает 8,3 секунды за итерацию, а с NF4 — всего 2,15 секунды благодаря специальной операции bnb.matmul_4bit. Эта операция оптимизирована для 4-битных данных и делает работу модели быстрее.

-5

Веса NF4 не только быстрее, но и компактнее — примерно вдвое меньше FP8. Интересно то, что модель NF4 зачастую превосходит модель FP8 по точности, благодаря использованию различных форматов данных, таких как float32, float16, uint8 и int4, что позволяет собственно достигать максимальной точности.

В ForgeUI реализована возможность выбрать тип веса загрузки. Рекомендуется установить значение «Auto», чтобы модель использовала настройки точности по умолчанию. Однако никто не запрещает проводить эксперименты с другими значениями.

-6

Помимо работы с новой FLUX, вы можете попробовать загрузить свои старые модели SDXL, включить NF4 и сгенерировать изображение. Я думаю, вас удивит скорость генерации.

-7

Автор модели предупреждает, что не следует загружать контрольную точку FP8 с опцией NF4. Загрузка контрольной точки с NF4 приведёт к тому, что модель сначала преобразует веса из fp16 в NF4, а затем снова в fp16. Это снизит качество изображения и значительно увеличит время генерации.

Также не рекомендуется радикально уменьшать или увеличивать объём используемой видеопамяти. Слишком большой объём может негативно сказаться на работе системы и приложений, а слишком маленький — увеличить время генерации изображения.

-8

Теперь по поводу распределения нагрузок и работает ли это.

-9

Я почитал что пишет разработчик по этому поводу (вам тоже рекомендую ознакомиться), провел несколько экспериментов и понял, что в моем случае перераспределение нагрузок никак не влияет на время генерации, либо влияет, но на уровне погрешности.

-10

Не буду утомлять вас большим количеством цифр. Скажу кратко: все варианты настроек привели к тому, что я вернул значения по умолчанию, потому что не заметил большой разницы. Однако это касается только моей системы, 32 гигабайта оперативной памяти и 10 гигабайт видеопамяти. На вашем пк, с вашей конфигурацией результаты могут быть иными. Поэтому рекомендую вам всё же поэкспериментировать с этими настройками.

-11

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

Теперь о самих изображениях, атмосфере, передаче стиля, генерации текста и так далее.

Как я уже говорил, чувство прекрасного и чувство стиля, а также визуальное восприятие - это настолько субъективные и индивидуальные понятия на мой взгляд, и вполне возможно, что моё мнение и восприятие не будут интересны другим людям. Я считаю, что лучше всего посмотреть на всё самому и сделать для себя определенные выводы.

В галерее я постараюсь представить различные направления и стили. А дальше вы уж сами :-).

Все изображения были созданы с использованием стандартных настроек. Однако я изменил один параметр — количество шагов, увеличив его до 40. Хотя время, необходимое для генерации изображений, увеличилось, я заметил, что они стали более чёткими. Но это опять же, моё субъективное мнение.

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

P\S: И последнее. Чтобы убедиться, что вы всё сделали правильно, автор советует сгенерировать это изображение, и оно должно получиться таким же.

-13
Astronaut in a jungle, cold color palette, muted colors, very detailed, sharp focus
Steps: 20, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 12345, Size: 896x1152, Model: flux1-dev-bnb-nf4
-14

Ну и конечно же, если вам понравилась эта статья, буду рад вашим подпискам, комментариям и лайкам. Недавно я запустил Discord-канал и постараюсь поддерживать его насколько возможно, там вы сможете не только следить за новостями, но и общаться, делиться опытом и приобретать новые знания о нейросетях. Чтобы всегда быть в курсе моих новых материалов, подписывайтесь на мой Boosty, Telegram-канал и страницу "ВКонтакте". Пока что нас немного, но я надеюсь, что с течением времени сообщество станет больше. Это станет отличной мотивацией для меня активно работать и над другими социальными сетями.