После установки системы Stable Diffusion WebUI Forge, которая обеспечит нам удобный интерфейс и работу с большим числом различных функций и параметров, нам теперь необходимо скачать файл нужной нам версии модели FLUX.1, которая бы быстро и качественно работала на нашем компьютере.
Напомню вам, что есть три основные версии модели, созданные разработчиками Black Forest Lab:
FLUX.1 [pro] – самая мощная версия реализация коммерческой модели, доступная к использованию только через API у партнеров компании Black Forest Lab или в индивидуальном порядке.
FLUX.1 [dev] – немного облегченный вариант первой модели не для коммерческого использования. Варианты реализации модели можно найти на сайте huggingface.co. Она может быть использована на локальных компьютерах.
Сайт с моделью от разработчика: https://huggingface.co/black-forest-labs/FLUX.1-dev.
FLUX.1 [schnell] – самая быстрая реализация модели с открытым исходным кодом, которая так и называется: «быстрая, шнель / нем. schnell». Она предназначена для использования на локальных компьютерах. Исходный код можно найти на сайте GitHub. Варианты реализации модели можно найти сайте huggingface.co.
Сайт с моделью от разработчика: https://huggingface.co/black-forest-labs/FLUX.1-schnell.
Несомненно, нужно начинать свою работу с установки и тестирования той из них, которая будет соответствовать производительности вашего компьютера и будет создавать изображения максимального качества для вас.
На самом деле, версий модели FLUX от сторонних разработчиков уже достаточно много.
Но для того, чтобы нам быстро перейти к от теории к практике, мы возьмем за основу уже подготовленные модели, которые называются «nf4-модели».
Nf4-модели – это полноценные FLUX-модели, которые не требуют установки дополнительных компонент для Stable Diffusion WebUI Forge и помогают нам создавать очень красивые изображения. Они отличаются от стандартных моделей FLUX используемым в них методом nf4-квантования (о чем скажу чуть позже), меньшим размером исходного файла, что хорошо для менее производительных видеокарт.
Существует несколько версий уже подготовленных файлов моделей FLUX.1 [dev] и FLUX.1 [schnell] от разных разработчиков. Рассмотрим некоторые из них, которые наиболее стабильно работают (от разработчиков silveroxides и lllyasviel).
Готовый файл самой быстрой модели FLUX.1 [schnell] для не очень мощных компьютеров с видеокартами предыдущих поколений (например, как у меня NVIDIA GTX 980 с 4 Гбайтами видеопамяти) называется flux1-schnell-bnb-nf4.safetensors. Я протестировал работу этого файла, и он показал себя очень хорошо при создании различных изображений.
Скачать файл можно по следующей ссылке: https://huggingface.co/silveroxides/flux1-nf4-weights/tree/main.

Если у вас видеокарта серии NVIDIA GTX 10XX/20XX или более новая, то вам необходимо скачать следующий файл модели flux1-dev-bnb-nf4-v2.safetensors по следующей ссылке: https://huggingface.co/lllyasviel/flux1-dev-bnb-nf4/tree/main.

По заявлению разработчика, модель второй версии flux1-dev-bnb-nf4-v2.safetensors работает быстрее, но она чуть больше по размеру файла.
Если у вас видеокарта серии NVIDIA RTX 30xx/40xx, то вы можете скачать файл модели flux1-dev-fp8.safetensors по следующей ссылке:
https://huggingface.co/lllyasviel/flux1_dev/blob/main/flux1-dev-fp8.safetensors.

Если вы обратите внимание, файл этой реализации модели значительно больше остальных по своему размеру, да и как показывает практика flux1-dev-bnb-nf4-v2.safetensors – это лучший выбор для учебы и творчества.
Таким образом, вы загрузили для себя один (или несколько) из необходимых фалов модели FLUX.1.
Модель FLUX.1 [schnell]:
файл flux1-schnell-bnb-nf4.safetensors;
Модель FLUX.1 [dev]:
файл flux1-dev-bnb-nf4-v2.safetensors;
файл flux1-dev-bnb-nf4.safetensors);
файл flux1-dev-fp8.safetensors.
Теперь загруженный файл (или файлы) модели нам нужно переместить в папку моделей «Stable-diffusion».
Например, эта папка у меня находится по следующему пути: D:\Stable Diffusion WebUI Forge\webui\models\Stable-diffusion .
Открываем папку и копируем туда файл или все файлы моделей.

Теперь мы с вами почти готовы к первому рабочему запуску программы Stable Diffusion WebUI Forge.
Наверное, вы обратили свое внимание на то, что в именах файлов написаны такие сокращения: «fp8» и «nf4». Оба сокращения имеют прямое отношение к методу обработки информации, который называется «квантование» (англ. quantization).
Квантование в информатике – это разбиение диапазона значений непрерывной или дискретной величины на конечное число интервалов. Существует также векторное квантование – разбиение пространства возможных значений векторной величины на конечное число областей[i].
Квантование для сетей глубокого обучения является важным шагом для ускорения вывода данных, а также для сокращения потребления ресурсов памяти и потребления электроэнергии вашей видеокартой. Масштабированное 8-битное целочисленное квантование сохраняет точность модели, одновременно уменьшая ее размер. Это позволяет развертывать модель на устройствах с меньшим объемом оперативной памяти, оставляя больше места для работы других алгоритмов и логики управления[ii], [iii].
Говоря простым языком, модель «nf4» должна работать быстрее «fp8», но при условии ее аппаратной поддержки вашей видеокартой[iv]. Как я понимаю, это напрямую зависит от версии драйвера CUDA (Compute Unified Device Architecture), которую поддерживает ваша видеокарта, и объема оперативной памяти видеокарты.
Забегу немного вперед и скажу сразу, что мне удалось запустить на своем компьютере с видеокартой NVIDIA GTX 980 с 4 Гбайтами видеопамяти следующие модели, которые при генерации изображения размером 512 на 512 показали следующие результаты:
flux1-schnell-bnb-nf4.safetensors – на создание изображения уходит в среднем 3 мин.
flux1-dev-bnb-nf4.safetensors – на создание изображения уходит в среднем 6 мин.
flux1-dev-bnb-nf4-v2.safetensors – на создание изображения уходит в среднем от 3 до 6 мин.
flux1-dev-fp8.safetensors – на создание изображения уходит в среднем от 3 до 7 мин.
Также я оттестировал работу всех моделей на видеокарте NVIDIA GTX 2060 с 12 Гбайтами видеопамяти и заметил интересную особенность, которая заключается в том, что первое изображение на этой карте создается приблизительно за такое же время, как и на видеокарте NVIDIA GTX 980 с 4 Гбайтами видеопамяти (в среднем три минуты). Но далее проявляется существенное отличие этих карт, которое заключается в том, что NVIDIA GTX 2060 все последующие изображения создает в несколько раз быстрее.
В связи с тем, что серии видеокарт NVIDIA RTX 30xx/40xx стоят достаточно дорого, видеокарта NVIDIA GTX 2060 с 12 Гбайтами видеопамяти является лучшим выбором по цене и качеству как для учебы, так и для игр.
Подробнее мы остановимся на этом моменте в следующей главе «Первый запуск и тест вариантов моделей FLUX».
[i]. Квантование (Quantization). [Электронный ресурс] ural-test.ru URL:https://ural-test.ru/help/articles/kvantovanie-quantization/.
[ii]. What Is Quantization? [Электронный ресурс] www.mathworks.com URL: https://www.mathworks.com/discovery/quantization.html#:~: text=Quantization%20is%20the%20process%20of,and%20range%20of%20a%20value. (дата обращения: 11.09.2024).
[iii]. Quantization. [Электронный ресурс] huggingface.co URL:https://huggingface.co/docs/optimum/concept_guides/quantization (дата обращения: 11.09.2024).
[iv]. Теория по FLUX.1: как выбрать версию? BNBF4, GGUF или FP8 [Электронный ресурс] dzen.ru URL:https://dzen.ru/a/ZtVxDcFGvAP5p24p (дата обращения: 11.09.2024).