在AI图像生成领域,模型文件的组织方式直接决定了出图效果与可控性。很多人在使用Stable Diffusion类工具时,面对目录下五花八门的ckpt、safetensors、pt文件往往不知所措。其实只要理清Checkpoint、LoRA与Embedding三者在系统中的定位,就能明白为什么有的文件几个G,有的只有几K,以及它们怎样协同工作。

Checkpoint模型:完整的基础大模型
Checkpoint模型是AI绘图流程中真正意义上的“底模”,它保存了神经网络训练完成后的全部权重参数。以Stable Diffusion为例,一个标准的Checkpoint通常包含文本编码器、扩散模型主干以及解码器部分,文件体积往往在2GB到8GB之间。当我们启动绘图软件并选择某个Checkpoint时,程序会将其全部权重读入显存,后续的所有生成都基于这一套固定参数展开。
从技术角度看,Checkpoint决定了图像最底层的语义分布和画风基调。比如基于二次元数据训练的Checkpoint容易产出动漫风格画面,而基于真实摄影集训练的Checkpoint则偏向写实。因为它的参数量是完整的,所以单独使用一个Checkpoint就能出图,不需要依赖其他附加文件。这也解释了为什么新手第一次跑通流水线时,只需要下载一个ckpt就能看到结果。
不过Checkpoint的缺点同样明显:替换风格成本极高。如果你想在已有写实模型上增加“某位特定角色”的特征,重新训练一个Checkpoint需要海量算力与数据;直接替换底模又会丢失原有画风。因此社区逐渐演化出更轻量的附加层方案,也就是下面要说的LoRA与Embedding。
LoRA与Embedding:轻量附加层的不同思路
LoRA全称Low-Rank Adaptation,其核心思想是在原模型权重旁并联低秩矩阵,训练时只更新这些小矩阵,推理时把矩阵乘积叠加回主网络。在AI绘图里,一个角色LoRA可能只有几十到几百MB,它并不替代Checkpoint,而是在加载底模后,将自身权重以一定比例(如0.6)融合进对应层。这样一来,用户可以在任意写实Checkpoint上挂同一个角色LoRA,就能稳定生成该角色形象,而不必为每个角色都训一个完整模型。
Embedding则走了另一条路。它不像LoRA改网络权重,而是把某个概念浓缩成一段可学习的向量,绑定到一个特殊词语上。当提示词里出现这个词语,模型就会调用该向量参与计算。一个Embedding文件常常只有几KB到几百KB,适合固化“负面特征”或“小物件风格”。例如把“坏手”特征做成Embedding,输入neg_embed就能让模型回避畸形手部。下面代码演示了在WebUI中通过API加载LoRA与Embedding的简化逻辑:
import json
# 假设通过HTTP接口向Stable Diffusion发送生成参数
payload = {
"prompt": "a girl <lora:char_v1:0.8> wearing neg_embed",
"negative_prompt": "",
"steps": 20,
"checkpoint": "base_realistic.safetensors",
"lora": [
{"name": "char_v1", "weight": 0.8}
],
"embeddings": ["neg_embed"]
}
# 实际请求中,Checkpoint先载入,LoRA与Embedding作为附加项
print(json.dumps(payload, ensure_ascii=False))
对比二者,LoRA改的是“模型怎么画”,影响线条、配色、结构;Embedding改的是“词对应什么意思”,影响语义触发。实际工程中常组合使用:Checkpoint定基调,LoRA调形象,Embedding补细节或控负面。这种分工让个人电脑也能玩转复杂定制。
三者的层级加载关系与搭配实践
从加载顺序说,层级非常明确:Checkpoint处于最底层,必须最先载入并常驻显存;LoRA在推理时被动态挂载到对应网络层,可多个叠加,每个有权重系数;Embedding在分词阶段就生效,把文本里的特殊标记替换为训练向量,不参与权重融合。简单说,Checkpoint是土壤,LoRA是嫁接枝条,Embedding是施肥标签。
在显存占用上,Checkpoint基本吃满基础开销,LoRA因体积小可忽略额外显存,Embedding更是近乎零成本。因此低端显卡用户更应多用LoRA与Embedding而非频繁换底模。下表列出常见差异:
| 类型 | 体积 | 作用层 | 训练成本 |
|---|---|---|---|
| Checkpoint | 2G-8G | 全网络 | 极高 |
| LoRA | 10M-500M | 特定层叠加 | 中等 |
| Embedding | 几K-几百K | 文本向量 | 较低 |
实践中推荐工作流:先按想要的画风选Checkpoint,再搜对应LoRA做角色或风格增强,最后挂一个通用负面Embedding保底。注意LoRA权重不宜全开到1.0,否则容易覆盖底模导致变形;Embedding词尽量放提示词前段确保分词命中。理清这套层级,就能用最少资源搭出最稳的出图管线。
Checkpoint模型LoRAEmbedding修改时间:2026-08-17 15:40:49