LoRA(即低秩自适应)正在改变扩散模型生成特定风格和主体的方式。通过修改扩散模型中交叉注意力层的权重,LoRA 让创作者能够针对独特的艺术或技术需求微调输出。本文将探讨 LoRA 的工作原理、实际应用,以及如何使用 ComfyUI 等工具将它们逐步集成到工作流中。
目录
什么是 LoRA?
LoRA(低秩自适应)是小型模型,旨在引导扩散模型实现特定的结果,例如复现独特的风格或主体。它们通过将大型数据矩阵分解为更小的低秩矩阵来实现这一点,从而减少所需的存储和算力。这使得 LoRA 成为微调扩散模型的高效且可扩展的方案,无需重新训练整个模型。
LoRA 的主要特点:
- 数据效率:LoRA 存储的数据远少于完整的扩散模型,只关注自适应所需的参数。
- 交叉注意力层修改:LoRA 调整扩散模型内的特定层,以实现预期结果。
- 灵活性:LoRA 可应用于艺术、图像生成和技术建模等多个领域。
实际示例:在 ComfyUI 中使用 LoRA
为了展示 LoRA 的强大功能,让我们来看一个使用 Aether Cloud LoRa 的实际示例,该模型专为 SDXL 模型而设计。

步骤 1:搭建工作流
在 ComfyUI 中,首先创建一个基本的文生图工作流,使用 Juggernaut XL 模型。该模型能生成高质量的云朵,但加入 LoRA 后,输出效果可以进一步优化。
- 加载 LoRA:
- 使用 LoraLoaderModelOnly 节点加载 LoRA 模型。
- 将此节点连接到 加载检查点节点 和 KSampler 节点。

- 调整模型强度:
- 这个模型强度参数 控制 LoRA 对输出的影响程度。
- 先从默认强度 1 开始,并根据需要进行调整。
步骤 2:比较输出结果
加载 LoRA 后,排队运行工作流并比较结果:
- 不使用 LoRA:Juggernaut XL 生成的云朵很逼真,但缺乏艺术感。
- 使用 LoRA(强度 1):输出变得更加抽象,反映了 Aether Cloud LoRA 的独特特征。
为了在真实感和抽象感之间找到平衡,请将强度降低到 0.5 并重新运行工作流。这一调整将 Juggernaut XL 的内在特性与 LoRA 的艺术风格融合在一起。
步骤 3:增加细节
如需更多细节,请增加推理步数:KSampler 节点:
- 20 步:能产生不错的结果,但缺少精细的细节。
- 30 步:增加了令人信服的细节,并提升了整体质量。
高级技巧:使用 LoRA 进行局部重绘
LoRA 还可用于局部重绘,让你在保留整体构图的同时修改图像的特定区域。
示例:创建一朵心形云
- 搭建局部重绘工作流:
- 使用 CropAndStitch 节点 并在要修改的区域上绘制遮罩。
- 调整参数,例如 denoise strength(如 0.8),以确保底层图像为新生成的内容提供大致的形状。
- 修改提示词:
- 使用一个具体的提示词,例如“two birds kiss each other in the sky.”
- 运行工作流:
- 将工作流排队运行,并将局部重绘的结果与原始图像进行比较。

这项技术可以精确控制输出,将 LoRA 的特征与基础模型融合,从而实现惊艳的效果。
使用 LoRA 的最佳实践
- 尝试不同的强度参数:调整模型强度,以平衡原始模型的特性与 LoRA 的影响。
- 优化推理步数:步数越多通常细节越好,但可能会增加处理时间。
- 与 CLIP 文本编码器结合:某些 LoRA 需要连接到 CLIP 文本编码器才能获得最佳性能。
1 thought on “C31: Fine-Tuning Diffusion Models with LoRAs: A Step-by-Step Guide”