区分 fine-tune、abliteration、raw base 三种主流模型修改技术栈,阐明各自能力边界与失效模式。
这些模型是开源权重生态中一个庞大且显眼的组成部分,关于它们的有趣问题并不在于政治立场,而在于:针对某一狭窄行为的修改往往会波及到其他行为,而模型卡片几乎从不说明这一点。
三种不同的技术共享着相互重叠的标签,它们有着不同的效果和不同的失败模式。
微调以遵从(Fine-tuned to comply)。在一个人工审核通过回复的数据集上做额外训练。会改变大量权重,既能教会新行为也能移除旧行为,并继承任何社区微调的所有风险——包括数据集中混入的其他内容。
消融或正交化(Abliterated or orthogonalised)。通过一次外科手术式的权重编辑,移除模型表达拒绝的能力,无需进一步训练。生产成本极低,这也是这类模型如此之多的原因。
完全没有任何指令微调的基础模型(A base model with no instruction tuning at all)。与其说是"未审查",不如说是全方向未对齐:它既不遵循指令,也不维持对话格式,只是续写文本而非回答问题。经常被错误标记。
同样值得精确说明的是,这三种技术都不做什么。移除拒绝能力并不会增加知识。一个现在回答了它曾经拒绝的问题的模型,并不会因此就更有可能正确回答它——它失去的是说"不"的能力,而不是获得了说出真相的能力。
这项技术建立在一个关于拒绝如何表示的实证发现之上。将一组有害提示和一组无害提示通过模型运行,取每组在某一层的平均隐藏状态激活值,然后相减。得到的向量——一个"拒绝方向"——结果惊人地一致:将其添加到激活值中会诱导出拒绝,在普通请求上移除其分量则会让拒绝停止。
Abliteration 通过编辑权重使这种移除永久化。每一个写入残差流的矩阵都被投影,使其无法再沿该方向输出任何分量:
r = normalise(mean_act(harmful) - mean_act(harmless)) # 拒绝方向
for W in every matrix writing to the residual stream:
W <- W - r (r^T W) # 沿方向 r 剥离分量
# 无训练、无梯度、除了两组提示外无需任何数据。
# 结果是一个无法表达拒绝的普通检查点。
由此得出两个结论。它非常便宜——在普通硬件上几分钟即可,无需训练过程——这解释了为何这类上传如此大量出现。而且它很粗暴:方向是从两组提示估计出来的,任何恰好沿同一方向分布的其他东西也会被一并移除。
这一节在模型卡片中是缺失的。编辑移除了激活空间中的一个方向,而这些模型中的方向并不是每个都干净利落地只对应一种行为。
谨慎与拒绝一同被去除。对冲、不确定表达、安全警告和"我不确定"经常与同一表征纠缠在一起。一个从不拒绝的模型通常也从不怀疑,这对准确性的损害比拒绝行为本身更严重。
指令遵从能力可能退化。一个经过调校遵循指令的模型,调校的是遵循所有指令,包括那些产生拒绝的指令。编辑这种能力会影响通用能力。
遵从并非有选择性的。模型也会失去拒绝错误框架、错误或不可能请求的能力。它会尝试本应被反驳的东西,在一个 Agent 化场景中,这意味着执行一个本应被质疑的指令。
微调变体携带其数据集。当技术是训练而非编辑时,数据集中的其他所有东西都会一并带来——风格、偏见、格式习惯,以及其中的任何质量问题。
量化重包装会叠加问题。这些模型大多数以某个微调变体再量化的 GGUF 格式流通。每一步都是质量损失且无人测量的地方。
整个问题是经验性的,测试方法与同领域其他地方使用的配对设计相同:基础模型对修改后模型,相同提示,相同设置,差异仅归因于修改。
使用修改所基于的精确基础模型,量化等级相同。将一个四比特的消融版本与一个十六比特的基础模型比较,测量的是两个变化同时叠加的效果。
温度 0,相同种子,两侧使用相同的聊天模板。
三组提示。你的真实工作负载;一组通用指令跟随测试;以及一组已知答案的校准问题(模型应该在其中表达不确定性)。第三组是附带损害显现的地方,也是人们遗漏的那一组。
先机械评分。格式有效性、任务成功率,以及模型对无法回答的问题给出自信答案的频率。
读差异,而不是只看修改后的输出。单独看可能没问题的输出,可能仍然比基础模型对同一提示产生的结果更差。
如果修改后的模型在你的真实工作上明显更差,诚实的结论是:拒绝能力并非约束条件——这是一个常见的结果,因为提示词框架和一条好的 system prompt 可以在不动权重的情况下解决大量拒绝。
确实存在想要一个不拒绝的模型的合理理由。安全研究和红队演练,模型必须讨论攻击才能帮助防御。涉及黑暗主题的小说。临床、法律和减少伤害场景,通用拒绝策略会对专业需求误触发。内容审核研究,需要生成被审核的同类型内容。以及一个真正频繁、平凡的案例:非英语或领域特定文本的误报,拒绝本身就是一个错误。
不会改变的是责任归属。无论你部署什么,你都是运营者,输出属于你。基础模型的许可证及其包含的任何可接受使用政策继续约束你——修改权重不会移除许可证条款,有几家许可证体系特意附加使用政策,就是为了使其在衍生作品中继续生效。如果你向他人提供修改后的模型,你就承担了原始微调本在为你处理的全部内容策略问题,你现在需要自己的过滤、日志和滥用处理。这是一个真实的工程成本,应该纳入决策考量。