ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AdamW vs Prodigy vs Automagic3:various 5090实测教你如何选LoRA最优优化器

AdamW vs Prodigy vs Automagic3:various 5090实测教你如何选LoRA最优优化器
  • 人工智能
  • 大模型
  • 媒体生成
  • 微调
  • 教程
  • 提示工程
  • 本地部署

【免费下载链接】various

项目地址:https://ai.gitcode.com/hf_mirrors/malcolmrey/various
点击查看免费下载

various是 malcolmrey 的 AI 模型训练与研究仓库,其中收录了一套在单张RTX 5090上完成的Qwen-Image 2.1 LoRA 优化器实测基准:AdamW、Prodigy、Automagic3 三种优化器在完全相同条件下训练人物 LoRA,并对每个 checkpoint 的相似度、提示词遵循度、种子多样性、记忆化逐项打分。本文带你读完这份实测数据,直接给出面向新手的LoRA 优化器选择指南。

一句话核心结论:练人物 LoRA 默认选 Automagic3,约 1500 步即可——相似度在 1250 步左右就到达平台期,提示词遵循度最好、LoRA 体积最小,单张 5090 只需 13–16 分钟。

🥇 结论先行:LoRA 训练该选哪个优化器

优化器建议保留的 checkpoint结论
Automagic3(起始 lr1e-6)1250–2000,取 ~1500✅ 默认首选。相似度 ~1250 步学满后一直保持到 2500;提示词遵循度最好、适配器最小、不用纠结步数
AdamW 8-bit(lr1e-4)1250–1750稳妥备选。相似度稳定,但 1500 步之后种子多样性缓慢下降
Prodigy(d_coef 1.0)≤ 1500,能不用就不用❌ 不推荐。学习率一路上爬、中期忽高忽低,最终过训练到背答案、无视提示词

💡 数据集大小不同时,请换算成epoch思考:约 60–80 个 epoch(21–23 张图的训练集上,1500 步 ≈ 65–71 个 epoch)。用 Automagic3 时,多训一点是无害的。

🧪 实测环境:这套 5090 LoRA 基准是怎么搭的

完整基准报告见 qwen/docs/QWEN_IMAGE_21_LORA_OPTIMIZER_BENCHMARK.md,关键设置如下:

项目设置
底模Qwen-Image 2.1(ComfyUI 单文件 checkpoint,INT8 ConvRot)
硬件1× NVIDIA RTX 5090(32 GB),训练实际占用约11 GB 显存
LoRArank 16 / alpha 16,覆盖全部 32 个 block 的 attention + MLP,共 192 层、39.8M 可训练参数
分辨率 / batch512×512、batch 1、bf16
数据集2 位人物(Felicia Day 23 张、Rhea Seehorn 21 张),全部为方形近景照
跑法每个人物用 3 种优化器各训一遍,每 250 步存一次 checkpoint,其余参数完全一致

三组实验只有优化器配置不同——数据集、rank、分辨率、时间步采样、随机种子全部相同,因此所有差异都可以归因于优化器本身。仓库里还放着同款 Felicia Day 高分辨率训练集样例,可以直接浏览感受数据集长什么样:

对应数据集与训练配置目录:zimage-turbo-vs-base-training/dataset/

📊 评分方法:别只用“像不像”一个指标

每个 checkpoint 都用 3 条提示词 × 3 个种子采样,再打 4 项分数:

指标工具衡量什么
相似度 LikenessArcFace(InsightFace)生成人脸与训练人脸中心的余弦相似度(真人照片 ≈ 0.80,超过 0.5 可视为同一人)
提示词遵循度 AdherenceQwen3-VL 裁判模型提示词要的盔甲、城堡、咖啡馆场景有没有真的画出来
种子多样性 DiversityCLIP ViT-H/14同一提示词换种子的画面差异;下降意味着构图开始“塌缩”
记忆化 MemorizationCLIP ViT-H/14输出与单张训练图的接近程度;逼近训练图之间的相似度就是“照抄”

这份基准最重要的发现:三种优化器在“像不像”上基本打平(人像提示词下都能到 0.72–0.83,肉眼难分伯仲)。真正的差距在另外三项。

📈 三种优化器行为差异:学习率曲线说明一切

AdamWProdigyAutomagic3
学习率走势恒定1e-4自适应起步 ~2.3e-4,训练中逐步上调,结尾到3.6e-4 / 3.9e-4前 ~100 步冲到2.2–2.6e-4,之后持续衰减到1.8e-5 / 8.5e-6
训练结束时适配器强度 ‖ΔW‖2.7 / 3.48.0 / 9.71.4 / 1.1
适配器增长线性线性且陡峭~1000 步后进入平台期

  • AdamW:恒定学习率,行为稳定可预测,适配器强度线性增长;
  • Prodigy:自适应学习率“刹不住车”,训练后期适配器强度达到 Automagic3 的约 6 倍;
  • Automagic3:先冲后衰,1000 步后权重更新基本停稳,不再过度改动底模。

🔥 Prodigy 为什么被淘汰:学习率不收敛导致过训练

Prodigy 是三个里“煮过头”的那一个。以 Rhea 训练为例,跑完全程时:

  • 记忆化达到0.76,超过训练图彼此间的相似度(0.74)——开始逐张复现训练图;
  • “咖啡馆”场景只保住了33%的图,种子多样性塌到0.18(底模:0.34);
  • 中期剧烈波动:1500 步相似度 0.59 → 2000 步跌到 0.36 → 结尾又跳到 0.72。

它最好的相似度数字,恰好与最差的提示词遵循度和最严重的记忆化同时出现——这就是为什么只看“像不像”会被误导。下面这张咖啡馆场景对比图是最直观的说明:Automagic3 从 500 步到结尾都稳住了场景、人群和长相,而 Prodigy 的最后一个 checkpoint 已经把咖啡馆“换”成了影棚特写:

✅ Automagic3 为什么是默认答案:相似度早 plateau、适配器最小

  • 学得快且稳:相似度在 ~1000–1250 步到顶(Felicia ≈ 0.60,Rhea ≈ 0.56),之后一直保持到终点;
  • 提示词遵循度最好:Felicia 组从 500 步起所有 checkpoint 的 P(yes) = 1.00,城堡、咖啡馆等场景从不被 LoRA 覆盖掉;
  • 多样性与记忆化走平:Rhea 组种子多样性维持在底模水平,记忆化不上爬;
  • 适配器最小:结束时 ‖ΔW‖ 只有 1.1–1.4,产出的 LoRA 文件也最小;
  • 不用纠结步数:1250–2500 步之间的 checkpoint 几乎可以互换,多训不坏。

⏱️ 13–16 分钟练完一个人物 LoRA:RTX 5090 耗时实测

512px、batch 1、rank 16 条件下(数据来自训练日志):

人物优化器总步数秒/步实际耗时
FeliciaAdamW20010.65322.0 分钟
FeliciaProdigy20010.83328.0 分钟
FeliciaAutomagic320011.06735.9 分钟
RheaAdamW24990.65027.3 分钟
RheaProdigy24990.50021.0 分钟
RheaAutomagic324990.62026.0 分钟

三个实用结论:

  1. 优化器选择不影响速度——7B 模型的前向/反向占大头,优化器开销可忽略;GPU 空闲时三者都是 ~0.50–0.65 秒/步;
  2. 显存压力小:全程约 11 GB,16 GB 级别的卡也能跑;
  3. 推荐配置(Automagic3、1500 步)端到端约 13–16 分钟,比烧一壶开水还快。

整套基准(含 500+ 张采样图与打分)总共消耗约3.8 GPU 小时,全部在单张 5090 上完成。

🚀 开箱即用:最优 LoRA 优化器配置与提示词规则

仓库里已备好按基准结论写好的 maltrainer 配置:training-scripts/maltrainer/qwen_image_2_1_template.yaml,关键参数如下:

train: max_steps: 1500 # 到这一步精确停止 save_every: 250 optimizer: "automagic3" learning_rate: 1.0e-6 # 仅起点,Automagic3 会自动自适应 automagic_polarity_history: 8 automagic_clip_threshold: 1.0 automagic_beta2: 0.999 weight_decay: 0.01

备选方案:optimizer: "adamw8bit"+learning_rate: 1.0e-4,保留 1250–1750 步的 checkpoint 即可。

⚠️ 必知的提示词规则:类词必须带上

基准还发现一个坑:如果训练集的 caption 都写成 "a woman …",触发词从未被迫自己携带性别信息,那么用<trigger> as a medieval knight这种不带 "a woman" 的提示词,三种优化器都会画出一个男人——因为“骑士”的先验绝大多数是男性:

补上a woman后立刻 100% 修正。所以使用时请记住:

  • 生成提示词:写成"<trigger>, a woman, …"
  • 数据集 caption:写成"<trigger>, a woman with …",让触发词与类词绑定

📌 总结:LoRA 优化器选择 5 条速查

  1. 默认 Automagic3:起始 lr1e-6,训 ~1500 步(60–80 epoch),相似度早平台、适配器最小、多训无害;
  2. AdamW 8-bit 备选:lr1e-4恒定,取 1250–1750 步 checkpoint,留意 1500 步后多样性下滑;
  3. 该底模上避开 Prodigy:学习率持续上爬、适配器暴涨,终点往往记忆化并覆盖提示词场景;
  4. 别只用相似度判断模型好坏:提示词遵循度、多样性、记忆化要一起看;
  5. 提示词永远带类词:<trigger>, a woman, …,触发词不会替你携带性别信息。

更多模型的对照实测(Z-Image Base vs Turbo、Klein 9B、SDXL 等)可继续查看 zimage-turbo-vs-base-training/README.md 以及 training-scripts/ 下的各训练器现成模板。

  • 人工智能
  • 大模型
  • 媒体生成
  • 微调
  • 教程
  • 提示工程
  • 本地部署

【免费下载链接】various

项目地址:https://ai.gitcode.com/hf_mirrors/malcolmrey/various
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进