工具教程AI
在 Apple 芯片 Mac 上训练 LoRA
从 kohya 环境、素材裁切与打标,到训练目录、底模、优化器和 Rank 参数,梳理一条可执行的 LoRA 训练流程。
Jul 16, 2024 2 min read
Leave a thought
Comments live in GitHub Issues. Chinese and English pages share one conversation.
Loading comments…
从 kohya 环境、素材裁切与打标,到训练目录、底模、优化器和 Rank 参数,梳理一条可执行的 LoRA 训练流程。
Comments live in GitHub Issues. Chinese and English pages share one conversation.
这篇笔记记录的是在 Apple 芯片 Mac 上用 kohya 系工具训练 Stable Diffusion LoRA 的基本思路。训练脚本和依赖更新频繁,具体安装命令应以所用仓库的当前说明为准。
先明确训练目标
LoRA 可以学习人物、物件、服装或画风。不同目标需要不同素材:
素材数量不是越多越好。重复、模糊、严重压缩或构图几乎相同的图片,会放大偏差。
数据准备
Caption 不需要描述每个像素,但要把主体、服装、动作、场景和风格中真正变化的部分说清楚。触发词应短、稳定,并尽量避免与常见词冲突。
参数怎么理解
Rank 与 Alpha
Rank 决定 LoRA 的表达容量。更高并不必然更好:容量太小可能学不住,太大则增加文件体积和过拟合风险。Alpha 用于缩放更新强度,通常结合 Rank 一起观察。
学习率
UNet 和文本编码器可以使用不同学习率。人物或物件训练时,文本编码器过强容易破坏原有词义;不确定时先采用保守配置,再看对照图调整。
Steps、Epoch 与重复次数
这三个参数共同决定每张图片被看到多少次。不要只复制别人的总步数,应根据数据量计算,并在训练过程中定期采样。出现以下现象时可能已经过拟合:
优化器与精度
Apple 芯片主要使用 MPS,生态兼容性不如 CUDA 完整。选择优化器、混合精度和缓存策略时,优先以“能够稳定完成一轮训练”为基线,再逐项优化速度。
Mac 上常见问题
验收而不是“看起来像”
至少用三组提示词检查:
同时比较多个 LoRA 权重。真正可用的模型,不只是能复刻素材,而是在不同提示词中仍保留目标特征,并允许底模继续发挥。