Обучение FLUX.1 dev LoRA: файлы модели, конфиг и GPU
Рецепт рассчитан на FLUX.1 dev с flux_train_network.py и networks.lora_flux. Он не предназначен для FLUX.1 schnell, FLUX.2, SDXL или GGUF-модели для inference. Проверьте семейство модели до начала платного обучения.
Существующий пресет ComfyUI FLUX запускает schnell для генерации. Его объединённый flux1-schnell-fp8.safetensors не подходит как база этого рецепта. Нужен GPU-инстанс с SSH и отдельное окружение trainer.
1. Подготовьте окружение и доступ
Выполните подготовку сервера и установку общего trainer из руководства SDXL. После проверки окружения вернитесь сюда: скачивать SDXL и запускать его обучение не требуется. В обоих рецептах закреплена версия sd-scripts 690ea7f96c23182352ec63def76d431c6120bd2f.
Перед загрузкой прочитайте карточку FLUX.1 dev и условия доступа. Модель распространяется по некоммерческой лицензии; разрешение на использование сгенерированных изображений не разрешает автоматически любое коммерческое использование модели или её производных. Примите условия своим аккаунтом и используйте токен с правом чтения репозитория. Руководство не обходит ограничение доступа и не распространяет веса.
Команда авторизации ниже запрашивает данные интерактивно. Не вставляйте токен в копируемую команду, TOML или общий лог. При 401/403 сначала решите вопрос с доступом.
2. Скачайте четыре отдельных файла
| Компонент | Файл в этом рецепте | Источник |
|---|---|---|
| Transformer | flux1-dev.safetensors |
Репозиторий FLUX.1-dev от Black Forest Labs |
| Autoencoder | ae.safetensors |
Тот же репозиторий |
| CLIP-L | clip_l.safetensors |
Репозиторий энкодеров ComfyUI, указанный в документации trainer |
| T5-XXL | t5xxl_fp16.safetensors |
Тот же репозиторий энкодеров |
Нужен transformer из корня репозитория, а не Diffusers-шарды из вложенной папки. Рецепт загружает обычные веса и включает преобразование в FP8 внутри trainer. Это не означает, что подойдёт любая квантизация для inference.
set -euo pipefail
cd /workspace/lora/sd-scripts
source .venv/bin/activate
hf auth login
hf download black-forest-labs/FLUX.1-dev flux1-dev.safetensors ae.safetensors \
--local-dir /workspace/lora/models
hf download comfyanonymous/flux_text_encoders clip_l.safetensors t5xxl_fp16.safetensors \
--local-dir /workspace/lora/models
sha256sum /workspace/lora/models/flux1-dev.safetensors \
/workspace/lora/models/ae.safetensors /workspace/lora/models/clip_l.safetensors \
/workspace/lora/models/t5xxl_fp16.safetensors > /workspace/lora/config/flux-models.sha256
mkdir -p /workspace/lora/flux1-dev/images /workspace/lora/flux1-dev/holdout
Файлы большие. Заранее проверьте свободный диск и оставьте место для Python-пакетов, кэшей, адаптеров и папок состояния обучения. Остальные требования к серверу разобраны в подборе GPU и бюджета.
3. Подготовьте отдельный датасет и конфиги
Скопируйте изображения и .txt-подписи в /workspace/lora/flux1-dev/images. Если уже обучали SDXL, переносите только пары файлов, без latent-кэша. Проверочные референсы держите вне images.
Сохраните в /workspace/lora/config/ на GPU-сервере:
Начальные параметры: 768 × 768, batch 1, rank/alpha 16, accumulation 4 и 1 000 шагов оптимизатора. Обучается только адаптер модели изображений. Текстовые энкодеры заморожены, их выходы кэшируются, поэтому shuffle/dropout подписей выключены. Специальные параметры модели: guidance_scale = 1.0, timestep_sampling = "flux_shift", model_prediction_type = "raw".
fp8_base = true и blocks_to_swap = 18 снижают объём данных в GPU за счёт точности базы и переноса блоков между CPU и GPU. Это компромисс: важны RAM сервера и скорость передачи, а FP8 может менять результат. Число 18 — начальное экспериментальное значение, не гарантия объёма VRAM. Не сочетайте block swapping с cpu_offload_checkpointing.
set -euo pipefail
cd /workspace/lora/sd-scripts
source .venv/bin/activate
python /workspace/lora/config/check-dataset.py /workspace/lora/flux1-dev/images
python flux_train_network.py --help > /workspace/lora/config/flux-help.txt
4. Проверьте загрузку, кэширование и сохранение
Это реальная работа на GPU. До первого шага оптимизатора может пройти заметное время на кэширование. Запуск проверяет работоспособность рецепта в данном окружении; пять шагов не дают полезно обученный адаптер и не задают лимит расходов.
set -euo pipefail
cd /workspace/lora/sd-scripts
source .venv/bin/activate
test ! -e /workspace/lora/flux1-dev/smoke-output
CUDA_VISIBLE_DEVICES=0 accelerate launch \
--num_processes 1 --num_machines 1 --mixed_precision bf16 --dynamo_backend no \
--num_cpu_threads_per_process 2 flux_train_network.py \
--config_file /workspace/lora/config/flux1-dev-train.toml \
--max_train_steps 5 --save_every_n_steps 5 \
--output_dir /workspace/lora/flux1-dev/smoke-output --output_name smoke-flux1-dev \
2>&1 | tee /workspace/lora/flux1-dev/smoke.log
test -s /workspace/lora/flux1-dev/smoke-output/smoke-flux1-dev.safetensors
Проверьте число изображений, конечные значения loss и сохранённый файл. Если процесс убит без Python traceback, проверьте RAM и диск наряду с видеопамятью. Offloading уменьшает расход VRAM, но может увеличить нагрузку на оперативную память хоста.
5. Обучите и сравните чекпоинты
После успешного smoke test начните новый эксперимент:
set -euo pipefail
cd /workspace/lora/sd-scripts
source .venv/bin/activate
test ! -e /workspace/lora/flux1-dev/output-v1
CUDA_VISIBLE_DEVICES=0 accelerate launch \
--num_processes 1 --num_machines 1 --mixed_precision bf16 --dynamo_backend no \
--num_cpu_threads_per_process 2 flux_train_network.py \
--config_file /workspace/lora/config/flux1-dev-train.toml \
2>&1 | tee /workspace/lora/flux1-dev/train-v1.log
test -s /workspace/lora/flux1-dev/output-v1/mug-flux1-dev-v1.safetensors
Итоговый файл — mug-flux1-dev-v1.safetensors; промежуточные адаптеры и папки состояния остаются в output. Выбирайте чекпоинт по одинаковым промптам и seed, а не только по номеру последнего шага. Сохраните контрольные суммы базы и точный конфиг вместе с выбранной LoRA.
6. Подключите к совместимому FLUX.1 dev workflow
Адаптер FLUX не работает в скачиваемом SDXL-графе. Для ComfyUI нужен FLUX.1 dev workflow с отдельными загрузчиками diffusion model, CLIP-L/T5 и AE. LoRA добавляется в путь модели. Руководство ComfyUI объясняет расположение файлов и связи узлов. Не проверяйте dev-адаптер на schnell-пресете, чтобы затем ошибочно считать обучение неудачным.
Скачайте результат и состояние для продолжения до завершения инстанса. Эти инструкции не создают автоматический backup, диспетчер обучения или автоматическое завершение аренды.
Рецепт сверен с исходниками и определениями конфигурации, но на GPU не запускался. Источники: закреплённая документация FLUX, файлы текстовых энкодеров. Устранение ошибок · Все руководства.
Готовы запустить?
Запустить GPU-сервер