打通训练Flux LoRA 的任督二脉 cover image

打通训练Flux LoRA 的任督二脉

/ 所有日志 / 打通训练Flux LoRA 的任督二脉
目录
  • ✅ 一句话结论
  • 🔧 什么是量化模型?
  • 💥 Flux LoRA 训练是否支持量化底模?
  • ❌ 所以:
  • 📌 LoRA 训练的常规底模要求
  • 🧪 实际测试社区现象
  • ✅ 建议硬件:
  • 🎯 如果你预算吃紧 / 想节省显存?
  • 🚀 Bonus:训练建议 for Flux.1 Dev
  • 🌱 1. “需要 patch 权重结构”是什么意思?
  • 🧪 fp16 和 bf16 的区别?是不是不算全精度?
  • 🌿 LyCORIS / LoCon 是什么?和 LoRA 有啥区别?
  • 📐 训练图像尺寸:1024 vs 768,选哪个?
  • 取决于你用的底模分辨率支持:
  • 🧭 总结一下:
  • 🧰 配置目标
  • 🗂 文件结构建议
  • 📄 flux_lora_config.json(适配 Flux Dev 的 LoRA 配置)
  • 💡 参数说明(重要)
  • 🏃‍♀️ 训练启动脚本(Kohya 兼容格式)
  • 🧪 进阶建议(可选)
  • 🚀 下一步
  • 🥇 炼丹炉三强对比(适合训练 LoRA)
  • ✅ 秋叶整合包(含 GUI + Kohya_ss)
  • 🔥 炼丹建议搭配
  • 🔧 用秋叶包训练 Flux LoRA 简易流程:
  • ✅ Bonus:训练完成后,怎么测试 LoRA 是否有用?
  • ❓想清楚的几个问题
  • 🧭 一、思维导图(训练流程概览)
  • 1. 素材准备建议
  • 2. 标签(caption)模板
  • 🖥 三、prompt 示例
  • 🔧 四、秋叶 GUI 设置建议
  • 🧪 五、训练 & 验证流程
  • ✍️ 六、持续优化建议
  • ✅ 总结
ComfyUI Ai AI-drawing

打通训练Flux LoRA 的任督二脉

2025-07-09

量化模型(比如 FP8、Scale)能不能作为底模来训练 LoRA?

✅ 一句话结论

理论上可以,但效果可能会差,甚至完全训练不了,取决于“量化种类 + 工具支持”是否兼容 LoRA 权重插值。

🔧 什么是量化模型?

量化方式 简介 特点 是否推荐做 LoRA 底模
FP8(float8) 8位浮点,通常用于推理优化 精度好、兼容性强(如 NVIDIA 最新硬件) ✅ 有可能成功,但不稳定
Scale量化(如 GPTQ、AWQ) 整体缩放 + 近似替代原始参数,常用于压缩大模型 精度损失较大,结构可能被改变 ❌ 高风险,不推荐
🤖 问题的核心:LoRA 是通过在底模的某些参数上叠加 adapter,这些参数必须是“可训练 / 可插值”的。而很多量化模型的权重结构已被改写,无法直接做 LoRA 训练。

💥 Flux LoRA 训练是否支持量化底模?

目前 Flux 的 LoRA 训练方案是:

  • 基于 HuggingFace diffusers 格式(.safetensors)
  • 调用标准的 transformers / diffusers 接口加载底模
  • 依赖于原始 UNet 和 Text Encoder 的结构

❌ 所以:

  • 如果量化模型是 GPTQ / AWQ / Int4 / Int8 格式 ➜ LoRA 插值几乎不可能兼容
  • FP8 格式(尤其 NVIDIA 特定格式):部分可行,但需支持加载成 float32 回退训练,否则你训练的是“压缩后的参数”,精度无法收敛

📌 LoRA 训练的常规底模要求

条件 是否必须
支持 float32 或 bf16 训练 ✅ 强烈推荐
原始网络结构未被破坏(UNet/TextEncoder) ✅ 必须
能被 Diffusers / HuggingFace 加载 ✅ 否则 Kohya/Flux 无法插入层
显存不足时建议使用 --gradient_checkpointing ⚠️ 你 16G 还行,但最好打开
需要 patch 权重结构? ❌ 避免

🧪 实际测试社区现象

  • 🤖 4090 + FP8 LoRA 训练(部分 SDXL、Flux Dev):有人报告训练能跑通,但效果远不如原始 fp16 模型。
  • ❌ Scale 量化模型(如 quantized SDXL)无法用于 LoRA 训练:很多人试过加载失败或训练结果为噪声。

✅ 建议硬件:

  • RTX 4090(16GB) ➜ 高端卡,推荐跑 原始 flux dev 的 bf16 或 fp16 训练
  • 想跑 LoRA ➜ 请不要用量化模型做底模训练
  • 推理时使用量化模型 LoRA 插件 ➜ OK,只要是 LoRA-ready 模型就能加载

🎯 如果你预算吃紧 / 想节省显存?

建议采用:

precision: "bf16" or "fp16"
gradient_checkpointing: true
train_batch_size: 1~2
xformers: true

或者训练 LyCORIS / LoCon 模型替代 LoRA,占用更低。


🚀 Bonus:训练建议 for Flux.1 Dev

如下的 config(适配显卡和模型):

  • base_model: flux.dev.safetensors
  • lora_r: 8 or 16
  • learning_rate: 1e‑5
  • resolution: 768
  • train_text_encoder: false
  • output_format: safetensors

要不要我下一步帮你配一套适配 Flux Dev 的 LoRA 训练配置?或者帮你测试下某个量化模型是否能被加载用于训练?你把路径或模型链接发我,我直接帮你验证也行。


🌱 1. “需要 patch 权重结构”是什么意思?

在 LoRA 训练框架里(包括 Flux、Kohya、ComfyUI 等):

patch 权重结构 = 把底模的某些层,比如 UNet 的 attention 层,插入一个 LoRA 模块,然后替换成“支持权重更新”的结构。

举个例子:

原始模型可能长这样:

self.attn = Attention(...)

被 patch 后:

self.attn = LoRA_Attention(self.attn, r=8, alpha=32)

这一步叫 patch,是在加载模型的时候做的。

📌 如果你用的是“量化模型”,有时这些层已经不是标准结构了,插不上 LoRA 层 ➜ 就训练失败。


🧪 fp16 和 bf16 的区别?是不是不算全精度?

对,它们都属于“半精度”,但各自不同:

类型 名称 精度位数 兼容性 推荐
fp32 全精度浮点 32 位 兼容最好,显存占用高 ✅ 训练稳定
fp16 半精度浮点 16 位(5 指数 + 10 尾数) NVIDIA 支持,精度低 ⚠️ 有时容易梯度爆炸
bf16 bfloat16 16 位(8 指数 + 7 尾数) NVIDIA A 系列 / TPU 原生支持 ✅ 精度和稳定性更平衡

简说:

  • fp16 更省显存,但容易数值不稳定(尤其是训练 Flux 这种大底模)
  • bf16 更稳,训练收敛更好,推荐优先( 4090 支持)
🎯 推荐设置:--mixed_precision="bf16",如果不行再退一步 fp16。

🌿 LyCORIS / LoCon 是什么?和 LoRA 有啥区别?

一般我们泛称“LoRA 模型”,但实际上 LoRA 只是低秩适配方法的一种。

LyCORIS 和 LoCon 是它的兄弟分支:

名称 全称 特点 用法
LoRA Low-Rank Adaptation 标准、最常见,训练速度快,兼容性好 基础训练,稳定扩展风格
LoCon LoRA with Convolution 额外 patch 卷积层 ➜ 更强对局部纹理建模 适合训练风格化纹理(如 MJ、油画)
LyCORIS 多种融合结构(线性、卷积、混合) 可调结构,复杂模型训练可压缩参数 高级玩法,更灵活但训练慢一点
🧠 LyCORIS ≈ LoRA + 更多结构扩展

比 LoRA 更强,但显存占用略高,适合进阶用户


📐 训练图像尺寸:1024 vs 768,选哪个?

这个问题一语中的。咱们来拆解:

取决于你用的底模分辨率支持:

模型 原生分辨率 推荐训练图尺寸
SD 1.5 / chilloutmix / anything 512 × 512 512 最稳定
SDXL 1024 × 1024 768 ~ 1024 都行,最好不要超过1024
Flux.1 Dev 原生支持高分辨率(1024+) ✅ 推荐 768 ~ 1024,效果最好

🟢 如果用的是 Flux Dev,且图片本身清晰度高、风格统一:

🎯 建议训练图像尺寸:1024x1024

条件是:

  • 显存允许
  • 图片本身质量高(别强行 upscaling)
  • 要加 -resolution=1024,并统一所有图大小

🧭 总结一下:

问题 建议
patch 权重结构 是 LoRA 的必要步骤,量化模型不一定能支持插入层结构
fp16 vs bf16 推荐 bf16,更稳更兼容,你的 4090 支持
LoRA / LoCon / LyCORIS 都属于“轻量微调方法”,LyCORIS 最灵活,LoCon 对局部风格建模好
训练图像尺寸 Flux Dev 模型建议 1024,512 太糙、768 是中庸方案

为 4090 16G 显卡 + Flux.1 Dev 大底模 定制一份训练配置支持:


🧰 配置目标

  • 使用 Flux.1 Dev 模型训练一个 LoRA(或 LoCon / LyCORIS)
  • 图像尺寸为 1024x1024
  • 精度为 bf16(若不支持可自动 fallback 到 fp16)
  • 显存合理利用、支持 gradient checkpointing
  • 可扩展成 Kohya、ComfyUI、或 sdxl_train.py 风格脚本使用

🗂 文件结构建议

flux-lora-project/
├── train/
│   ├── images/             # 训练用图(jpg/png)
│   ├── captions/           # txt 自动打 tag 文件(推荐使用 wd14 tagger)
├── output/
│   ├── trained_model.safetensors
├── config/
│   └── flux_lora_config.json
├── logs/
├── flux_train.sh           # 可执行 shell 脚本

📄 flux_lora_config.json(适配 Flux Dev 的 LoRA 配置)

{
  "pretrained_model_name_or_path": "/path/to/flux-dev-model",
  "output_dir": "./output",
  "logging_dir": "./logs",
  "train_data_dir": "./train/images",
  "caption_extension": ".txt",

  "resolution": "1024,1024",
  "network_module": "networks.lora",
  "network_dim": 16,
  "network_alpha": 32,

  "train_batch_size": 1,
  "gradient_checkpointing": true,
  "mixed_precision": "bf16",
  "save_precision": "fp16",
  "xformers": true,

  "optimizer_type": "AdamW8bit",
  "learning_rate": 1e-4,
  "lr_scheduler": "cosine_with_restarts",
  "lr_warmup_steps": 100,

  "save_every_n_epochs": 1,
  "max_train_epochs": 10,

  "logging_steps": 20,
  "save_model_as": "safetensors",

  "train_text_encoder": false,
  "shuffle_caption": true,

  "min_bucket_reso": 256,
  "max_bucket_reso": 1024,
  "bucket_reso_steps": 64,
  "cache_latents": true,
  "enable_bucket": true
}

💡 参数说明(重要)

参数 建议值 说明
network_module networks.lora / networks.locon / networks.lycoris 可切换 LoRA 类型
network_dim 8 / 16 / 32 LoRA 宽度,越高越拟合,8 一般够用
resolution 1024x1024 匹配 Flux Dev 分辨率上限,视觉质量更好
train_text_encoder false 默认不训练文本编码器(除非想训练 prompt 敏感度)
mixed_precision bf16 更稳,4090 支持
cache_latents true 显著加速训练,但首次生成慢一点
enable_bucket true 动态 bucketing,适配图像不同长宽比(仍需统一尺寸更稳)

🏃‍♀️ 训练启动脚本(Kohya 兼容格式)

flux_train.sh

accelerate launch train_network.py \
 --config_file=config/flux_lora_config.json

当然,如果你在用 GUI 工具(比如 Kohya GUI 或 LoRA Training Extension for ComfyUI),可以直接把这些参数一一填入界面。


🧪 进阶建议(可选)

场景 设置建议
显存撑不住 降低 network_dim 或开 gradient checkpointing
风格不收敛 多训练几个 epoch(比如 15~20),降低 learning_rate
想训练 prompt 敏感度 设置 "train_text_encoder": true 并减少 text_encoder_lr 到 5e-5

🚀 下一步

只需要:

  1. 下载 Flux Dev 模型(建议 .safetensors 格式)放在 /models/
  2. 把准备好的图放进 /train/images,运行 tagger 生成 txt 标签
  3. 启动训练!

🥇 炼丹炉三强对比(适合训练 LoRA)

名称 本地训练支持 UI 易用性 文档完善度 模型支持(Flux) 推荐度
秋叶整合包(Kohya GUI) ✅ 强 ✅✅✅ ✅✅ ✅(可自定义) ⭐⭐⭐⭐
青龙包(青龙炼丹炉) ✅ 强 ✅✅ ✅ ❌(暂未验证支持 Flux) ⭐⭐
Kohya_ss 原版 CLI ✅✅ 强 ❌(命令行) ✅✅✅ ✅✅✅ ⭐⭐⭐⭐⭐
ComfyUI + LoRA Train extension ✅ 中 ✅✅ ❌(难入门) ⚠️ 可能需手动支持 Flux ⭐⭐

✅ 秋叶整合包(含 GUI + Kohya_ss)

  • 国内维护活跃、适配好,基本覆盖所有 LoRA / LyCORIS 需求
  • 可以支持你这种“有一定参数理解力 + 想稳稳地调试细节”的用户
  • 可自行替换底模为 Flux Dev,只要你换下 .safetensors 权重路径即可
  • 本质上还是 Kohya_ss 的可视化封装

🔥 炼丹建议搭配

组件 建议选择 说明
炼丹炉 秋叶包 GUI 版 图形界面 + 内置脚本 + 本地训练兼容性好
底模 flux1-dev.safetensors 建议使用 .safetensors 版本,注意:路径不能有中文
模型类型 LoRA / LoCon / LyCORIS 取决于你的训练目标,我建议从 LoRA 起步,再尝试 LyCORIS
精度设置 bf16(推荐) or fp16 秋叶包中有 Mixed Precision 选项
图像尺寸 1024x1024 Flux 模型推荐分辨率,训练更准不发散
优化器 AdamW8bit or Lion 秋叶包里也可以选 DAdapt(但推荐 AdamW8bit 起手)
tag 工具 内置 DeepDanbooru or WD14 选一个自动打标签就行,能加速准备流程
batch size 1~2 4090 顶住了就 2,OOM 就降
网络宽度 8~16 初学用 8 即可,后续可以调高观察拟合能力

🔧 用秋叶包训练 Flux LoRA 简易流程:

  1. 下载秋叶包(最新版)

    通常在 B 站或 GitHub,可以配合 sd-webui-kohya 关键词搜。

  2. 替换底模

    找到秋叶包里 models/checkpoints/ 或 pretrained_model_path 位置,换成你下载好的 flux1-dev.safetensors

  3. 准备训练图 + 标签

    图片命名统一 + 每张配 .txt 文件,格式为:

    1girl, solo, looking at viewer, detailed eyes, flux-style
    

    图可以提前裁剪成 1024x1024,推荐用 waifu2x 或 PS 批处理。

  4. 打开秋叶 GUI,配置训练参数
    • 模型类型选:LoRA / LyCORIS
    • 网络宽度:8
    • 精度选择:bf16(如果你的环境支持)
    • 图片路径:指向你的训练集
    • batch size:1~2,根据显存调节
    • epoch:10~20
    • save format:safetensors
  5. 点击开始炼丹,耐心等待出锅,观察 loss 曲线。
  6. 将结果拿去 ComfyUI 加载测试效果!

✅ Bonus:训练完成后,怎么测试 LoRA 是否有用?

  • 你可以在 ComfyUI 里加 LoRA 节点,然后 prompt 写:
    <lora:my_flux_lora:1.0>, 1girl, dark background, glowing eyes, dramatic lighting
    
  • 也可以直接放进 A1111 的 models/Lora/ 路径用 interface 加载。

❓想清楚的几个问题

  • 你想炼什么风格?MJ / 手绘 / 真人 / 某画师风?
  • 你想要训练的是内容(prompt 敏感度)还是风格(纹理、构图)?
  • 你希望 1 个 LoRA 能在多个 base model 上用,还是只为 Flux 精调?
  • tag 模板
  • prompt 示例
  • 秋叶 GUI 设置截图建议
  • 训练流程思维导图(Mermaid 风格)

B 站教程,介绍如何使用 秋叶整合包(Kohya GUI)训练 LoRA,界面演示清晰、参数解释也详细,适合你边看边操作:

🎬 视频链接:BV1Xy4y1j7LJ - 【炼丹从零开始】最全 LoRA 教程教学 | 秋叶整合包

目标:训练一个 LoRA 能跑多个 base model,达成:

  1. 写实风格中国风图标
  2. 云纹、火纹等中国风纹样

🧭 一、思维导图(训练流程概览)

mermaid
复制编辑
flowchart TD
  A[准备底模] --> B[选炼丹炉(秋叶包GUI)]
  B --> C[准备素材(图 + 标注)]
  C --> D[配置秋叶GUI(LoRA設定)]
  D --> E[开始训练(监控loss)]
  E --> F[测试LoRA适配性]
  F --> G[调整与再训练]
  G --> H[输出用在不同base model]🧷 二、素材 & 标签模板

1. 素材准备建议

  • 图标类:可用真实照片/画作裁成 1024×1024,风格集中,如“青铜云纹”、“汉代青铜火焰纹”等。
  • 纹样类:可以手绘或找素材,风格一致。
  • 数量:建议 50~100 张质量图,少了训练容易跑偏。

2. 标签(caption)模板

格式:

css
[主题], 中国风, 写实, 红铜色, 锈迹纹理, 雕刻质感, 云纹, 古风

可变元素替换示例:

  • 图标范例:
青铜雕花云纹, 中国风, 写实, 青铜色, 古风图案, 1024x1024

  • 纹样范例:
龙形火焰纹, 中国风, 古风纹样, 黑金色调, 整体铺陈, 图案

纯标签建议:

  • 青铜、玉石、纹理细节、浮雕感、手绘质感、中国纹样、对称图案、阴阳云、水波纹 等关键词。

每图配独立 .txt,确保风格一致。


🖥 三、prompt 示例

训练完成后测试 prompt 示例(多个 base model 共用 LoRA):

<lora:chinese_icon:1.0>, 1 logo, 中国风, 青铜浮雕云纹, 高细节, 写实风, 暗金色调, 1024x1024

纹样版:

<lora:chinese_icon:1.0>, seamless Chinese cloud pattern, 古风纹样, 青铜线条, 对称, 无缝贴图

注意引入关键词 "cloud pattern", "seamless", "Chinese", "floating lines" 等。


🔧 四、秋叶 GUI 设置建议

以下是你的训练建议配置截图应包含参数项:

参数项 建议值
LoRA 类型 networks.lora
network_dim 16
network_alpha 32
mixed_precision bf16
resolution 1024×1024
train_batch_size 1~2
gradient_checkpointing ✓
cache_latents ✓
epochs 10~20
learning_rate 1e-4
lr_scheduler cosine_with_restarts
save_format safetensors
base model flux1-dev.safetensors(GUI路径 replace)

截图时重点展示以上项,方便复用与复查。


🧪 五、训练 & 验证流程

  1. 开始训练,观察 loss 是否平稳下降,一般在 2~4 epoch 后有明显质感提升。
  2. 导出 .safetensors LoRA 模型。
  3. 在 三个不同base model上测试效果:
    • flux1-dev(最佳效果)
    • SDXL
    • Anything v4
  4. 测试 prompt 如上,比较效果是否一致,同一 LoRA 带来的风格质感是否保持。

✍️ 六、持续优化建议

  • 如果发现纹样缺乏细节,可以尝试 LoCon 或 LyCORIS 模式,把 network_module 切换为 locon 或 lycoris,Refine 更好。
  • 若风格跑偏(例如图标偏现代化),可以增加图中 “古风” 相关关键词,或适当调低 learning rate(如 5e-5)。
  • 若想增强颜色风格(铜色、黑金色),可加入 color_augment augmentation,或在 prompt 里强化色彩关键词。

✅ 总结

  • 准备 50~100 张中国纹样图+对应标签
  • 秋叶 GUI 配置 BF16 + LoRA + 1024 分辨率
  • 训练 10~20 epochs
  • 输出并测试在多个 base model 上
  • 如效果不满意,切换 LoCon/LyCORIS

💡
欢迎分享文章,或是 来信 与我交流

上一篇
每台电脑的机器码是唯一的吗
Tech

同类日志

  • ComfyUI 整合包太多?我用过了才知道那个好
  • 神级节点 Nunchaku 给最好 Flux 模型提速 8 倍,强烈推荐!
  • 我用 ai 工具给民政局做了一个婚姻宣传动画
  • 模型太多装疯了?ComfyUI 一步到位的模型方案来了
  • 用 ComfyUI 做游戏贴图的完整流程,我终于跑通了

最新日志

  • 打通训练Flux LoRA 的任督二脉
  • 每台电脑的机器码是唯一的吗
  • 用 Coze 还是 n8n?我踩了3个坑后终于懂了!
  • 土味的 disco 全女舞蹈音乐听够了?不如试试更好听又显高级的
  • ComfyUI 整合包太多?我用过了才知道那个好

标签分类

  • Ai
  • AI-drawing
  • ComfyUI
  • Game
  • Life
  • Notion
  • Picture
  • Prompt
  • Tech
  • Tools
© 2025 银河系 Ai-233 星区主控台 All rights reserved.