如何训练 Flux LoRA(Flux.1 和 Flux 2):初学者逐步指南
Flux LoRA 训练是教 Flux 图像模型它不知道的东西:你的脸、你的产品、你的绘画风格、相机效果。结果是一个 20 到 300 MB 的 .safetensors 文件,你可以在任何 Flux 应用中使用,包括 Graydient。过程需要 15 到 30 张图片,一张 12 到 16 GB 显存的显卡(或租用一小时),以及一个免费的训练器。本指南详细介绍了 Flux.1 开发版和 Flux 2 的每一步,最后说明如何在这里运行你的新 LoRA。
你将完成七件事:选择 Flux 基础模型,构建小型数据集,编写标题,选择训练器,设置几个参数,训练和测试,然后将文件导入 Graydient。每一步都写在下面,包含适合大多数人的数值。如果你已有训练好的文件,可跳到使用部分。
Graydient 运行 LoRA;它不负责训练。训练在你自己的显卡上、按小时租用的 GPU 上,或在线训练器中进行。文件生成后,每个 Graydient 计划都能以固定价格使用它渲染。
你需要的东西
- 15 到 30 张同一主题的好照片,或风格用 30 到 60 张。手机照片只要清晰多样也可以。
- 一张 12 到 16 GB 显存的显卡用于 Flux.1 开发版或 Flux 2 Klein 4B,Flux 2 开发版需 24 GB 及以上。没有显卡?可租用一小时(见下文)或使用在线训练器。
- 一个免费训练器:AI Toolkit、Kohya sd-scripts(或其上的 FluxGym 界面)或 OneTrainer。均支持 Windows 和 Linux,需安装 Python。
- 一到三小时,大部分时间在等待。Graydient 计划只在最后渲染时才用得上。比较 计划和价格。
步骤 1:选择要训练的 Flux 基础模型
LoRA 与其训练的基础模型绑定,所以从你想用来渲染的基础模型开始。Flux 系列有三个分支,它们不共享 LoRA:
| 基础 | 训练所需显存 | LoRA 之后运行的位置 |
|---|---|---|
| Flux.1 开发版 | 使用 fp8 基础模型和 8 位优化器需 12 到 16 GB;24 GB 更舒适 | Flux.1 开发版、Flux.1 schnell(较弱)、Flux Krea 开发版及众多 Flux.1 微调版本。Graydient 上为 <flux-dev>。最大 LoRA 生态;不确定时选这个。 |
| Flux 2 Klein 4B | 12 到 16 GB;训练时用 Klein 4B 基础检查点,不用四步蒸馏版 | 仅限 Klein 4B 及其衍生检查点。训练快,渲染快;Apache 2.0 许可。 |
| Flux 2 Klein 9B | 约 24 GB;训练时用 Klein 9B 基础检查点 | 仅限 Klein 9B。细节优于 4B,非商业许可。 |
| Flux 2 开发版 | 至少 24 GB,48 GB 更舒适;除非你有 4090 或 5090,否则建议租用 | Flux 2 开发版及其衍生检查点。Graydient 上为 <flux2>。最高质量,训练最慢。 |
记住规则:Flux.1 LoRA 不能用在 Flux 2,Flux 2 LoRA 不能用在 Flux.1,Klein 4B、Klein 9B 和 Flux 2 开发版各自需要自己的 LoRA。如果用多个基础模型,针对同一数据集分别训练。
步骤 2:构建数据集
Flux 从小而干净的数据集中快速学习。质量胜过数量;20 张清晰多样的照片胜过 80 张近似重复。
- 收集 15 到 30 张人物、产品或物体照片。拍摄角度、距离、光线和背景要变化。至少三分之一为特写,三分之一为全身或全产品照。
- 风格训练收集 30 到 60 张作品,保持相同媒介和线条质量,但主题不同:人物、地点、物体。多样性告诉训练器主题不是风格。
- 去除模糊、重压缩、水印、文字覆盖和非主题人物。数据集中出现的杂乱面孔会出现在渲染中。
- 分辨率:长边 1024 像素是 Flux 标准。保持宽高比多样;训练器会自动分类。不要强制拉伸成正方形。
- 将图片放在一个文件夹中,每张图片旁边放一个同名文本文件,文本文件里写标题:
dataset/01.jpg dataset/01.txt dataset/02.jpg dataset/02.txt
步骤 3:编写标题
Flux 通过 T5 文本编码器读取自然句子,标题是普通描述,不是关键词列表。标题决定 LoRA 学习什么,忽略什么:
- 主题训练以一个非真实词触发词开头,然后描述主题以外的所有内容:衣服、姿势、地点、光线。训练器学会触发词代表标题未描述的部分。
- 风格训练描述每张图的内容,绝不提风格。风格是 LoRA 通过省略学到的,之后会应用到任何你提示的主题上。
- 标题保持一到两句。超过 30 张图可用 Florence-2 或 JoyCaption 自动生成标题,然后手动检查修正前十条。
- 不要用真实人名作触发词,也不要为图片中不存在的内容写标题。
人物 LoRA 的主题标题示例:ohwx woman, wearing a grey wool coat, standing on a stone bridge, overcast daylight, looking at the camera
风格 LoRA 的标题示例,故意不提风格:a fishing boat in a harbour at dawn, two men on the pier, fog over the water
步骤 4:选择训练器
四个免费开源训练器支持所有 Flux 基础模型。它们都使用相同的数据集文件夹,生成相同类型的 .safetensors 文件:
- AI Toolkit(作者 ostris):最常用的 Flux 训练器。每次运行一个 YAML 配置文件,带网页界面,支持低显存模式,支持 Flux.1 开发版、Flux 2 开发版和 Flux 2 Klein。用
python run.py config/my_flux_lora.yaml启动训练。首选。 - Kohya sd-scripts 和 FluxGym:Kohya 是大多数 Stable Diffusion LoRA 背后的资深训练器,有 Flux 分支。FluxGym 是其上的单页网页界面,提供 12、16 和 20 GB 预设。适合想填表单而非编辑文件时用。
- OneTrainer:桌面应用,界面友好,支持 SDXL 和 Flux.1。如果同时训练 SDXL LoRA,选它更方便。
- 在线训练器:Civitai 的站内训练器和 GPU 托管网站上的 Flux 训练器,上传压缩包,返回文件。按运行计费,设置不可见,但无需显卡。生成的文件可同样导入 Graydient。
步骤 5:设置五个关键参数
每个训练器有数十个选项。除以下参数外,其他保持默认即可,它们决定 LoRA 的强度、通用性和大小:
| 参数 | Flux.1 开发版 | Flux 2 Klein 4B(基础) |
|---|---|---|
| 网络秩(维度) | 人脸或物体用 16,细节丰富的风格用 32 | 16;风格用32 |
| Alpha | 等于秩 | 等于秩 |
| 学习率 | 1e-4 到 2e-4(如果训练器支持,使用 Prodigy 或 Adafactor) | 1e-4 |
| 步数 | 1000 到 2000,每张图被看到 60 到 120 次 | 1000 到 2000 |
| 分辨率 | 1024(内存不足时用768) | 1024 |
| 批量大小 | 1(24 GB 时用2) | 1 或 2 |
| 基础精度 | 12 到 16 GB 上用 fp8 基础和 8 位优化器;24 GB 及以上用 bf16 | 16 GB 可用 bf16;12 GB 用 fp8 |
设置训练器每 250 步保存一次检查点,并在每次保存时用相同的提示词和种子渲染两张样图。这些样图用于选出最佳模型。Flux.1 dev 和 Flux 2 dev 是经过指导蒸馏的;训练器会自动处理,指导设置保持默认即可。
第6步:训练
- 开始训练,前一分钟观察显存。如果显存满了并溢出到系统内存,停止:训练会慢十倍且可能崩溃。
- 如果显存溢出,切换基础精度到 fp8,开启梯度检查点,使用 8 位 AdamW 或 Adafactor 优化器,分辨率降到 768,批量大小保持 1。以上任意一项都能释放数 GB 显存。
- 一旦运行正常,就别动它。Flux.1 dev 在 16 GB 卡上跑 1500 步需 1-2 小时;Klein 4B 更快;Flux 2 dev 在租用的 48 GB 卡上约需 1 小时。
- 观察样图出现情况。主题通常在 500 步时出现,1000 步时稳定。如果 750 步时完美,可以提前停止。
训练过程缓慢且有噪声,但不易崩溃。能坚持过第一分钟的训练几乎都会完成。如果训练器支持,训练前缓存潜变量和文本嵌入,能节省每次训练的内存和时间。
第7步:测试并选出合适的检查点
最后的检查点很少是最佳。过度训练的 LoRA 会复制数据集背景,损失对比度且不再响应提示词。全部测试:
- 写四个数据集中没有的提示词:一个新地点,一个新服装,不同的光线,不同的媒介。固定种子。
- 用这四个提示词分别渲染每个保存的检查点,LoRA 权重设为 0.6、0.8 和 1.0。
- 选出最早能准确表现主题且仍遵循新提示词的检查点。后面的通常过度训练,前面的则模糊。
- 将获胜检查点重命名为你一年后还能认出的名字,比如主题和基础模型:my-flux-lora,而不是 lora_000750。
没有显卡?租一小时
Flux 2 dev 训练,或任何笔记本上的 Flux 训练,在租用显卡上比用自己时间更便宜。24 或 48 GB 显卡在 GPU 租赁市场每小时价格远低于一杯咖啡,Flux LoRA 训练需一到两小时。
- 租用带 24 GB 显卡的机器用于 Flux.1 dev 或 Klein,48 GB 显卡用于 Flux 2 dev。市场提供时选择预装训练器的模板;AI Toolkit 模板常见。
- 上传数据集文件夹,运行上述相同设置,下载想测试的检查点。数据集和权重归你所有。
- 下载完成后停止机器。整个过程(含设置)通常不到两小时租用时间。
在 Graydient 上使用你的 Flux LoRA
Graydient 渲染时不需要文件在你电脑上。把文件放在 Graydient 可访问的位置并导入链接:
- 将 .safetensors 文件上传到你 Hugging Face 账户的仓库(公开或私有),或发布到 Civitai,基础模型设置为你训练时用的 Flux 版本。
- 登录 Graydient,从仪表盘库打开模型导入,粘贴 Hugging Face 的直链或 Civitai 页面链接。完整步骤见 如何在 Graydient 上导入 Civitai 模型。
- 等待 LoRA 出现在你的库中,复制 Graydient 给它的 ShortCode。
- 在任何 Graydient 应用中用 LoRA 标签和对应基础模型渲染:Flux.1 LoRA 用
<lora:my-flux-lora:0.8> <flux-dev>,Flux 2 LoRA 用<lora:my-flux2-lora:0.8> <flux2>。所有应用、权重和叠加规则见 Graydient 上 Flux 和 Flux 2 LoRA 的初学者指南。
Telegram 或 Discord 的完整首次渲染示例,触发词放前面,LoRA 权重 0.8,基于 Flux dev:/render ohwx woman, portrait, soft window light, 85mm photo <lora:my-flux-lora:0.8> <flux-dev> /steps:24 /guidance:3.5 /size:1024x1024
许可:你可以如何使用 LoRA
LoRA 是其基础模型的衍生品,因此基础许可同样适用。出售渲染图或文件前请查看模型页面上的当前许可文本:
- Flux.1 dev 和 Flux 2 dev 采用 Black Forest Labs 的非商业许可。个人项目和研究允许,商业用途需其商业许可。
- Flux 2 Klein 4B(及其基础检查点)采用 Apache 2.0 许可,训练于其上的 LoRA 不受基础模型限制。Klein 9B 采用非商业许可。
- 你的数据集中的图片有各自版权。请使用你拍摄或拥有的照片训练,未经同意切勿使用真人照片。
如果出现问题
- 前一分钟内显存不足:fp16 基础加优化器不够用。切换到 fp8,8 位 AdamW 或 Adafactor,梯度检查点,分辨率 768,批量 1。仍溢出则租卡。
- LoRA 改变了整张图而非仅主题:说明文字未描述背景和光线,训练器把它们当成触发词的一部分。重新标注,明确上下文并丰富数据集。
- 权重 1.0 时脸部正确但忽略提示词:过度训练。用早期检查点。下一次训练减半步数或将学习率降至 5e-5。
- 任何权重下都只有模糊相似:训练不足或数据集过于单一。增加 500 步为单位的步数,或加入新角度图片。
- LoRA 在 Graydient 上无效:基础模型不匹配。Flux.1 LoRA 需
<flux-dev>;Flux 2 LoRA 需<flux2>。还要确认提示词中包含触发词。 - 训练运行但极慢:溢出到系统内存,或数据集在慢速硬盘。按第一点修复显存,缓存潜变量,且将数据集移至 SSD。
这就是全部方法:一个基础模型,20 张干净图片,诚实的说明,五个数字,一次训练,一次测试。你的第一个 Flux LoRA 不会是最好,第二个用时减半。文件生成后,登录 Graydient 或对比 计划和价格,可无限次用它渲染。所有方案均含7天退款保证。
常见问题
Graydient 能帮我训练 Flux LoRA 吗?
不能。Graydient 是固定费率渲染服务;它能运行 LoRA 但不训练。请用自己的显卡、租用显卡或上述在线训练器训练,然后导入文件。之后用它渲染任何方案都不额外收费。
训练 Flux LoRA 需要多少张图片?
脸部、产品或物体需要15到30张;风格需要30到60张。Flux从小数据集学习。超过100张图片时,你是在微调,而不是训练LoRA,这时需要更多的步骤和内存。
Flux LoRA训练需要多少显存?
Flux.1开发版或Flux 2 Klein 4B在fp8基础和8位优化器下需要12到16 GB。Klein 9B大约需要24 GB。Flux 2开发版最低24 GB,舒适使用48 GB。除非你拥有4090或5090,否则建议租用后两者。
训练需要多长时间?
Flux.1开发版在16 GB显卡上1500步需要一到两小时,Klein 4B更少,Flux 2开发版在租用的48 GB显卡上大约一小时。首次训练时,字幕和测试会额外增加一小时。
我可以用和Flux.1 LoRA相同的方式训练Flux 2 LoRA吗?
可以,使用相同的数据集和字幕。Klein LoRA应在Klein Base检查点(4B Base或9B Base)上训练,而不是4步蒸馏版,且结果仅适用于对应的Klein尺寸。Flux 2开发版需要更多内存,大多数人会租用。
Flux LoRA需要触发词吗?
对于人物或物体,需要:在每个字幕开头使用一个自创词,然后在每个提示开头使用该词。对于风格,如果字幕描述的是内容而非风格,则不需要触发词;LoRA会应用于所有内容。
我可以保持LoRA私密吗?
可以。上传到私有的Hugging Face仓库,登录Hugging Face后导入文件链接;Graydient只会获取你的账户可下载的文件。你的库仅属于你,文件不会出现在ModelTrends或任何公开地方。