227K subscribers
3.79K photos
632 videos
17 files
4.45K links
Погружаемся в машинное обучение и Data Science

Показываем как запускать любые LLm на пальцах.

По всем вопросам - @haarrp

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
⚡️ FLUX: SOTA Text-to-image модели от BlackForest.

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:

🟠FLUX.1 pro. Старшая и лучшая модель в семействе, доступная только по подписке через API и на онлайн-сервисах Replicate и FalAI. Подписка доступна частным лицам и корпоративным пользователям. Стоимость подписки - 0.05USD за изображение 1024х1024 при 50 шагах генерации;

🟢FLUX.1 dev. Открытая модель для некоммерческого использования. Оптимизирована методом дистилляции из версии FLUX.1 pro, что сделало ее менее требовательной к потреблению VRAM, повысило скорость инференса при незначительной деградации качества и точности. Веса модели доступны на Huggingface. Для коммерческой эксплуатации нужно запрашивать лицензию у разработчика.

🟢FLUX.1 schnell. Младшая и самая быстрая модель, предназначенная для локальной разработки и личного использования. Версия schnell распространяется под лицензией Apache2.0 и опубликована в открытом доступе на Huugingface.
Код инференса можно найти на 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




🟡Страница проекта
🟡Модель dev на HF
🟡Модель schnell на HF
🟡Demo на FalAI (FLUX Pro)
🟡Demo на FalAI (FLUX dev)
🟡Demo на HF (FLUX.1 schnell)
🖥Github [ Stars: 1.3K | Issues: 11 | Forks: 52]


@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🔥95🤔2🙏1
⚡️ FLUX: Поддержка моделей FLUX в наборах скриптов для трейна ХlabsAI и SimpleTuner.

ХlabsAI и SimpleTuner опубликовали обновления в своих наборах скриптов, добавив поддержку модели FLUX.

▶️В ХlabsAI доступна тренировка LoRA и ControlNet на Deepspeed:

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:
🟢OpenPose
🟢Depth
🟢IP-Adapters

*️⃣RealismLoRA *️⃣ Canny ControlNet для FLUX *️⃣Воркфлоу с поддержкой LoRA для ComfyUI *️⃣Попробовать LoRA онлайн


▶️SimpleTuner также добавил в пакет скриптов поддержку LoRA for FLUX и скрипт обучения для квантованных моделей FLUX int8, int4, int2, fp8.

Рекомендации по ресурсам для LoRA:

🟠Rank-16 LoRA использует чуть больше 40 ГБ VRAM;
🟠GPU AMD и Apple не подходят для обучения Flux.

Наблюдения, сделанные автором SimpleTuner в ходе экспериментов:

🟠Для обучение под Schnell нужно больше времени для тренировки, результаты пока не очень;
🟠LoRA, обученная на dev отлично работает и на Schnell;
🟠Мердж 50/50 моделей dev и Schnell работает, на этом мердже можно тренировать LoRA`s;
🟠Квантованные версии FLUX позволяют использовать оптимизаторы - Prodigy, Adafactor, Dadaptation, AdamW, и AdamW8Bit;
🟠Квантование fp8 выполняется медленнее, чем int8, и может иметь худший результат из-за использования e4m3fn в Quanto;
🟠Плохое качество датасета, слишком высокий LR, неправильный выбор оптимизатора, низкое значение Network при большом датасете, использование нестандартных размеров изображений в датасете - этот все приводит к чудовищным артефактам "квадратной решетки" в результате.


🖥Github ХlabsAI [ Stars: 266 | Issues: 9 | Forks: 12]
🖥Github SimpleTuner [ Stars: 885K | Issues: 13 | Forks: 61]


@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
👍179🔥3
⚡️Forge UI FLUX Support: Крупное обновление популярного UI для Stable Diffusion.

Forge — это платформа на базе Stable Diffusion WebUI (Gradio), цель которой - упрощение разработки функций, оптимизация управления ресурсами, ускорения инференса и изучение экспериментальных функций.
Автор и основной разработчик Forge - Lvmin Zhang, создатель проектов : ControlNet, LayerDiffuse, IC-Light, OMOST, Style2Paints, Foocus и др.

Главное в обновлении:
🟢поддержка квантованных в nf4/fp4/fp8 модели FLUX dev;
🟢адаптация BitsandBytes для диффузии;
🟢ускорение инференса для всех GPU, включая low-memory и серии 20ХХ;
🟢улучшенный UI интерфейс с возможностью переключения между архитектурами (SD\SDXL\FLUX)

С обновлением поддерживаются квантованные модели Flux:

🟠flux1-dev-bnb-nf4 - модель в NF4. Рекомендуется для 30XX/40XX серий GPU NVIDIA;
🟠flux1-dev-fp8 - модель в FP8. Рекомендуется для 10XX/20XX серий GPU NVIDIA.

Преимущество 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



📌Лицензирование : AGPL-3.0 license


🟡Модель Flux-dev-NF4
🟡Модель Flux-dev-FP8
🖥Github [ Stars: 5.8K | Issues: 405 | Forks: 580]


@ai_machinelearning_big_data

#AI #Forge #ML #FLUX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206🔥3👏2
⚡️Awesome FLUX Resources: Все ресурсы по Flux в одном месте.

Экосистема Fluх развивается очень быстро, каждый день появляются новые способы, решения, возможности и инструменты для работы с моделями Fluх онлайн и оффлайн.

Теперь у сообщества FLUX появился обновляемый и упорядоченный Awesome FLUX!


https://awesomeflux.com/


🖥Github [ Stars: 16 | Issues: 0 | Forks: 1]


@ai_machinelearning_big_data

#AI #FLUX #ML #Awesome
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176🔥4❤‍🔥2
🌟 PuLID+FLUX: перенос внешности на генерации в FLUX .

PuLID (Pure and Lightning ID Customization) - метод генерации на основе внешности для диффузных моделей с управлением текстовым промптом. Ключевое преимущество PuLID состоит в его способности генерировать изображения с высокой степенью соответствия заданной личности, следуя заданным стилю и композиции.

PuLID для SD существует относительно давно и неплохо работал с моделями SDXL. Теперь этот метод стал доступен для FLUX-dev:

🟢ID-кодер перенесен из структуры MLP в структуру Transformer;

🟢добавлены дополнительные блоки перекрестного внимания чередованием с DIT-блоками для взаимодействия между ID и DIT;

🟢SDXL-Lightning, который в оригинальном методе PuLID отвечал за первоначальную генерацию шума в латентном пространстве, в PuLID для FLUX опционален;

🟢добавлена поддержка fp8-версий FLUX для запуска на потребительских GPU;

🟢запуск bf16 на RTX 3090-4090 возможен с параметром --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:

🟠собственная реализация сообщества ComfyUI;
🟠diffusers-based implementation.

⚠️ Важно!

🟢проект находится в бета-версии, точность ID может быть невысокой для некоторых мужcких лиц, возможно, модель нуждается в дополнительном обучении;

🟢для FLUX-FP8 версия Pytorch >= 2.0, для остальных >=2.4.1

▶️Установка и запуск GradioUI:

# 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


📌Лицензирование : Apache 2.0 License.


🟡Arxiv
🟡Demo
🟡Google Collab
🖥Github


@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🔥1210❤‍🔥1