ComfyUI教程第6课:大模型和 LoRA 模型详细使用流程-AI智能库

ComfyUI教程第6课:大模型和 LoRA 模型详细使用流程

ComfyUI 第 {LESSON_NUM} 课:{TITLE}

一、Checkpoint 大模型是什么

1.1 一句话定义

Checkpoint 是 Stable Diffusion / FLUX 等生成式模型的完整权重快照,决定了一幅画能被画成什么样。

如果把 AI 绘画比作做菜,Checkpoint 就是厨房里最基础的调味料组合。它决定了这道菜是川菜、粤菜还是西餐——也就是决定了画面的整体风格、人物结构、光影习惯和质感倾向。

在 ComfyUI 里,Checkpoint 通常被称为「大模型」或「底模」,文件后缀多为 .safetensors(新版推荐)或 .ckpt(旧版)。

1.2 常见 Checkpoint 分类

模型系列 特点 典型用途 推荐显存
SD 1.5 生态最成熟,LoRA 最多 二次元、写实入门 4GB+
SDXL 1.0 原生 1024px,画质更好 商业摄影、海报 8GB+
SDXL Turbo / Lightning 4-8 步快速出图 快速迭代、实时预览 8GB+
FLUX.1 [dev/schnell] 提示词理解强、真实感突出 写实人像、商业广告 12GB+
Pony Diffusion 人物表现优秀 角色插画、二次元 8GB+
选型建议
  • 新手练手:SD 1.5 或 SDXL,模型多、教程多
  • 商业摄影/写实:SDXL / FLUX.1 dev
  • 低显存设备:SD 1.5 + –lowvram 启动参数

1.3 Checkpoint 的存放位置

ComfyUI 对模型目录有严格约定:

ComfyUI/
├── models/
│   ├── checkpoints/      ← 大模型放这里
│   ├── loras/            ← LoRA 放这里
│   ├── vae/              ← VAE 放这里
│   ├── controlnet/       ← ControlNet 放这里
│   └── upscale_models/   ← 放大模型放这里

把下载好的 .safetensors 文件放进 models/checkpoints/ 后,需要刷新或重启 ComfyUI,文件才会出现在 Load Checkpoint 节点的下拉列表中。

二、LoRA 微调模型是什么

2.1 一句话定义

LoRA(Low-Rank Adaptation)是一种轻量级微调技术,它像一层「贴片」一样叠加在大模型上,让大模型获得特定的风格、角色或概念能力。

LoRA 文件通常只有几十 MB 到几百 MB,远比 Checkpoint(几个 GB)小得多。它不能独立生成图片,必须依托一个 Checkpoint 才能工作。

Checkpoint 大模型与 LoRA 的关系示意图:大模型是地基,LoRA 是装修层
图 6-1 Checkpoint 大模型与 LoRA 的关系

2.2 常见 LoRA 类型

类型 作用 典型触发词 推荐权重
角色 LoRA 固定某个人物形象 角色名、特征词 0.7–1.0
画风 LoRA 模拟特定艺术风格 风格关键词 0.5–0.8
概念/物体 LoRA 让模型认识新事物 物体名 0.6–0.9
服装/道具 LoRA 生成特定服饰道具 服装名 0.5–0.8
光影 LoRA 强化特定光照效果 光影描述词 0.3–0.6
LoRA 的精髓

不用重新训练大模型,只需加载一个小文件,就能让 SDXL 画出某个动漫角色、让 FLUX 生成某种电影感光影、让画面统一为水彩画风。这就是 LoRA 的革命性之处。

2.3 Checkpoint 与 LoRA 的核心区别

对比项 Checkpoint 大模型 LoRA 微调模型
文件大小 2–8 GB 10 MB–500 MB
能否独立出图 可以 不可以,必须依附 Checkpoint
作用层级 决定整体能力和风格 注入特定角色/风格/细节
数量限制 一次只能用一个 可多个叠加
训练成本 极高,需要大量算力 低,普通显卡可训练
常用格式 .safetensors / .ckpt .safetensors

三、模型目录规范与文件格式

3.1 推荐目录结构

当模型数量变多后,合理的目录结构能救命。推荐按模型架构分子文件夹:

ComfyUI/models/
├── checkpoints/
│   ├── SD1.5/
│   │   ├── realisticVision.safetensors
│   │   └── dreamshaper_8.safetensors
│   ├── SDXL/
│   │   ├── juggernautXL.safetensors
│   │   └── realisticVisXL.safetensors
│   └── FLUX/
│       └── flux1-dev.safetensors
├── loras/
│   ├── SD1.5/
│   │   ├── character/
│   │   └── style/
│   ├── SDXL/
│   │   ├── character/
│   │   └── style/
│   └── FLUX/
│       ├── character/
│       └── style/
└── vae/
    └── sdxl_vae.safetensors
文件命名注意事项
  • 只使用英文、数字、下划线、连字符,不要出现中文、空格或特殊符号
  • 长文件名可以缩短,保持可读性即可
  • 同名不同架构的 LoRA 一定要分目录存放,避免选错

3.2 .safetensors 与 .ckpt 怎么选

现在主流都推荐 .safetensors:

  • 安全性:.ckpt 是 PyTorch 原生格式,可能被注入恶意代码;.safetensors 只包含张量数据,更安全
  • 加载速度:.safetensors 加载更快,内存映射更高效
  • 兼容性:ComfyUI、WebUI、Civitai 都优先支持 .safetensors

结论:能下 .safetensors 就下 .safetensors, legacy 的 .ckpt 只在没替代源时才考虑。

四、Load Checkpoint 节点详解

Load Checkpoint 是绝大多数 ComfyUI 工作流的第一个节点,它负责把大模型从硬盘加载到显存,并拆成三路输出。

Load Checkpoint 节点结构与三路输出说明
图 6-2 Load Checkpoint 节点结构与输出

4.1 节点参数

参数 含义 说明
ckpt_name 选择大模型文件 下拉列表来自 models/checkpoints/ 目录
config_name 模型配置文件 通常保持默认(自动匹配)

4.2 三路输出

输出端口 类型 接往哪里 作用
MODEL MODEL KSampler / Load LoRA 扩散模型权重,负责真正生成图像
CLIP CLIP CLIP Text Encode / Load LoRA 文本编码器,把提示词转成模型能理解的语言
VAE VAE VAE Decode / VAE Encode 图像与潜空间之间的编解码器
新手常犯错误

把 Load Checkpoint 的 MODEL 直接连到 KSampler,却把 CLIP 接到了别的地方,导致正向提示词用的是另一个模型的 CLIP。这样会出现「提示词不听使唤」的现象。记住:一个 Checkpoint 的三路输出要尽量一起用,保持来源一致。

4.3 实际连接示例

Load Checkpoint
   ├── MODEL ──────→ KSampler.model
   ├── CLIP ────────→ CLIP Text Encode.clip
   └── VAE ─────────→ VAE Decode.vae

这是最小文生图工作流中 Checkpoint 的标准去向。任何 LoRA 都要先插在 MODEL 和 CLIP 这两路上,再进入后续节点。

五、Load LoRA 节点详解

5.1 节点位置与作用

Load LoRA 节点的作用是:把 LoRA 权重叠加到已经加载的 Checkpoint 上,输出「被修改过的 MODEL 和 CLIP」。

Load LoRA 节点参数与连接方式
图 6-3 Load LoRA 节点参数与连接方式

5.2 节点参数

参数 含义 常用范围 建议
lora_name 选择 LoRA 文件 — 确认与 Checkpoint 架构匹配
strength_model 对生成模型的影响强度 -1.0 ~ 1.0 日常 0.6–1.0
strength_clip 对文本编码器的影响强度 -1.0 ~ 1.0 通常与 model 相同或略低

5.3 strength_model 与 strength_clip 的区别

这两个参数是 Load LoRA 最容易被忽视、也最重要的细节:

  • strength_model:控制 LoRA 对图像生成模型(UNet/Transformer)的影响。它决定了画面中是否出现该 LoRA 学的特征,比如角色的脸、画风笔触、服装样式。
  • strength_clip:控制 LoRA 对CLIP 文本编码器的影响。它决定了模型对你 prompt 里触发词、角色名、风格词的理解程度。

简单记忆:

strength_model → 决定画面长什么样
strength_clip  → 决定模型听不听懂你的触发词

5.4 连接方式

一个 LoRA 的标准接法是:把 Checkpoint 的 MODEL 和 CLIP 输出,接到 Load LoRA 的 model 和 clip 输入;再把 Load LoRA 的 MODEL 和 CLIP 输出,分别接到 KSampler 和 CLIP Text Encode。

Load Checkpoint
   ├── MODEL ──→ Load LoRA.model
   └── CLIP ───→ Load LoRA.clip

Load LoRA
   ├── MODEL ──→ KSampler.model
   └── CLIP ───→ CLIP Text Encode.clip
必须同时接 model 和 clip

如果只接 MODEL 而没接 CLIP,LoRA 的触发词响应会大幅削弱,画面效果会明显变弱甚至失效。这是新手最容易犯的错误之一。

六、多 LoRA 串联实战

6.1 为什么要叠加多个 LoRA

实际创作中,经常需要同时满足多个需求:

  • 角色 LoRA:让画面中的人物是某个特定角色
  • 画风 LoRA:让画面变成油画/水彩/像素风
  • 光影 LoRA:强化某种灯光氛围
  • 服装 LoRA:让角色穿上指定服饰

这些需求无法靠一个 LoRA 解决,需要把多个 LoRA 串联起来。

多个 Load LoRA 节点串联的工作流示意图
图 6-4 多 LoRA 串联工作流

6.2 串联方式

把多个 Load LoRA 节点首尾相接:

Load Checkpoint
   ├── MODEL ──→ Load LoRA 1.model
   └── CLIP ───→ Load LoRA 1.clip

Load LoRA 1
   ├── MODEL ──→ Load LoRA 2.model
   └── CLIP ───→ Load LoRA 2.clip

Load LoRA 2
   ├── MODEL ──→ Load LoRA 3.model
   └── CLIP ───→ Load LoRA 3.clip

Load LoRA 3
   ├── MODEL ──→ KSampler.model
   └── CLIP ───→ CLIP Text Encode.clip

串联顺序理论上对结果有影响,但通常权重分配比顺序更重要。建议先固定种子测试不同顺序,再决定最终链路。

6.3 权重分配策略

场景 LoRA 1 LoRA 2 LoRA 3 总强度
角色 + 画风 角色 0.8 画风 0.5 — 1.3
角色 + 光影 + 服装 角色 0.9 服装 0.5 光影 0.4 1.8
双角色融合 角色 A 0.6 角色 B 0.6 — 1.2
纯风格融合 风格 A 0.5 风格 B 0.5 — 1.0
权重经验公式

总强度 = 各 LoRA strength_model 之和。日常建议控制在 1.5 以内;超过 2.0 极易出现画风撕裂、人体崩坏或色彩溢出。

6.4 触发词管理

每个 LoRA 作者在训练时都可能指定了触发词(Trigger Words)。使用时需要注意:

  • 把触发词放在 prompt 的前部或对应描述附近
  • 不同 LoRA 的触发词用逗号分隔
  • 不要把画风 LoRA 的触发词和角色 LoRA 的触发词混在一起
  • 如果模型卡写 “no trigger words required”,则不需要专门写
示例 prompt 结构
character_name, 1girl, long hair, blue eyes,
white dress, soft lighting, watercolor painting style,
outdoor garden, masterpiece, best quality

其中 character_name 是角色 LoRA 触发词,watercolor painting style 是画风 LoRA 触发词。

七、权重调参与常见问题

7.1 扫权重法:找到最佳区间

不要盲目用 1.0。推荐用固定种子扫权重:

  1. 固定 prompt、seed、CFG、steps、尺寸
  2. 设置 strength_model = 0.6,生成第一张图
  3. 改为 0.8,生成第二张图
  4. 改为 1.0,生成第三张图
  5. 改为 1.2,生成第四张图
  6. 对比四张图,选择效果明显且不炸图的区间

找到合适的 model 权重后,再微调 clip 权重,观察触发词响应和 prompt 理解度。

7.2 常见问题排查

现象 可能原因 解决方案
LoRA 完全没效果 底模架构不匹配 / 没写触发词 / CLIP 没接 检查架构、触发词、连线
画面炸裂、色彩溢出 权重过高 / 多个 LoRA 冲突 降低 strength_model,减少 LoRA 数量
人物崩坏、五官错位 角色 LoRA 权重过高 / 与底模不兼容 降到 0.7–0.8,换匹配底模
触发词没反应 strength_clip 太低 / 触发词写错位置 提高 clip 权重,把触发词放前面
多个 LoRA 画风打架 总强度过高 / 风格冲突 主次分明,总强度控制在 1.5 以内
生成速度变慢 LoRA 文件过大 / 显存不足 减少 LoRA 数量,或启用 –lowvram

7.3 底模匹配检查清单

  • SD 1.5 的 LoRA 不能用于 SDXL/FLUX
  • SDXL 的 LoRA 不能用于 SD 1.5/FLUX
  • FLUX 的 LoRA 只能用于 FLUX 底模
  • 下载前务必查看模型卡的 Base Model / 适用底模字段
重要提醒

LoRA 和 Checkpoint 的架构不匹配,是导致「LoRA 不生效」的头号原因。不是你连错了,而是文件本身就配不上。

八、关键术语速查

Checkpoint
大模型文件,决定生成图像的基本风格和能力
LoRA
轻量级微调模型,叠加在大模型上实现特定人物/风格
safetensors
推荐模型格式,安全且加载快
ckpt
旧版 PyTorch 模型格式,建议优先用 safetensors
strength_model
LoRA 对生成模型的影响强度
strength_clip
LoRA 对 CLIP 文本编码器的影响强度
触发词
训练时定义的关键词,用于激活 LoRA 特征
底模
LoRA 所依附的 Checkpoint 大模型
模型架构
SD1.5 / SDXL / FLUX 等不同模型体系
模型目录
ComfyUI/models/ 下按类型分类的文件夹

本课小结

  1. Checkpoint 是 ComfyUI 工作流的起点,决定画面整体能力和风格
  2. LoRA 是轻量级「贴片」,依附于 Checkpoint,注入角色/风格/细节
  3. 模型按目录规范存放:checkpoints/ 放大模型,loras/ 放 LoRA
  4. Load Checkpoint 输出 MODEL / CLIP / VAE 三路,缺一路都不行
  5. Load LoRA 必须同时串联 model 和 clip,不能只接一路
  6. 多 LoRA 串联时,权重分配比顺序更重要,总强度建议 ≤ 1.5
  7. 调参用固定种子扫权重,先找 model 区间,再微调 clip
  8. 排查 LoRA 失效,首先检查底模架构匹配和触发词

课后任务

  1. 整理你的模型目录:把下载的 Checkpoint 和 LoRA 分别放进 models/checkpoints/ 和 models/loras/,并用 SD1.5 / SDXL / FLUX 子文件夹分类
  2. 搭建单 LoRA 工作流:用 Load Checkpoint + Load LoRA + KSampler 完成一次文生图,尝试 0.6 / 0.8 / 1.0 三个 model 权重,观察画面差异
  3. 尝试双 LoRA 叠加:选择一个角色 LoRA 和一个画风 LoRA,分别设置 0.8 和 0.5,对比单用与叠加的效果
  4. 记录触发词:打开你常用的 LoRA 模型卡,复制触发词到一个文档,方便以后快速调用
下节预告

第 07 课:本地模型上传到 RH 网的方式
下节课我们将学习如何把本地训练或下载好的模型上传到 RunningHub 云端,实现云端工作流调用本地模型资源。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享