提示词权重语法与原理

核心 约 15 分钟 权重语法token 加权attention coupling提示词方法论
前置知识点(建议先学)
学习状态:

一句话定义

(word:1.2) 这类权重语法在实现层对特定 token 的注意力贡献做缩放——主流实现(ComfyUI/SD WebUI 的 conditioning 机制)通过把 token 嵌入与掩码权重相乘并重排注意力掩码,让被加权词「说话更大声」。

为什么重要

权重语法是提示词从「字符串」升级为「向量控制台」的一步:模板(kp-017)决定说什么,权重决定说多重。但它也是工具间不兼容的重灾区——同一语法在不同实现里数学行为不同,不了解实现差异就把社区 prompt 原样粘贴,是「别人的神咒到我这里失灵」的第一大原因。

前置知识

kp-011(交叉注意力与 token 嵌入);kp-017(结构模板)。

核心概念

原理与机制

模型本身没有「权重语法」这个概念——网络只认嵌入序列。权重是推理端推理前的嵌入手术:分词得到嵌入后,实现层找到目标 token 的位置,对其嵌入向量乘标量 w,并(主流 attention-coupling 实现中)同步调整注意力掩码使该 token 与所有空间位置的耦合强度按 w 缩放。净效果:该词在每层每步的注意力图中权重放大,对采样方向的「话语权」增强。两个推论:其一,权重作用于嵌入层而非注意力输出的实现对 w 的响应更线性,作用于输出的实现(早期方案)会出现非预期放大——这正是不同工具「同数值不同效果」的机制根源;其二,权重无法创造模型不知道的概念,只能在其已知语义方向上移动采样重心。

历史包袱:「(masterpiece:1.2)」类写法源于 SD1.5 时代的统计现实(画质词与好图分布强相关),在新模型(SDXL/Flux 系)上画质词与分布的相关性消失,权重只是放大了一个无意义方向——权重语法放大的是「该词本有的作用」,包括零。

高级语法的一致原理:交替语法 [a|b] 让两词在去噪步序列上轮流出现(先定 a 的基调、逐步掺入 b);区间语法 [a:b:0.4] 在前 40% 步用 a、后 60% 用 b,利用「构图在前期决定、细节在后期补全」的阶段规律(与 kp-014 的结束控制步同理)。

公式与推导

嵌入手术的近似表达:设目标 token 嵌入为 e_i,加权后 ê_i = w·e_i,交叉注意力中该项贡献变为 softmax(QKᵀ/√d) 的第 i 列按 w 放大后的加权和。严格实现还有掩码重排与归一化细节,各工具不同——记结论:「同语法、同数值、不同实现,语义效果不可迁移」。

图示

提示词字符串→分词 + 嵌入→实现层:嵌入 ×w + 掩码调整(此处是语法生效点)→交叉注意力注入(机制同 kp-011)

直观类比

加权像调音台的推子:模型是个乐队(每个 token 一件乐器),推子只能改变各声部音量,不能让鼓手改吹小号(不能创造新概念)。把无意义声部(masterpiece)推到顶,只会得到刺耳,不是动听。

实例或案例

常见误区

自测题

  1. (word:1.2) 在主流实现里改动了什么?

答案要点:目标 token 的嵌入按 w 缩放并同步调整注意力耦合,使该词对画面的引导被放大。

  1. 为什么同一加权提示词在 ComfyUI 与 SD WebUI 效果不同?

答案要点:实现层(嵌入缩放 vs 输出缩放、掩码处理、解析语法集)不同,数值不可迁移。

  1. (masterpiece:1.4) 在新模型上大概率无益,机制原因是什么?

答案要点:权重只放大该词本有的统计作用;新模型上画质词与好图分布的相关性已消失,放大的近似为零方向。

与其他知识点的关系

kp-011 是机制底座;kp-017 提供权重的施加对象(结构化词项);kp-020 把权重调整纳入受控迭代;kp-021 说明 ComfyUI 中这些语法的 conditioning 层实现位置。

延伸阅读

ComfyUI 文档中 conditioning 与高级 clip 编码节点说明(本库不重复操作细节,操作手册见独立站点 comfyui);SD WebUI 官方 wiki 的 prompt 语法页展示了另一种解析行为,可对照理解「实现差异」。

相关知识点