Black Forest Labs, компания, основанная командой разработки, покинувшей SatbilityAI (Stable Diffusion) опубликовала пресс-релиз с презентаций своего семейства GenAI моделей FLUX версии 1.
Представленное семейство FLUX.1 определяет новый уровень детализации изображения, точного следования промпту, разнообразия стилей и сложности сцен для синтеза текста в изображение.
Каждая вариация семейства FLUX.1 поддерживают популярные соотношения сторон и разрешения от 0,1 (128х) до 2,0(2048х) мегапикселя.
FLUX.1 выпускается в трех вариантах: FLUX.1 pro, FLUX.1 dev и FLUX.1 schnell:
Код инференса можно найти на Github проекта или использовать поддержку модели в ComfyUI.
Все модели FLUX.1 основаны на гибридной архитектуре мультимодальных и параллельных блоков трансформеров диффузии и масштабированы до 12B параметров.
Улучшения предыдущих диффузионных моделей проведено за счет использования согласования потоков - концептуально простого метода обучения, который включает диффузию как частный случай.
Повышение производительности модели и эффективность использования аппаратного обеспечения получено за счет использования rotary positional embeddings и параллельных слоев внимания.
Более подробный технический отчет разработчики обещают опубликовать в ближайшем будущем.
Локальный запуск с автозагрузкой моделей dev и schell с выводом cli или с UI Streamlit:
# Clone repo and install dependences
cd $HOME && git clone https://github.com/black-forest-labs/flux
cd $HOME/flux
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e '.[all]'
# Download dev or schnell automatically via HuggingFace you will need to be logged in HF
# For manual downloaded models you can specify the paths via environment-variables:
export FLUX_SCHNELL=<path_to_flux_schnell_sft_file>
export FLUX_DEV=<path_to_flux_dev_sft_file>
export AE=<path_to_ae_sft_file>
# For cli interactive sampling run
python -m flux --name <name> --loop
# Or to generate a single sample run
python -m flux --name <name> \
--height <height> --width <width> \
--prompt "<prompt>"
# streamlit demo that does both text-to-image and image-to-image
streamlit run demo_st.py
@ai_machinelearning_big_data
#AI #FLUX #Diffusers #Text2Image #Image2Image #GenAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥9❤5🤔2🙏1
ХlabsAI и SimpleTuner опубликовали обновления в своих наборах скриптов, добавив поддержку модели FLUX.
LoRA for FLUX dev
accelerate launch train_flux_lora_deepspeed.py --config "train_configs/test_lora.yaml"
ControlNet for FLUX dev
accelerate launch train_flux_deepspeed_controlnet.py --config "train_configs/test_canny_controlnet.yaml"
В ближайших планах публикация весов ControlNet для FLUX:
Рекомендации по ресурсам для LoRA:
Наблюдения, сделанные автором SimpleTuner в ходе экспериментов:
@ai_machinelearning_big_data
#AI #FLUX #ML #Train #LoRA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤9🔥3
Forge — это платформа на базе Stable Diffusion WebUI (Gradio), цель которой - упрощение разработки функций, оптимизация управления ресурсами, ускорения инференса и изучение экспериментальных функций.
Автор и основной разработчик Forge - Lvmin Zhang, создатель проектов : ControlNet, LayerDiffuse, IC-Light, OMOST, Style2Paints, Foocus и др.
Главное в обновлении:
С обновлением поддерживаются квантованные модели Flux:
Преимущество NF4 по сравнению с FP8 состоит в том, что FP8 просто преобразует каждый тензор в формат FP8, в то время как NF4 преобразует каждый тензор в комбинацию нескольких тензоров с различными форматами, включая float32, float16, uint8 и int4, для достижения максимально возможного приближения. Таким образом, NF4 значительно быстрее, чем FP8.
Например, для GPU с 6 ГБ/8 ГБ VRAM ускорение составляет от 1,3x до 2,5x (pytorch 2.4, cuda 12.4) и от 1,3x до 4x (pytorch 2.1, cuda 12.1). Эти тесты проводились автором на 3070 ti (8 ГБ VRAM). FP8 - 8,3 секунды на итерацию; NF4 - 2,15 секунды на итерацию.
Так происходит потому, что NF4 использует собственный bnb.matmul_4bit, а не torch.nn.functional.linear: избегаются преобразования типов и вычисления выполняются с помощью множества низкоуровневых операций CUDA.
Чтобы ускорить работу модели FLUX, в Forge добавлен выбор параметров. Если устройство с небольшой видеопамятью, высока вероятность столкнуться с проблемой загрузки модели в видеопамять. Решением является разделение модели на две части: одна часть загружается в видеопамять, а другая - в "swap" локацию - CPU или Shared RAM.
Установив максимальный размера VRAM для модели и метод swap (Queue или ASYNC), можно достичь теоретического предела скорости работы для устройства. Корректная настройка параметров может ускорить работу модели на 30%, но требует внимательного подхода.
# Open command prompt and run
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
webui-user.bat
# Put downloaded models from HF into models/StableDiffusion
@ai_machinelearning_big_data
#AI #Forge #ML #FLUX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤6🔥3👏2
Экосистема Fluх развивается очень быстро, каждый день появляются новые способы, решения, возможности и инструменты для работы с моделями Fluх онлайн и оффлайн.
Теперь у сообщества FLUX появился обновляемый и упорядоченный Awesome FLUX!
https://awesomeflux.com/
@ai_machinelearning_big_data
#AI #FLUX #ML #Awesome
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥4❤🔥2
PuLID (Pure and Lightning ID Customization) - метод генерации на основе внешности для диффузных моделей с управлением текстовым промптом. Ключевое преимущество PuLID состоит в его способности генерировать изображения с высокой степенью соответствия заданной личности, следуя заданным стилю и композиции.
PuLID для SD существует относительно давно и неплохо работал с моделями SDXL. Теперь этот метод стал доступен для FLUX-dev:
--aggressive_offload
, но генерация будет выполняться очень, очень, очень медленно.В PuLID for FLUX есть два критически важных гиперпараметра:
timestep to start inserting ID
. Этот параметр управляет там, в какой момент ID (лицо с входного изображения) будет вставлен в DIT (значение 0 - ID будет вставляться с первого шага). Градация: чем меньше значение - тем более похожим на исходный портрет будет результат. Рекомендованное значение для фотореализма - 4.true CFG scale
. Параметр, модулирующий CFG-значение. Исходный процесс CFG метода PuLID, который требовал удвоенного количества этапов вывода, преобразован в шкалу управления чтобы имитировать истинный процесс CFG с половиной шагов инференса.Для возможности гибкой настройки результатов, разработчик оставил оба гиперпараметра : CFG FLUX и true CFG scale. Фотореализм получается лучше с применением true CFG scale, но если финальное сходство внешности с оригиналом не устраивает - вы можете перейти на обычный CFG.
Запуск возможен несколькими способами: GradioUI, Google Collab (free tier), Google Collab (pro tier) или с одним из имплементаций для среды ComfyUI:
⚠️ Важно!
# clone PuLID repo
git clone https://github.com/ToTheBeginning/PuLID.git
cd PuLID
# create conda env
conda create --name pulid python=3.10
# activate env
conda activate pulid
# Install dependent packages
# 1. For SDXL or Flux-bf16, install the following
pip install -r requirements.txt
# 2. For Flux-fp8, install this
pip install -r requirements_fp8.txt
# Run Gradio UI
python app.py
@ai_machinelearning_big_data
#AI #ML #FLUX #GenAI #PuLID
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥12❤10❤🔥1