MOSS-Image 推荐设置:步数、CFG、Shift 与跳层
MOSS-Image 团队推荐的采样器、步数、CFG、shift、跳层和负面提示词设置,以及每一项分别影响什么。
MOSS-Image 团队推荐使用 flow-matching Euler 采样器搭配 sgm_uniform 调度器,至少 50 步,CFG 3,shift 5,无条件分支跳过第 22 层。这些数值发布在 GitHub README、USERGUIDE 和 Hugging Face 模型卡中。
本文先把所有推荐值汇总成一张表,再逐一解释每个参数改变了什么、什么时候该调整。如果你刚接触这个模型,建议先读 MOSS-Image 是什么?。逐节点的搭建步骤见 ComfyUI 指南。
MOSS-Image 的官方设置是什么?
官方默认值为:Euler 采样器,sgm_uniform 调度器,50 步或更多,CFG 3.0(范围 3.0-6.0),shift 5,uncond_skip_layers=[22],负面提示词 nsfw, worst quality, bad anatomy, watermark, jpeg artifact。使用 MOSS-Image-SFT 检查点,输出尺寸在 1 到 2 百万像素之间。
| 设置项 | 推荐值 | 来源 |
|---|---|---|
| 检查点 | 日常生成使用 MOSS-Image-SFT | GitHub |
| 采样器 | Flow-matching Euler | GitHub / ComfyUI Wiki |
| 调度器 | sgm_uniform | ComfyUI Wiki |
| 步数 | 50 或更多 | GitHub |
| CFG | 3(范围 3.0-6.0;短提示词可调高) | GitHub |
| Shift | 5 | GitHub |
| 跳层 | uncond_skip_layers=[22];22、24、26 都可用 | Hugging Face |
| 负面提示词 | nsfw, worst quality, bad anatomy, watermark, jpeg artifact | USERGUIDE |
| 分辨率 | 1M、1.5M 或 2M 像素;边长必须是 16 的倍数 | USERGUIDE |
| 提示词语言 | 推荐英文;支持中文及其他语言 | USERGUIDE |
| 文本上限 | 4096 token | GitHub |
为什么 MOSS-Image 需要 50 步?
MOSS-Image 发布时没有做任何推理参数蒸馏。README 把下限定在 50 步,论文的局限性一节也指出,Base 模型尤其依赖 50 步以上加仔细调整的 CFG。只有搭配社区的少步数 LoRA 时,减少步数才是安全的。
采样器是 flow-matching Euler 求解器。在 ComfyUI 中,这对应标准的 euler 采样器搭配 sgm_uniform 调度器,ComfyUI Wiki 有相关记录。团队没有公布推理速度数据,所以 50 步的耗时完全取决于你的硬件。
CFG 在 MOSS-Image 中起什么作用,为什么默认是 3?
CFG(classifier-free guidance,无分类器引导)控制模型相对于无条件输出有多严格地遵循提示词。团队推荐 3,给出的可用范围是 3.0 到 6.0。他们的建议是:短提示词可以调高 CFG,否则模型可依据的信息太少。
对于长提示词和 JSON 版式,保持 3 即可。这类提示词本身已经携带了足够多的条件信号。一个相关细节:MOSS-Image-Base 完全没有 CFG 蒸馏,这也是 GitHub README 引导日常用户使用 SFT 检查点的原因之一。
Shift 5 改变了什么?
Shift 调整 flow-matching 采样器的时间步调度,把更多的采样预算分配到噪声较大的那一端。官方值为 5,列在 README 中。除非你是有意做实验,否则保持 5 不动;团队没有公布其他可选值。
在 ComfyUI 中,shift 设置在 model-sampling 节点上,而不是采样器本身。ComfyUI 指南展示了它在默认工作流中的位置。
无条件跳层设置是什么?
uncond_skip_layers 设置会在计算引导的无条件(负面)分支时跳过一层 Transformer。Hugging Face 模型卡推荐 [22],并说明 22、24、26 都可用。DiT 共有 42 层,所以这些层都位于网络的后半段。
这种技术通常称为 SLG(skip-layer guidance,跳层引导)。USERGUIDE 对取舍说得很直白:关闭 SLG 会让图像更真实,但细节可能出问题。如果你优先考虑文字准确和版式干净,就保持开启。如果你渲染的是文字很少的场景,想要更接近摄影的效果,可以试着关掉然后对比。
MOSS-Image 使用什么负面提示词?
USERGUIDE 给出的负面提示词是 nsfw, worst quality, bad anatomy, watermark, jpeg artifact。这是一份简短、通用的列表,团队没有针对特定风格发布变体。大多数工作直接照用即可,只有在反复出现某种瑕疵时才添加词条。
由于 MOSS-Image 使用的是带有真实负面分支的 classifier-free guidance,负面提示词在 CFG 3 及以上时是有效的。它同时也是 uncond_skip_layers 所修改的那个分支,所以这两个设置会相互影响。
MOSS-Image 支持哪些分辨率?
MOSS-Image 在 1、1.5 或 2 百万像素下效果最佳,支持任意宽高比,并且可以外推到从 0.25 百万像素(512²)到 4 百万像素(2K)。宽和高都必须是 16 的倍数。这些规则来自 USERGUIDE。
16 像素规则源于架构本身:VAE 做 8 倍下采样,DiT 使用 2×2 潜变量 patch,因此有效步长为 16 px。一张 1024×1024 的图像会变成 4096 个 token。画布越大,token 数和耗时按比例增加。对于海报和信息图,1 到 2 百万像素的竖版比例是一个合理的起点。
MOSS-Image 接受哪些提示词格式?
MOSS-Image 接受自然语言提示词、booru 风格的标签序列、JSON 版式对象,以及三者的混合。渲染文字中的换行用 \n 或真实换行符控制。提示词上限为 4096 token,推荐使用英文,因为训练描述以英文为主。
对于 booru 标签,USERGUIDE 规定了顺序:质量、分级、元信息、年份、角色、系列、画师,最后是通用标签。
对于版式控制,提示词是一个 JSON 对象,包含 summary、items 数组、bbox_coord_space: "abs_centralized" 和 bbox_format: "yxyx"。每个 item 有 label(text、character 或 object)、描述、可选的 text 内容,以及一个以画布中心为原点、单位为像素的 bbox,格式为 [y_min, x_min, y_max, x_max]。论文的人类偏好测试发现,JSON 版式提示词得分 1622.87 Elo,而详细自然语言提示词为 1509.21,所以这种格式值得学习。字段说明见我们的版式 JSON 规范,完整示例见提示词指南。
应该用 MOSS-Image-Base 还是 MOSS-Image-SFT?
生成图片用 SFT。Base 是预训练模型,没有后训练也没有推理蒸馏,发布它是为了让社区能从一个干净的起点训练 LoRA 和全量微调。两个检查点架构相同,所以本文的设置对两者都适用。
GitHub README 描述 SFT 的输出文字分组更干净、白板式版式更有条理。如果你基于 Base 做微调,评估时要准备好依赖完整的 50 步、CFG 3 配方。
如何用 Diffusers 运行 MOSS-Image?
Diffusers 路径通过带 trust_remote_code=True 的自定义 pipeline 加载 SFT 检查点。GitHub 列出的要求:Python 3.10 或更高、PyTorch 2.9 或更高、NVIDIA CUDA、diffusers 0.38 或更高、transformers 5.3 或更高。bf16 DiT 权重为 10.2 GB。
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(
"OpenMOSS-Team/MOSS-Image-SFT",
custom_pipeline="pipeline_moss_image",
trust_remote_code=True,
)
这是模型卡中的加载代码。生成调用本身使用上面的设置:50 步、guidance scale 3、shift 5 和 uncond_skip_layers=[22]。官方 Gradio 应用提供三种显存模式:全部常驻 GPU、组件卸载和顺序卸载,供无法同时装下 DiT、9B 文本编码器和 VAE 的机器使用。官方还发布了 int8 DiT(5.4 GB)以及 int8 或 w4a8 版本的 Qwen3.5-9B(9.8 GB 或 7.3 GB)。
有没有更快的少步数设置?
官方没有。团队未发布蒸馏检查点,也没有推理速度数据。社区则有:发布后三天内,Hugging Face 上就出现了 4 步的"rapid-moss" LoRA 和 8 步的 DMD LoRA,还有 Kromoss 全量微调和 KohakuMoss LoRA 训练器。
这些适配器会改变步数,通常也会改变 CFG,所以加载它们之后本文的官方表格就不再适用。请按适配器作者的说明操作。截至 2026 年 10 月 20 日,Hugging Face 上 SFT 检查点有 16 个适配器,Base 有 15 个。它们都没有得到 OpenMOSS 的背书,所以在依赖某一个之前,先用你自己的提示词检查输出质量。如果你不想操心这些,可以直接在 MossImage 生成器中生成海报和文字密集型图片。
FAQ
我可以用少于 50 步来运行 MOSS-Image 吗?
用官方检查点不行;README 把 50 定为最低值。社区有 4 步和 8 步的 LoRA 可以加速,但它们不是官方的。
如果图片尺寸不是 16 的倍数会怎样?
模型的 16 px 步长意味着这些尺寸无法干净地映射到潜变量 patch 上。按照 USERGUIDE 的要求,生成前把每条边四舍五入到最近的 16 的倍数。
长文本提示词需要调高 CFG 吗?
不需要。官方指引是只在短提示词时才把 CFG 调到 3 以上。长文本和 JSON 版式已经携带足够的条件信息,保持 3 即可,让 50 步来完成工作。
关闭 SLG 会让 MOSS-Image 效果更好吗?
根据 USERGUIDE,关闭后图像看起来更真实,但可能破坏细节。做文字和版式工作时,保持 uncond_skip_layers=[22] 开启。
在 ComfyUI 里应该选哪个调度器?
按 ComfyUI Wiki 的说明,使用 euler 搭配 sgm_uniform。在 model-sampling 节点上把 shift 设为 5,CFG 保持 3。