SDXL 1.0作为Stable Diffusion系列中首个原生支持双阶段生成架构的模型,将出图过程拆分为Base模型和Refiner模型两个步骤。Base模型负责从噪声中生成低分辨率或中等分辨率的粗略图像,Refiner模型则对Base输出的结果进行细节增强、纹理锐化和色彩校正。很多人对这两个模型的分工感到困惑,尤其是CFG和Steps这类关键参数在Base与Refiner阶段该如何分别设置,才能让最终成图既不丢失构图又具备丰富细节。下面我会结合自己的实测经验,把参数逻辑和配置方法讲清楚。

Base与Refiner模型的分工原理
SDXL 1.0的Base模型是一个拥有35亿参数的UNet,主要在1024x1024分辨率下工作,负责根据文本提示生成图像的整体结构、物体轮廓和大体色彩。它训练时使用了更广泛的噪声尺度范围,因此在构图层面表现稳健,但直接输出的图像在细节上往往显得柔和甚至模糊,高频信息不足。Refiner模型参数量为66亿,专门针对低噪声阶段的去噪任务优化,也就是说它更擅长在接近最终图像的步骤中补充纹理、边缘和局部对比度。两部分配合时,Base先生成一张约8192个token的潜空间表示,然后通过VAE解码或潜空间传递,交给Refiner做最后10到20步的精修。
理解这个分工后,参数设置的逻辑就清晰了:Base阶段需要较大的步数和适中的CFG来保证构图正确,因为这一阶段噪声水平高,模型需要足够多的推理步骤去塑造主体;而Refiner阶段起始噪声已经很低,所需步数较少,CFG可以适当提高来增强对提示词的遵循度,同时避免过度改变全局结构。如果反过来让Base步数太少或CFG过高,构图容易出现畸形或色彩溢出;如果Refiner步数太多,则会引入多余的噪点并增加显存和时间开销。
CFG参数在Base与Refiner阶段的差异化设置
CFG全称Classifier-Free Guidance,用于控制生成结果对文本提示的遵循程度。数值越高,图像内容越贴合提示词,但过高的CFG会导致画面过饱和、对比度过强、甚至出现烧焦感。在SDXL的Base阶段,推荐CFG范围是5到8。因为Base模型参数量相对较小,对高CFG的容忍度较低,超过8很容易产生颜色偏移和构图僵硬。实测在CFG=5到6时,Base生成的图像通常更自然,留白和物体比例更合理;CFG=7到8则适合希望强化某些元素出现的场景,比如特定服装颜色或特定视角。
进入Refiner阶段后,由于模型只处理低噪声步骤,对提示词的敏感度更高,CFG可以略微提高至7到10,以增强细节描述词的响应。例如想让眼睛更有神、毛发更清晰,可以把Refiner的CFG设为8或9,这样模型会在保留Base构图的基础上强化局部特征。但如果超过10,Refiner容易开始不顾原图结构自行发挥,出现多余线条或错误纹理。一个实用的技巧是:当Base阶段CFG较低(如5)时,Refiner阶段CFG可以高一点(如9),两者形成互补;当Base阶段CFG已经较高(如8)时,Refiner阶段CFG最好不超过8,避免双重叠加导致过拟合。
Steps步数的配置策略
Steps指去噪迭代步数,直接影响生成时间和图像质量。Base模型通常工作在较宽的噪声范围,需要更多步数来逐步收敛。在SDXL 1.0中,Base阶段的Steps建议设置为25到30。少于20步时,图像细节会明显缺失,尤其在人脸和复杂场景中容易出现畸形;超过35步后边际收益极低,甚至可能因为步数过多导致模型过度修正而损失自然感。如果使用DPM++ 2M Karras这类高效采样器,25步已经足够;对于DDIM或Euler ancestral等采样器,可能需要30步左右。
Refiner阶段的Steps则要短得多,一般10到20步即可。因为Refiner接收的潜空间表示已经包含了大部分低频信息,它只需要在剩余的高频细节上做文章。Refiner步数过少(如5步)会导致细节增强不明显,画面依然发灰;步数超过20步则可能开始对全局结构进行微调,造成原本正确的构图被破坏,同时还白白增加采样时间。一个常见的组合是Base使用30步、Refiner使用15步,这样的速度与质量平衡较好。如果追求极致速度,可以尝试Base 25步、Refiner 10步,配合DPM++ SDE Karras采样器,基本不会损失太多细节。
下面给出在ComfyUI中配置Base与Refiner串联节点的JSON示例,注意其中steps和cfg的数值:
{
"3": {
"class_type": "KSampler",
"inputs": {
"model": ["4", 0],
"positive": ["6", 0],
"negative": ["7", 0],
"latent_image": ["5", 0],
"seed": 123456789,
"steps": 30,
"cfg": 6.5,
"sampler_name": "dpmpp_2m",
"scheduler": "karras",
"denoise": 1.0
}
},
"8": {
"class_type": "KSampler",
"inputs": {
"model": ["9", 0],
"positive": ["6", 1],
"negative": ["7", 1],
"latent_image": ["3", 0],
"seed": 123456789,
"steps": 15,
"cfg": 8.0,
"sampler_name": "dpmpp_2m",
"scheduler": "karras",
"denoise": 0.35
}
}
}
示例中Base阶段steps为30、cfg为6.5,Refiner阶段steps为15、cfg为8.0,同时Refiner的denoise设为0.35意味着只对前35%的噪声水平进行再降噪,这是SDXL官方推荐的衔接方式。如果使用Automatic1111的WebUI,可以在设置中开启SDXL Refiner功能,分别指定Base和Refiner的步数切换点,比如总步数30、切换步数10,就相当于Base跑20步、Refiner跑10步。无论哪种工具,核心原则都是Base步数多于Refiner,且CFG呈阶梯式提升。
实际搭配出图的完整流程与调优技巧
完整的SDXL Base+Refiner出图流程通常包括以下步骤:首先在Base模型中输入正向和负向提示词,设置好分辨率(推荐1024x1024或1024x1536等SDXL原生尺寸),选择采样器与调度器,运行第一阶段采样;然后将Base输出的潜空间(latent)直接传递给Refiner模型,同时传入相同的正向提示词,但可以单独调整Refiner的CFG和步数;最后通过VAE解码得到最终像素图像。这个过程中最容易被忽略的是潜空间的传递方式。在ComfyUI中必须使用同一个latent对象连接Base的KSampler输出和Refiner的KSampler输入,而不是先解码再重新编码,否则会引入额外噪声导致细节丢失。
调优时如果发现画面整体偏灰、对比度不足,可以优先提高Refiner的CFG或略微增加Refiner的步数,而不是盲目提高Base的CFG,因为Base的CFG对全局色彩影响更敏感。如果发现某些元素没有按照提示词出现,比如“红色帽子”变成了“蓝色帽子”,应提高Base阶段的CFG,因为主要构图和物体属性是在Base阶段确定的。遇到噪点增多或画面发“脏”的情况,先降低Refiner的CFG,再把Refiner步数减少5步试试。另外,Base和Refiner使用相同的随机种子是保证结果可复现的关键,修改任何一个阶段的参数都需要重新固定种子进行对比。
显存方面,SDXL Base模型在FP16精度下大约需要8GB显存,Refiner模型单独加载也约8GB,同时加载两个模型会占用16GB以上,这对很多显卡是不小的压力。如果显存有限,可以在Base采样完成后将Base模型卸载,再加载Refiner模型,虽然会增加一点IO时间,但能大幅降低峰值显存。在ComfyUI中,可以通过设置模型加载节点为“自动卸载”模式实现;在Automatic1111中,开启“SDXL Refiner”后默认会在切换时自动卸载前一个模型。最后提醒一点,SDXL 1.0的Base模型默认输出1024x1024,如果直接生成512x512或768x768,画面质量会明显下降,因为模型训练分布与推理尺寸不匹配,所以保持原生分辨率是获得好效果的前提。
SDXL 1.0Base模型与Refiner模型CFG与Steps参数修改时间:2026-09-23 11:03:16