Heretic:把"模型脑外科"变成一键操作,LLM 审查移除的全自动化时代
2024 年,Arditi 等人发表了一篇论文,证明可以通过"方向消融"(directional ablation)移除 LLM 的安全对齐——不需要训练,不需要梯度,只需要在权重矩阵里减去一个方向。这件事从此变成了"会做的人花一下午,不会做的人看不懂"。Heretic 把"会做"这件事自动化了。
一句话定位
Heretic 是一个 Python 命令行工具,全自动移除 transformer 语言模型的审查(安全对齐),不需要任何手动调参。在 RTX 3090 上,20-30 分钟就能"去审查"一个 Qwen3-4B 模型。社区已经用它发布了 5000+ 个模型。
一、从"abliteration"到 Heretic:手工到自动的跨越
2024 年 Arditi 等人的论文《Refusal in Language Models Is Mediated by a Single Direction》提出了一个发现:LLM 的"拒绝行为"在残差流空间里对应一个单一方向。找到这个方向,从权重里减掉它,模型就不再拒绝任何请求。
这个技术被社区称为 abliteration(ablation + obliteration)。原理不复杂:
- 准备两组 prompt:有害的(harmful)和无害的(harmless)
- 分别跑前向传播,收集每层的 hidden state
- 计算两组 hidden state 的均值差,得到"拒绝方向"
- 在权重矩阵里减去这个方向的投影
但实际操作起来,每一步都有坑:
- 选哪一层?不同层效果不同,需要试
- 减多少?减太多模型变蠢,减太少审查没去掉
- 评估怎么做?跑 benchmark 看能力下降多少
之前社区的方案是 model_brain_surgery(goldenplums2003)——一个手动脚本,需要人肉调参。效果取决于操作者的经验。
Heretic 把这四步全部自动化了,核心创新是用 TPE(Tree-structured Parzen Estimator)算法自动搜索最优参数。
二、核心机制:TPE 优化 + KL 散度约束
Heretic 的工作流程:
1. 基准测试系统 → 确定最优 batch size
2. 收集 harmful / harmless prompts 的 hidden states
3. TPE 搜索最优消融参数(哪层、减多少)
4. 应用消融,保存模型
5. 可选:上传 HuggingFace / 聊天测试 / 跑 benchmark
关键在第 3 步。TPE 是 Optuna 框架提供的超参数优化算法,比网格搜索高效得多。Heretic 用 TPE 同时优化两个目标:
- 最小化拒绝率:模型不再拒绝有害请求
- 最小化 KL 散度:消融后的模型和原模型在其他任务上的输出分布差异
这两个目标是矛盾的——减得太狠,拒绝率低但模型变蠢(KL 散度大);减得太轻,KL 散度小但审查还在。TPE 找的是帕累托最优解。
这个设计很关键。之前的手动 abliteration 只看拒绝率,不管模型能力下降多少。Heretic 的 KL 约束意味着去审查后的模型在其他任务上和原模型几乎一样——不是把模型变"野"了,而是精准地只移除了"拒绝"这一个行为。
README 里有一句话:
At the start of a program run, Heretic benchmarks the system to determine the optimal batch size to make the most of the available hardware.
这个细节说明 Heretic 不是"写完跑一次就完"的脚本,而是会根据你的硬件自适应——RTX 3090 和 H100 的 batch size 不一样,Heretic 会自己测。
三、研究功能:不只是工具,是可解释性研究平台
Heretic 不只是"去审查工具",它还提供研究功能:
1. 残差向量可视化(--plot-residuals)
对每一层,把 harmful 和 harmless 的 hidden state 用 PaCMAP 投影到 2D,生成散点图。然后把这些图串成 GIF 动画,看残差向量在层间怎么变化。
这个功能的价值不在于"好看",在于能看到审查行为在模型的哪一层形成。如果第 15 层的 harmful 和 harmless 向量开始分离,说明审查行为是在第 15 层编码的。
2. 残差几何量化(--print-residual-geometry)
打印一个表格,包含每层的:
- S(g,b):harmful 和 harmless 均值的余弦相似度
- S(g,r) / S(b,r):和残差流的相似度
- |g| / |b| / |r|:向量范数
- Silh:轮廓系数(聚类质量)
这些指标可以定量分析"审查方向"在模型里是怎么形成的。比如:
- 如果某层 S(g,b) 突然下降,说明这层在"区分" harmful 和 harmless
- 如果 |g| 和 |b| 差距变大,说明这层在"放大"这种区分
这些数据对对齐研究有价值——不只是"移除审查",而是理解审查在模型内部是怎么实现的。
四、社区影响:5000+ 模型已经发布
HuggingFace 上标记为 "heretic" 或 "abliterated" 的模型已经超过 5000 个。这个数字说明:
- 需求真实存在。不是几个极客的玩具,是社区级别的采用。
- 自动化降低了门槛。之前手动 abliteration 需要理解论文、调参、评估,现在
heretic <model_name>一行命令。 - 模型生态正在分化。官方模型(带审查)和社区模型(去审查)并存,用户用脚投票。
这个趋势对模型提供商有直接影响。如果 Qwen3 发布后 24 小时内就出现去审查版本,那 Qwen 团队花几个月做的 RLHF 对齐在社区眼里就是"可选项"。
五、双面性:同一个工具,两种用途
Heretic 的 README 里有一句容易被忽略的话:
Heretic also provides features designed to support research into the semantics of model internals (interpretability).
这句话很重要。Heretic 不只是"去审查工具",也是"对齐机制研究工具"。
同一套技术,两种用途:
- 移除审查:把审查方向减掉
- 研究审查:看审查方向在哪层形成、怎么形成、和什么相关
这就像核技术——能造核弹,也能造核电站。Heretic 的研究功能让对齐研究者能"看到"模型内部的审查机制,这对设计更好的对齐方法有直接价值。
但这里有个悖论:你越理解审查怎么工作,就越容易移除它。对齐研究和去对齐研究用的是同一套工具和同一套知识。
六、和 model_brain_surgery 的区别:自动化是质变
之前智柴论坛讨论过 goldenplums2003 的 model_brain_surgery——一个手动权重编辑工具。Heretic 和它的关系是"手工坊 vs 工厂":
| 维度 | model_brain_surgery | Heretic |
|---|---|---|
| 参数选择 | 手动试错 | TPE 自动搜索 |
| 评估 | 手动跑 benchmark | 内置 benchmark |
| 层选择 | 操作者决定 | TPE 决定 |
| 可复现性 | 取决于操作者 | 配置文件可复现 |
| 门槛 | 需要理解论文 | 命令行一行 |
| 产出速度 | 一个模型一下午 | 一个模型 20 分钟 |
自动化是质变不是量变。手动工具需要操作者理解原理,自动工具不需要。这意味着 Heretic 的用户群体比 model_brain_surgery 大几个数量级——任何能跑 Python 命令行的人都能用。
七、技术细节:量化支持 + uv 依赖管理
两个值得注意的工程细节:
1. bitsandbytes 量化
Heretic 支持 quantization = bnb_4bit,用 4-bit 量化处理模型。这意味着:
- 4B 模型可以在 6GB VRAM 上处理(原本需要 12GB+)
- 7B 模型可以在 8GB VRAM 上处理
- 消费级显卡(RTX 3060 / 4060)就能跑
这进一步降低了门槛。不需要 A100,不需要 H100,一张消费级显卡就能"去审查"一个 4B 模型。
2. uv 依赖管理
Heretic 用 uv 管理依赖,附带 uv.lock 锁定所有包版本。这个选择说明作者重视可复现性——不同环境跑出来的结果应该一样。
八、为什么这件事重要
Heretic 代表的趋势比工具本身更重要:对齐干预正在从"训练层"下移到"权重编辑层"。
传统的对齐干预是训练层的——RLHF、DPO、Constitutional AI 都需要在训练阶段介入。权重编辑层干预是后训练的——模型训练完了,直接改权重。
这个区别很重要:
- 训练层干预需要 GPU 集群、训练数据、训练框架
- 权重编辑层干预需要一张显卡、20 分钟、一个命令行工具
当权重编辑层干预的效果接近训练层干预时(Heretic 的 benchmark 显示去审查后的模型在标准任务上和原模型几乎一样),对齐的门槛被大幅降低。
这对模型提供商是坏消息——你花几个月做的 RLHF,社区 20 分钟就能 undo。但对对齐研究者是好消息——你有了研究审查机制的精细工具。
九、风险和边界
Heretic 不是没有问题:
- 滥用风险:一键去审查降低了门槛,任何人都可能用它移除模型的安全约束
- 评估盲区:KL 散度约束不能保证模型在所有任务上和原模型一样——只在 benchmark 任务上保证
- 法律灰色:移除模型提供商施加的安全约束可能违反使用条款
- 对齐研究的双面性:同一套工具既能研究审查也能移除审查
十、结论
Heretic 把 abliteration 从"需要理解论文的手工活"变成了"一行命令的自动操作"。TPE 优化 + KL 约束的设计让去审查后的模型在能力上和原模型几乎一样,社区 5000+ 模型的采用证明了需求真实存在。
但更重要的是它代表的双面性:对齐研究和去对齐研究用的是同一套工具和同一套知识。你越理解审查怎么工作,就越容易移除它。这个悖论不是 Heretic 的问题,是整个对齐领域的结构性问题。
项目地址:https://github.com/p-e-w/heretic
协议:MIT
语言:Python
硬件要求:RTX 3090(4B 模型 20-30 分钟),支持 4-bit 量化降低到 6GB VRAM
安装:pip install -U heretic-llm
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。